添加相对于对象的速度

Add Velocity Relative To Object

我正在尝试用 js 制作火车,但我想给火车增加速度。 但是火车相对于 canvas 有另一个轴,所以我如何添加相对于 canvas 的速度 http://snapsoft.eu/example.png

如果列车系统相对于静止系统旋转角度 Theta,则可以将速度矢量 Vr(旋转)转换为 Vs(静止):

Vs.X = Vr.X * Cos(Theta) -  Vr.Y * Sin(Theta)
Vs.Y = Vr.X * Sin(Theta) +  Vr.Y * Cos(Theta)

如果旋转系统以速度W运动,则也加上W

Vs.X = W.X + Vr.X * Cos(Theta) -  Vr.Y * Sin(Theta)
Vs.Y = W.Y + Vr.X * Sin(Theta) +  Vr.Y * Cos(Theta)

在你的例子中

Theta = -Pi/4
Vs.X = 0.5 * 0.707 +  0 * 0.707 = 0.3535
Vs.Y =  - 0.5 * 0.707 +  0 * 0.707 = -0.3535