【问题标题】:Determining yaw, pitch and roll确定偏航、俯仰和滚动
【发布时间】:2012-02-05 13:36:10
【问题描述】:

如果我从屏幕上看,x 轴向右,y 轴进入屏幕,z 轴向上。

我有一个点(x1,y1,z1),它正在查看目标点(x2,y2,z2)。我想以度数计算偏航、俯仰和滚动。

我尝试计算旋转矩阵和角度,但似乎没有给出正确的结果。

谁能帮帮我。

提前致谢。

-swapna

【问题讨论】:

  • 两个点不足以计算偏航/俯仰/滚动,因为滚动不会改变任何一个点,只会绕它们之间的线旋转。
  • 你的问题不恰当。您要使用哪些订单约定?你想要什么方向?两点不定义方向。至少不是没有更多的描述。
  • 您无法仅从两点确定偏航/俯仰/滚动。事实上,you only need two angles to specify a direction in 3D space。偏航/俯仰/滚动用于指定方向,而不是方向。如果您发布到目前为止的代码,也许我们可以看到您实际尝试做的事情。

标签: c++ windows


【解决方案1】:

正如 interjay 所说,两点不足以表示偏航、俯仰和滚动。

您可以通过首先计算向量 和 之间的角度来确定偏航和俯仰。只需使用点积的反余弦即可。请注意,该操作是在 x-y 平面上执行的,因此下一步是使用相同的方法计算 y-z 平面上的旋转或俯仰角,但使用 y 和 z 坐标代替。

我还应该指出,您必须注意应用旋转的顺序。如果可能,您可能需要考虑使用四元数。

【讨论】:

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