如果每次绘制一个帧时我的X坐标都会递增,我可以从数学库中使用什么公式,以使Y坐标围绕一个圆周的圆周移动,从而产生幻觉围绕连续移动的中心点的轨道物体?
我已经看到它可能涉及罪或cos,但我不确定如何相应地调整每帧的变量。
非常感谢你的帮助
答案 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
。