討論區快速選單
知識庫快速選單
討論區最近新進100則主題 掌握Salesforce雲端管理秘訣
[ 回上頁 ] [ 討論區發言規則 ]
計算受風向影響的投射軌跡
更改我的閱讀文章字型大小
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/26 下午 02:07:33
我想做出像下列小遊戲一般的投射軌跡

http://www.gamebrew.com/play-artillery-live

雖然, 關於 投射 和 空氣阻力 的相關資料有很多, 但是, 大部份都假設空氣是靜止的. 加上 風向影響的, 始終都是找不到.

請問應該如何 計算受風向影響的投射軌跡 呢?

先謝 ^^
作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/26 下午 11:56:00
你的問題可能比我想像的困難.

你也許可以考慮阻尼系統.
風向跟重力不一樣,他不具有無限加速的性質,所以用向量來表示是行不通的.
假設無重力空間中有一個靜止的物體,環境風向向右100m/s.
這個物體的極限速度就是向右100m/s.
反過來說就是有一個物體在環境中以向左100m/s的速度一直衰退到0.
臨界阻尼.

一般衰退函數可以用 y(t) = Ce^(-at) 表示,C常數初值,e自然常數,a衰退率,t時間

參考來源:工程數學

作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 12:13:31
雖說資料比較少, 但是也不是全沒資料的.

空氣阻力, 跟速度的2次成正比的, 而系數則是由 空氣密度 物體形狀 和 正向面積 決定.

假設 空氣是靜止 物體以速度 V 前進, 空氣阻力 (P) 就可以寫成, D 是常數.

P = -D|V|V


要把風速也考慮進去, 其中一個可行的方案, 就是計算空氣阻力時, 把速度 V 換成 相對風速 Vrw, 即

P = -D|Vrw|Vrw

( Vrw = V-Vw, Vw 是風速. )

得到 受風向影響的空氣阻力 之後, 其餘的就跟一般的投射軌跡推論沒多差別了.


可是... 這個做出來的結果, 跟上文所列的小遊戲有別顯的差別, 我想, 我應該是遺漏了某些因素吧.



作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 12:42:53
阻力不是力喔.
阻力是一個衰退函數.
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 01:00:07
>阻力不是力喔.
>阻力是一個衰退函數.

奇怪... 阻力, 也是力, 我高中時的物理課老師是這麼說的. ^^

關於空氣阻力的物理課筆記...
http://farside.ph.utexas.edu/teaching/336k/lectures/node40.html
作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 01:06:17

>
>奇怪... 阻力, 也是力, 我高中時的物理課老師是這麼說的. ^^
>
>關於空氣阻力的物理課筆記...
>http://farside.ph.utexas.edu/teaching/336k/lectures/node40.html

我是靠自己的認知寫的拉.
反正阻力的性質跟一般的向量力不太一樣就是了.
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 01:25:07
就算 空氣阻力 跟速度有關, 它仍然是力, 跟 地心吸力 那個 "力" 一般可以用牛頓定律去計算, 從來都沒有什麼 "向量力" 和 "非向量力" 的講法的.

你, 是絕對可以把 阻力 和 地心吸力 加起來, 得出 淨力, 然後除以 質量 得出 加速率, 然後... 然後...
作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 01:53:40

>就算 空氣阻力 跟速度有關, 它仍然是力, 跟 地心吸力 那個 '力' 一般可以用牛頓定律去計算, 從來都沒有什麼 '向量力' 和 '非向量力' 的講法的.
>
>你, 是絕對可以把 阻力 和 地心吸力 加起來, 得出 淨力, 然後除以 質量 得出 加速率, 然後... 然後...

然後... 然後...你會發現阻力是個衰退函數...

作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 02:33:59
>然後... 然後...你會發現阻力是個衰退函數...

多詭異的想法...

如果我碰到牛頓的話, 我把你的獨特見解跟他說說看, 看看他會不會接受你的獨特見解吧. 如果他也覺得你的獨特見解真的比較好, 我才把我高中時的物理教科書扔掉吧.
作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 02:40:04

