【问题标题】:Add Velocity Relative To Object添加相对于对象的速度
【发布时间】:2016-01-19 22:53:54
【问题描述】:

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

【问题讨论】:

    标签: javascript math game-physics


    【解决方案1】:

    如果火车系统相对于静止系统旋转角度 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 2015-10-30
      • 2011-05-02
      相关资源
      最近更新 更多