-1
我有一個相機,其中,我已經獲得了它的3d位置和它的3d旋轉(以度爲單位)。座標系如下:從3d位置和/或旋轉獲取方向矢量
訂單是XYZ,是固有的。
- 間距
- 輥
- 偏航
(又名右/前/頂矢量)
有了這個信息,如何能夠計算出向上和正面矢量?
我有一個相機,其中,我已經獲得了它的3d位置和它的3d旋轉(以度爲單位)。座標系如下:從3d位置和/或旋轉獲取方向矢量
訂單是XYZ,是固有的。
(又名右/前/頂矢量)
有了這個信息,如何能夠計算出向上和正面矢量?
偏航旋轉是圍繞OY(垂直)軸,並具有矩陣MY(對於CCW正)
Cos(Yaw) -Sin(Yaw) 0
Sin(Yaw) Cos(Yaw) 0
0 0 1
節距旋轉是圍繞OZ軸線,並具有矩陣MP
Cos(Pitch) 0 Sin(Pitch)
0 1 0
-Sin(Pitch) 0 Cos(Yaw)
輥旋轉是圍繞OX軸並且具有矩陣MR
1 0 0
0 Cos(Roll) -Sin(Roll)
0 Sin(Roll) Cos(Roll)
現在必須將矩陣MP,MR,MY以正確的順序相乘並得到矩陣M. 要找到正向矢量 - 乘以M和矢量[1,0,0]。要獲得頂部方向矢量 - 將M和矢量[0,1,0]相乘。要獲得側向矢量 - 將M和矢量[1,0,0]相乘。
我現在無法檢查右矩陣乘法順序和最後一個結果。如果你有任何象Maple,Matlab這樣的符號數學軟件 - 試試吧。
結果應該是這樣的正向
X = Cos(Pitch) * Cos(Yaw)
Y = Sin(Pitch)
Z = Cos(Pitch) * Sin(Yaw)
和(可能是錯誤的)
X = -Cos(Yaw) * Sin(Roll) - Sin(Yaw) * Sin(Pitch) * Cos(Roll)
Y = Sin(Yaw) * Sin(Roll) - Cos(Yaw) * Sin(Pitch) * Cos(Roll)
Z = Cos(Pitch) * Cos(Roll)
指定旋轉是如何定義的。 – MBo
它現在正確更新。 –