我正在开发Android游戏,并希望实现2D网格,以显示重力对比赛场地的影响。我想根据我竞技场上的各种物体扭曲网格。我正在寻找的效果类似于处理库中的以下内容:
除了我的网格将更简单 - 2D,并严格从顶部查看,就好像俯视游戏区。
有人能指出我用于绘制这样一个网格的算法吗?
我提出的一个想法是将线条绘制为好像它们是“粒子” - 从屏幕的一端开始并在多个线段中绘制线条,将每个线段视为粒子,计算效果每个部分位置的重力。
该应用程序旨在在Android上运行。
由于
答案 0 :(得分:2)
如上所述,我会将每一行绘制为一个单独的段。如果网格稀疏,则可能是最快的。
如果您正在查看上面的网格,则需要计算x
和y
坐标位移。最简单的方法是沿z
轴实际移动,然后使用x_result = x/z
和y_result = y/z
伪造视角。您设置z=1
并确保仅稍微改变它(例如+ - 0.1)。
你的z应该与1/(distance to the sphere)^2
的总和成正比。这模拟了重力的工作原理 - 它以距离的平方逐渐变细。好消息 - 距离的平方意味着计算delta_x^2 + delta_y^2
- 所以你自己保存平方根计算==更快。