1

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

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

非常感谢您的帮助

4

2 回答 2

1

如果你的 X 坐标每次都增加,你就不能做一个完整的圆,因为你的 X 坐标有一半的时间必须减少。

你想要的是极坐标:角度的theta和半径的r。您的 r 将保持不变,而您的 theta 将不断增加。那么你的 x 和 y 是:

x = r * cos(theta)
y = r * sin(theta)
于 2010-08-05T16:51:05.063 回答
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通过重新计算上述公式来找到合适的值。

于 2010-08-05T16:54:59.187 回答