【问题标题】:Bank angle from up vector and look at vector?从矢量向上倾斜角度并查看矢量?
【发布时间】:2010-06-14 07:28:15
【问题描述】:

我无法弄清楚从向上和观察向量计算倾斜(滚动)角的公式,尽管我觉得这个角度必须在垂直于观察向量的平面中测量。任何提示表示赞赏。仅供参考,我使用 WPF。

我已经发布了another question here,这是同样的问题,但只用数学表示。

【问题讨论】:

    标签: wpf vector bank


    【解决方案1】:

    这是确定银行的最终代码。请注意,我需要确定角度的符号:

    // project Y on plan perpendicular to look
    Vector3D Yproj = new Vector3D(
        -(lookDirection.Y * lookDirection.X),
        1 - (lookDirection.Y * lookDirection.Y),
        -(lookDirection.Y * lookDirection.Z));
    Yproj.Normalize();
    
    // get absolute angle between Y projected and Up
    double absAngle = Vector3D.AngleBetween(upDirection, Yproj);
    
    // magic formula
    Vector3D cross = Vector3D.CrossProduct(upDirection, Yproj);
    double dot = Vector3D.DotProduct(lookDirection, cross);
    
    // set actual signed angle
    BDeg = (dot >= 0) ?  absAngle : -absAngle;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多