在Android游戏中动态计算圆的点数

时间:2010-08-05 16:47:39

标签: android geometry game-physics

如果每次绘制一个帧时我的X坐标都会递增,我可以从数学库中使用什么公式,以使Y坐标围绕一个圆周的圆周移动,从而产生幻觉围绕连续移动的中心点的轨道物体?

我已经看到它可能涉及罪或cos,但我不确定如何相应地调整每帧的变量。

非常感谢你的帮助

2 个答案:

答案 0 :(得分:1)

如果X坐标每次递增,则无法建立一个完整的圆,因为X坐标必须递减一半。

你想要的是极坐标:角度为θ,半径为r。你的r将保持不变,你的theta会不断增加。然后你的x和y是:

x = r * cos(theta)
y = r * sin(theta)

答案 1 :(得分:0)

ox,oy成为圆圈的原点,px,py为圆的边缘上的一个点,半径为r

给出:(px-ox)^2 + (py-oy)^2 = r^2圈定义

解决py:

(py-oy)^2 = r^2 - (px-ox)^2

(py-oy) = sqrt(r^2 - (px-ox)^2)

py = sqrt(r^2 - (px-ox)^2) + oy< ---

因此,当您使用框架增加px时,您可以通过重新计算上述公式找到相应的py