【发布时间】:2016-01-19 22:53:54
【问题描述】:
我正在尝试用 js 制作火车,但我想将速度添加到火车上。 但是火车相对于画布有另一个轴,所以我如何添加相对于画布的速度 http://snapsoft.eu/example.png
【问题讨论】:
标签: javascript math game-physics
我正在尝试用 js 制作火车,但我想将速度添加到火车上。 但是火车相对于画布有另一个轴,所以我如何添加相对于画布的速度 http://snapsoft.eu/example.png
【问题讨论】:
标签: javascript math game-physics
如果火车系统相对于静止系统旋转角度 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
【讨论】: