画布在圆圈中移动对象

Ste*_*e P 7 javascript html5 canvas

我在画布上有一个矩形,我知道如何向上和向侧面移动它.我想做的是让它以圆周运动方式移动.

所以我的对象(矩形)x和y会围成一圈.

现在我假设我需要一个半径来确定距离和一些公式的速度(1像素)让它在轴上旋转.

有任何想法吗?

sim*_*ack 14

移动圆的参数方程是这样的:

x=r*cos(theta)
y=r*sin(theta)
Run Code Online (Sandbox Code Playgroud)

theta是角度和r半径.

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

JavaScript函数是Math.cos,Math.sinMath.acos,它们是repsectively.他们都处理弧度.

  • 这是一个显示数学的小提琴:http://jsfiddle.net/m1erickson/Qnk5d/ (4认同)
  • 这是一个修复markE的小提琴以使其工作并显示角度计算的小提琴:http://jsfiddle.net/Cu6Zv/1/ (2认同)