画布中如何让对象沿着圆形路径移动

9

我在画布(canvas)上有一个矩形(rectangle),我知道如何将其向上和向侧移动。

现在我想让它以圆周运动的方式移动。

因此,我的对象(矩形)的x和y坐标将沿着圆形路径移动。

我假设需要一个半径来确定图形的移动距离,并且需要一个公式来计算旋转轴上的速度(1像素)。

有什么建议吗?

1个回答

18

在圆形运动中,参数方程如下:

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

theta 是角度,r 是半径。

如果你想知道改变 theta 以获得所需速度的变化量,通过解决距离 d 的方程可以得出,theta 的变化是:arccos(1-(d/r)^2/2)

JavaScript 中的函数分别为 Math.cosMath.sinMath.acos。它们都使用弧度。


你或者其他人能否提供一个 jsFiddle,演示如何添加数学库或它们是如何连接的? - Steve P
2
这里有一个fiddle,修复了markE的fiddle使其正常工作,并展示了角度的计算:http://jsfiddle.net/Cu6Zv/1/ - simonzack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接