C++ 确定偏航、俯仰和横摇

C++ 确定偏航、俯仰和横摇,c++,windows,C++,Windows,如果我从屏幕上看,x轴向右,y轴进入屏幕,z轴向上 我有一个点(x1,y1,z1),它正看着目标点(x2,y2,z2)。我想计算偏航,俯仰和滚动度 我试着计算旋转矩阵和角度,但似乎并没有给出正确的结果 谁能帮帮我吗 提前谢谢 -swapna正如interjay所评论的,两点不足以表示偏航、俯仰和横滚 您可以通过首先计算向量和之间的角度来确定偏航和俯仰。只需使用点积的反余弦。请注意,该操作是在x-y平面上执行的,因此下一步是使用相同的方法计算y-z平面上的旋转或俯仰,但使用的是y和z坐标 我还应该

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

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

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

谁能帮帮我吗

提前谢谢


-swapna

正如interjay所评论的,两点不足以表示偏航、俯仰和横滚

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


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

两个点不足以计算偏航/俯仰/滚转,因为滚动不会改变任何一点,而是只绕它们之间的线旋转。你的问题是不适定的。您希望使用哪些顺序约定?你想要什么样的方向?两点不能定义方向。至少没有更多的描述。你不能仅仅从两点来确定偏航/俯仰/横滚。事实上偏航/俯仰/滚动用于指定方向,而不是方向。如果你发布到目前为止的代码,也许我们可以看到你实际上在做什么。