四元數和尤拉角

2021-08-18 10:27:15 字數 752 閱讀 4989

1.尤拉角

我們這裡談論尤拉角只討論在笛卡爾座標系下,不考慮飛機座標系(我不確定正規是不是叫這個名字)那種。

也就是右手定則確定的笛卡爾座標系。

可以把x和y放在水平面,z軸朝上,這樣想象一下。

然後,很顯然存在三種旋轉方式,也就是分別繞x,繞y和繞z旋轉。我們分別把三種旋轉稱為roll(繞x軸旋轉),pitch(繞y軸旋轉),yaw(繞z軸旋轉)。

但是這個存在乙個萬向鎖的問題,在另一篇講rpy的文章裡面有介紹,大致就是pitch90度之後,另外兩個維度的旋轉會變得等價。

2.四元數

為了解決萬向鎖問題,四元數被提了出來。

四元數表示繞軸旋轉θ角度

軸和角與四元數的轉換為

x = x0 * sin(θ/2)

y = y0 * sin(θ/2)

z = z0 * sin(θ/2)

w = cos(θ/2)

例如,如果是乙個只會左右擺頭的機械人,那麼它的頭部運動就是繞(0,0,1)這個軸,yaw旋轉角為θ(前面說的,yaw就是繞z軸旋轉,擺頭很明顯就是繞z軸旋轉),那麼對應的四元數為

x = 0 * sin(θ/2) = 0

y = 0 * sin(θ/2) = 0

z = 1 * sin(θ/2) = sin(θ/2)

w = cos(θ/2)

四元數和尤拉角學習

在3d圖形學中,最常用的旋轉表示方法便是四元數和尤拉角,比起矩陣來具有節省儲存空間和方便插值的優點。本文主要歸納了兩種表達方式的轉換,計算公式採用3d笛卡爾座標系 圖1 3d cartesian coordinate system from wikipedia 定義圖2 tait bryan ang...

matlab 角度轉四元數 尤拉角和四元數

用一句話說,尤拉角就是物體繞座標系三個座標軸 x,y,z軸 的旋轉角度。尤拉角將方位 角位移 分解為繞三個互相垂直軸的旋轉。任意三個軸和任意順序都可以,但最有意義的是使用笛卡爾座標系並按一定順序所組成的旋轉序列。最常用的約定是所謂的 heading pitch bank 約定。它的基本思想是讓物體開...

尤拉角與四元數

尤拉角是表達旋轉的最簡單的一種方式,形式上它是乙個三維向量,其值分別代表物體繞座標系三個軸 x,y,z軸 的旋轉角度。第一張 pitch,航空領域表示飛機的俯仰角。繞x軸轉動結果 第二張 yaw,表示飛機的偏航角,繞y軸轉動結果 第三張 roll,表示飛機的翻滾角,繞z軸轉動結果。四元數是由愛爾蘭數...