2012-02-05 118 views
0

如果我從屏幕上看,x軸朝右,y軸進入屏幕,z軸向上。確定偏航,俯仰和滾轉

我有一個點(x1,y1,z1),它看着目標點(x2,y2,z2)。我想計算偏航,俯仰和滾動度。

我試着計算旋轉矩陣和角度,但它似乎沒有給出正確的結果。

任何人都可以請幫助我。

在此先感謝。

-swapna

+1

兩點不足以計算偏航/俯仰/滾轉,因爲滾動不會改變任何一點,而只會圍繞它們之間的線旋轉。 – interjay 2012-02-05 13:40:34

+0

您的問題不適合。您要使用哪種訂單慣例?你想要什麼樣的方向?兩點不定義方向。至少不是沒有更多的描述。 – 2012-02-05 13:41:26

+1

你不能從兩點確定偏航/俯仰/滾轉。事實上,[你只需要兩個角度來指定3D空間中的方向](http://en.wikipedia.org/wiki/Spherical_coordinate_system)。偏航/俯仰/滾轉用於指定方向,而不是方向。如果你發佈的代碼到目前爲止,也許我們可以看到你實際上想要做的。 – 2012-02-05 13:41:58

回答

0

由於interjay評論,兩點都不足以表明偏航,俯仰和滾轉。

通過首先計算矢量<(x2 - x1),(y2 - y1)>和< x1,(y2 - y1)>之間的角度,可以確定偏航和俯仰。只需使用點積的反餘弦。請注意,該操作是在x-y平面上執行的,因此下一步是使用相同的方法計算y-z平面上的旋轉或間距,但使用y和z座標代替。

我也應該指出,你必須小心你應用旋轉的順序。如果可能,您可能需要考慮使用四元數。

相關問題