>
>多詭異的想法...
>
>如果我碰到牛頓的話, 我把你的獨特見解跟他說說看, 看看他會不會接受你的獨特見解吧. 如果他也覺得你的獨特見解真的比較好, 我才把我高中時的物理教科書扔掉吧.

可以work就好了,管他那麼多.
王40加油~
作者 : llm(排骨湯)
[ 貼文 101 | 人氣 1452 | 評價 200 | 評價/貼文 1.98 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 02:53:44

>阻力不是力喔.
>阻力是一個衰退函數.
>

好吧.
正確的說法應該是"阻尼"是個衰退函數.
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 03:43:43
>好吧.
>正確的說法應該是'阻尼'是個衰退函數.

Damping 只是泛指波幅消減的現象, 說它是一個函數, 好像並不適當, 來來來, 既然你說它是一個函數, 即是隱喻了它能被量化, 這麼... 請問你 Damping 的單位是什麼呢?

其實我真的很不明白, 為什麼一定要找一個物理名堂 然後說是 衰退函數 呢? 這個... 跟我的問題有什麼關係? 這部份的討論最好歇一歇, 因為實在離題太遠了... ...
作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 上午 10:49:06
遊戲中的使用物理運算都是"差不多"物理...just easy and looking good
力的模型採用總合力計算

風力只是當成另一個 動態可以任一方向的力來計算

空氣阻力跟推力...順風逆風的差別
作用力與反作用力 只不過符號相反正負之分 一樣都是力
看法角度不同
把風當成阻尼系統,運算都是採用減去 ..
當逆風時候 阻尼是正數 所以使運動體總合的velocity減少
當順風時候 阻尼是負數 所以使運動體總合的velocity增加


不過為了遊戲物理模型的一致性..都是加法運算 力量是用一個向量跟力的大小表現

struct Impulse
{
    float3 vector;
    float force;
};

阻尼只是 vector * force 的結果

地心引力 (0,-1,0) * 9.8 = (0,-9.8,0)
所以物體的velocity(0,0,0)如果沒有其他的外力的話, 加上這就會產生往下的運動..
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 12:24:16
>把風當成阻尼系統,運算都是採用減去 ..
>當逆風時候 阻尼是正數 所以使運動體總合的velocity減少
>當順風時候 阻尼是負數 所以使運動體總合的velocity增加

>
>struct Impulse
>{
> float3 vector;
> float force;
>};
>
>阻尼只是 vector * force 的結果
>

這番話似是而非的. 要硬併程式, 也無可厚非, 但是, 請不要隨意的把物理概念胡亂解釋, 這樣太過亂來了吧... ...
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 12:35:52
關於 Impulse 的物理定義
http://en.wikipedia.org/wiki/Impulse

關於 Damping 的資料
http://en.wikipedia.org/wiki/Damping

關於 受空氣限力影響下的投射軌跡計算
http://wps.aw.com/wps/media/objects/877/898586/topics/topic01.pdf
作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 03:29:21

>>把風當成阻尼系統,運算都是採用減去 ..
>>當逆風時候 阻尼是正數 所以使運動體總合的velocity減少
>>當順風時候 阻尼是負數 所以使運動體總合的velocity增加
>
>>
>>struct Impulse
>>{
>> float3 vector;
>> float force;
>>};
>>
>>阻尼只是 vector * force 的結果
>>
>
>這番話似是而非的. 要硬併程式, 也無可厚非, 但是, 請不要隨意的把物理概念胡亂解釋, 這樣太過亂來了吧... ...

當然這是遊戲裡面的算法..會簡化很多計算.. 開頭第一句話就提到了
如果你是堅持古典物理學的硬派角色就當我沒說過吧 ......
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 04:28:29
請不要誤會, 硬併程式是絕對可以接受的做法 (實在我經常也會這樣做的), 簡化複雜的公式去方便運算, 也無不妥.

唯一不妥的地方, 是你不應該把物理概念胡亂的解釋. 錯誤解釋 比 沒有解釋 更糟糕呢.

>如果你是堅持古典物理學的硬派角色就當我沒說過吧 ......

我並不是要堅持古典物理學, 實在, 對於編程式的我, 只要程式做出來就好, 不過, 如果你要解釋, 就不可以解錯, 因為 這種有偏差的物理概念, 如不糾正, 就會在這討論區流謊百世了.

作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 04:54:37
那你也指出錯誤的地方..所謂教學相長...而不是非我族類皆為異族
每個人思考的角度不一樣..見解也不同...

何必斷章取義安我個胡亂的解釋物理帽子
這裡明明是遊戲程式設計討論區...而不是流體力學討論區

非得大家想法要跟你一致才是正確的

還是說沒有修過古典物理學不能在此回文,搞的像一言堂...



作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 07:21:58
>那你也指出錯誤的地方..所謂教學相長...而不是非我族類皆為異族

奇怪... 上文不是已經指出了錯誤的地方, 並加註了正確的資料網址嗎?

>每個人思考的角度不一樣..見解也不同...
>非得大家想法要跟你一致才是正確的

如果你在說一些基本的物理概念的話, 真的沒有 可以按個人喜好 任意闡釋 的空間, 難道我把 加速率 闡釋成 速率 也可以嗎?

>何必斷章取義安我個胡亂的解釋物理帽子
>這裡明明是遊戲程式設計討論區...而不是流體力學討論區
>還是說沒有修過古典物理學不能在此回文,搞的像一言堂...

斷章取義啊... 安帽子啊... 一言堂啊... 就假設我真的說錯了, 先向你賠個不是吧, 我沒真的沒惡意的...





作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/27 下午 07:53:11

原來你是不喜歡我的Impulse名稱
那我改成 struct myforce{.......}; 這樣你滿意了嗎?


>斷章取義啊... 安帽子啊... 一言堂啊...

你的態度有問題..很快就會把人得罪光....什麼啊 什麼啊 啊

>就假設我真的說錯了, 先向你賠個不是吧, 我沒真的沒惡意的...
是我的錯 我不該拿專有名詞的來胡說八道......你沒惡意 但是可以感受到你的酸義

作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/30 上午 08:43:20
我支持Aming大
一開始就說是"差不多"物理了
底下所說的物理名詞當然就不是以一般的定義去看
那只是拿來做個比較讓你了解目前在說什麼而已
不然同樣的一篇文章你要用什麼名詞來解說呢?
那不過就是在解說阻尼在程式中可以這樣硬拼罷了
不然不要用到「空氣阻力」、「阻尼」、「velocity」、「impulse」…等等物理方面的名詞
請你照著解說一下在程式中硬拼風力系統要怎麼做以及這麼做的意義吧

再說到立場問題,人家也是好心回答你的疑問
結果得到的是你一句「流謊百世」
那誰還敢回答你的問題?
你才剛在說物理名堂跟你的問題有什麼關係,離題太遠,這會兒卻又開始計較人家的物理名詞解釋不正統,這個正不正統又跟你的問題什麼關係?
你怎麼不是拿這種硬拼法跟你所想做出來的效果之間的差異來回文?
實在搞不懂你是想做出同樣的效果還是來討論物理學的
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/30 下午 01:09:27
沒人說不可用物理名詞, 但是要用, 就不可用錯. (好像重複說了很多次了...)
作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/30 下午 01:58:49
也許我的三隻小豬的物理錯到罄鑿難書,牛頓地下有知也會流淚
但是有時候態度比知識更重要

原PO發了一個問...(排骨湯)好心進來搶了沙發坐
也許他提供的方法不是樓主想要的答案
但是來者是客..應該以禮代之....

>多詭異的想法...
>如果我碰到牛頓的話, 我把你的獨特見解跟他說說看, 看看他會不會接受你的獨特見解吧. 如>果他也覺得你的獨特見解真的比較好, 我才把我高中時的物理教科書扔掉吧.

這種明嘲暗諷.. 看了叫人受不了
這種幫不了人又被嫌高中物理沒學好, 好心被雷親
(排骨湯)修養比較好自己摸摸鼻子走了...

知識可以拿來教育別人,你卻來拿來教訓別人
然後還在堅持已見,完全不知道重點在哪裡
這應該說 自識甚高趾高氣揚 嗎?
作者 : theone_mark(mark) ASP.Net優秀好手貼文超過200則
[ 貼文 308 | 人氣 2721 | 評價 1330 | 評價/貼文 4.32 | 送出評價 17 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/30 下午 02:48:28
>得到 受風向影響的空氣阻力 之後, 其餘的就跟一般的投射軌跡推論沒多差別了.
>可是... 這個做出來的結果, 跟上文所列的小遊戲有別顯的差別, 我想, 我應該是遺漏了某些因素吧.

如果你知道國防部的彈道計算程式是用超級電腦跑的,那你不是遺漏了某些因素,是漏很大了。



>如果你要解釋, 就不可以解錯, 因為 這種有偏差的物理概念, 如不糾正, 就會在這討論區流謊百世了.

我想Aming只是提出遊戲實際上可行的作法經驗,他沒有曲解物理概念,您太言重了。



>我想做出像下列小遊戲一般的投射軌跡
>http://www.gamebrew.com/play-artillery-live

如果只想做個小遊戲,那我感覺不出你提問的重點在哪?
當然如果你是想一套彈道模擬程式去嗆國防部的話又另當別論了。
PS:請記得升級電腦
作者 : ma_hty(白老鼠(Gary))討論區板主 OpenGL卓越專家DirectX優秀好手C++頂尖高手貼文超過2000則人氣指數超過70000點
[ 貼文 2189 | 人氣 89850 | 評價 10120 | 評價/貼文 4.62 | 送出評價 79 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/5/30 下午 03:51:08
>如果只想做個小遊戲,那我感覺不出你提問的重點在哪?
>當然如果你是想一套彈道模擬程式去嗆國防部的話又另當別論了。

我不是想做小遊戲, 實在我是想寫個程式去對付上文提到的小遊戲, 這樣做純粹只是為了娛樂 (好像是比較奇怪一點的娛樂吧).

順帶一提, 其實我已經把問題都解決, 而且程式都寫完了.
作者 : daniel(冷眼)討論區板主 VC++優秀好手遊戲程式設計優秀好手DirectX優秀好手C++優秀好手貼文超過1000則人氣指數超過70000點
[ 貼文 1564 | 人氣 84169 | 評價 6990 | 評價/貼文 4.47 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人ma_hty註記此篇回應為最佳解答 2007/6/1 下午 06:44:58
其實大部份的東西 物理引擎都有提到
建議可以去參考一下

夏天火氣不要太大
作者 : afck3200(vince) 人氣指數超過10000點
[ 貼文 66 | 人氣 11310 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/28 上午 11:00:37

>我想做出像下列小遊戲一般的投射軌跡
>
>http://www.gamebrew.com/play-artillery-live
>
>雖然, 關於 投射 和 空氣阻力 的相關資料有很多, 但是, 大部份都假設空氣是靜止的. 加上 風向影響的, 始終都是找不到.
>
>請問應該如何 計算受風向影響的投射軌跡 呢?

-> http://www.pushwap.com.cn/X-Space/
作者 : ice_emissary(燃燒的大地) 貼文超過200則
[ 貼文 409 | 人氣 0 | 評價 1890 | 評價/貼文 4.62 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/3 上午 12:17:31
我記得這個問題不是太難(就以簡單的遊戲來說的話),我用以下類似的式子去計算船隻阻力(我做的船隻運動遊戲):

假設物體是一個球體的話,按照先前學的流體力學,物體所受阻力為:
V = SolidV - WindV
F = 0.5*AirDensity*V*abs(V) * Area * Cd

其中
F : 球阻力(向量)
SolidV : 球速度(向量)
WindV : 環境風速(向量)
AirDensity : 空氣密度
Area : 球體截面積
Cd : 阻力係數,可在流體力學相關書籍上查表得,或者視遊戲需求自己猜一個不會太誇張的數字。

然後就可以計算加速度A和速度變化量dV,再更新SolidV即可用新的速度計算物體的下一個位置。
A = -F/M, M : 物體質量
dV = A*dT, dT : 時間間距
SolidV = SolidV + dV

不知這樣有沒有解決問題?我是覺得簡單的物理模擬不會太難,也不需要用超級電腦,實在不需為此動肝火。
不過如果有人想用整套CFD來計算這個問題我就不知道了!至少我的船用上面的式子還跑的頗順。
作者 : ice_emissary(燃燒的大地) 貼文超過200則
[ 貼文 409 | 人氣 0 | 評價 1890 | 評價/貼文 4.62 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/1/3 上午 12:17:45
我記得這個問題不是太難(就以簡單的遊戲來說的話),我用以下類似的式子去計算船隻阻力(我做的船隻運動遊戲):

假設物體是一個球體的話,按照先前學的流體力學,物體所受阻力為:
V = SolidV - WindV
F = 0.5*AirDensity*V*abs(V) * Area * Cd

其中
F : 球阻力(向量)
SolidV : 球速度(向量)
WindV : 環境風速(向量)
AirDensity : 空氣密度
Area : 球體截面積
Cd : 阻力係數,可在流體力學相關書籍上查表得,或者視遊戲需求自己猜一個不會太誇張的數字。

然後就可以計算加速度A和速度變化量dV,再更新SolidV即可用新的速度計算物體的下一個位置。
A = -F/M, M : 物體質量
dV = A*dT, dT : 時間間距
SolidV = SolidV + dV

不知這樣有沒有解決問題?我是覺得簡單的物理模擬不會太難,也不需要用超級電腦,實在不需為此動肝火。
不過如果有人想用整套CFD來計算這個問題我就不知道了!至少我的船用上面的式子還跑的頗順。
作者 : bluetulip(BlueTulip) Visual Basic優秀好手貼文超過1000則人氣指數超過10000點
[ 貼文 1127 | 人氣 28366 | 評價 4070 | 評價/貼文 3.61 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/5/6 下午 01:07:39
看了開頭那一大串你來我往的
版大....咱聚樂部要不要學巴哈姆特
設一個BP功能算了 ><"

基本上你要考慮風阻對物體的影響的話
本來就應該是去物理討論區,而不是來這的
程式,說穿了只是拿來模擬用的工具
如果你的問題是在設定上,那應該先在其它領域解決掉
至於版友回覆你說那不是衰弱函數(呃...好像是這詞吧 希望沒記錯 @@)
他應該是指寫一個函數來處理依風力要衰弱物體多少動能的意思吧?
我實在搞不懂為啥會牽扯出一堆到底該屬於物理上那個領域的問題....
你的問題在物理層面,他一開始的意思應該是程式面上的講法
當然名稱上跟物理上的說法是不一樣的啊 = =|||

話說回來
你來這發問,也是希望能解決一時間轉不過來的思考吧?
那又何必把時間跟篇幅砸在那些名詞的爭吵上?
說真的,看著前面那堆來來回回已經完全離題的爭辯
其實非常非常想要直接跳出離開,順便建議版大直接把這篇給刪文處理掉
 板主 : 小呆 , 冷眼
 > 遊戲程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 遊戲程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
遊戲程式設計
1 aming 2280 
2 冷眼 1450 
3 阿西德倫 510 
4 PLAYER 390 
5 garf 340 
6 Akira 330 
7 白老鼠(Gary) 290 
8 BlueTulip 270 
9 東昇 250 
10 CCL 240 
遊戲程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.109375