添加相对于对象的速度
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
我正在尝试用 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