把矩陣旋轉和尤拉角 四元數兩種旋轉並列是否不準確呢?

時間 2021-05-30 11:55:48

1樓:debye

引入四元數的意義應該說主要是為了避免球面線性插值的穩定性問題

Quaternions can be used for stable and constant interpolation of orientations, something that cannot be done well with Euler angles. ——《Real-time Rendering》

也就是說,方向穩定與恆定插值,四元數主要為了旋轉與旋轉之間的插值目的所做,而不是為了更好地表示旋轉。

拿二維空間為例,旋轉15°的矩陣與旋轉25°的矩陣相加求乙個平均值,得到的並不是旋轉20°的矩陣,而四元數的插值是穩定的

數學上看萬向節死鎖:

眾所周知,尤拉變換矩陣表述可以為(h(head)-y軸,p(pitch)-x軸,r(roll)-z軸):

對上面三個旋轉矩陣進行級聯可以得到:

定義:可以用e來表示出r, p, h

這時候如果cosp = 0,sinp=±1時發生萬向節死鎖。

原因:不妨設sinp = 1,即p = π/2時:

上面可以再通過半形公式進行化簡成為跟(r±h)/2相關的東西,也就是說r和h完全等價了,發生萬向節死鎖,同理可得p = -π/2情況

所以萬向節問題核心是乙個插值問題,是乙個點到在球面上到另乙個點的問題,旋轉矩陣只是描述一點到另一點變換,而對具體怎麼執行不關心,而你一旦根據軸先後順序進行執行(即使用Euler方式變換)就可能遇上萬向節問題,四元數則是相當於走了兩點在球上最近的圓弧,所以不會發生萬向節死鎖

因此我也覺得,這樣的表述是不準確的,「矩陣旋轉」壓根與尤拉變換和四元數不是乙個東西,「矩陣旋轉」只是表示兩個點之間的變換關係罷了

尤拉角的旋轉順序能改變嗎?

回答第二個問題 已知AB兩點,求A到B的尤拉變換。首先這個描述不太合理,應該是a,b兩向量,描述了兩個朝向。然後假設是在右手座標系,方便描述。先求aXb,即同時垂直於a和b的向量,顯然它就是旋轉軸。然後求ab cos 顯然它描述了旋轉角。這樣就把問題轉換成了 繞任意軸旋轉乙個角度 這一問題的常見解法...

獲得多個旋轉矩陣,如何獲得平均旋轉?

閒人周 邱博 fly qq,以及 嶽然 的答案非常完美,受益匪淺,我從另乙個常見的角度來解釋這個問題。空間中的任意乙個旋轉都可以表示為繞乙個特定的旋轉軸 轉 角度,當然也可以直接緊湊的表示為 這個旋轉軸的求法很簡單,旋轉不改變旋轉軸的方向和大小 這就說明旋轉軸是特徵值為1的單位特徵向量,又有 更優雅...

spss 旋轉成份矩陣如何分析命名?

資料小兵 用SPSS做因子分析,可享受一條龍服務,從原始資料到公因子得分變數,全都可以由軟體選單對話方塊完成,中間不需要自己計算什麼。但是實際應用中,因子分析並不是可以由軟體 一蹴而就 的。中間需要使用者判斷提取幾個公因子合適,需要使用者自己給公因子命名。統計計算的活兒交給軟體,使用者的工作必須由我...