2011-03-25 75 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 - 所以你可以更快地节省自己的平方根计算。