2011-03-25 61 views
2

我正在開發一款Android遊戲,並且想要實現一個2D網格以將重力對遊戲場的影響可視化。我想根據我的運動場上的各種物體來扭曲網格。我在尋找的效果類似於從處理庫中的以下內容:用於可視化重力失真的算法(2D)

gravity

除了我的電網將是simpler- 2D和從頂部看嚴格,因爲如果在操場上傳低頭。

有人可以指點一個算法來繪製這樣的網格嗎?

我想出的一個想法是畫線,就好像它們是「粒子」一樣 - 從屏幕的一端開始,在多個線段中繪製線條,將每個線段視爲一個粒子,計算效果在每個部分的位置重力。

該應用程序旨在運行在Android上。

感謝

+0

我在閱讀這個問題時想到了你的粒子想法。我認爲這是最好的方法 – Martin 2011-03-26 15:47:52

回答

2

我想提請各行作爲一個單獨的細分,如你所說。如果網格很稀疏,則可能是最快的。

如果您從上面查看網格,則需要計算xy座標位移。最簡單的方法是實際沿着z軸進行位移,然後用x_result = x/zy_result = y/z進行假想。您設置了z=1並確保只相對稍微改變它(例如,+ - 0.1)。

您的z應與1/(distance to the sphere)^2的總和成比例。這模擬重力如何工作 - 它與距離的平方漸變。好消息 - 距離的平方意味着計算delta_x^2 + delta_y^2 - 所以你可以更快地節省自己的平方根計算。