2010-04-19 92 views

回答

10

使用代碼here爲出發點。

+0

我想在iphone中實現不爲java。 – 2010-04-19 07:28:18

+10

...然後開始翻譯算法。這不是讓其他人編寫代碼的網站,而是一個可以獲得幫助和指導的網站。您應該將其標記爲正確的答案。 – coneybeare 2010-04-19 12:47:13

5

當然,很容易做到。通過求解波動方程在兩個方面入手:

http://en.wikipedia.org/wiki/Wave_equation

然後編寫使用模擬波扭曲圖像的程序。

更新:kvb指出,這可能是比必要更多的工作,現在我想多了一點,它可能是。與其解析波動方程,不如寫一個簡單的物理引擎,以其他方式模擬表面。例如,您可以將曲面表示爲平面網格點,其中每個點都通過彈簧連接到其鄰居。彈簧的物理特性很容易模擬;您只需製作一個與彈簧偏轉成比例的恢復力即可。確保添加阻尼效果,以便系統最終穩定下來。移動飛機上方的一個點並伸展其彈簧應該通過網格發出漣漪。

+1

有些東西告訴我,「你所要做的只是...」或許是輕描淡寫。例如,它並不完全解決整個顯示動畫部分......然而,這個答案是通過一個實際鏈接到相關代碼的答案來投票的! – kvb 2010-04-19 16:42:02

+1

@kvb:那裏,那是更好嗎?海報提出了想法,我給了他們想法。 – 2010-04-19 18:52:09

+1

不要誤解我的意思 - 我喜歡你的glib答案。不過,在這種情況下,我認爲海報可能需要更多的工作,而不僅僅是一個帶有偏微分方程的頁面的鏈接,而「輕鬆完成」可能意味着實現的努力。 – kvb 2010-04-19 19:41:13