歐拉角pitch、yaw,roll的理解

關於旋轉永遠是做遊戲的難點和混亂點。我們知道表示一個旋轉有多種方式,簡單的歐拉角,複雜點的四元數,再複雜點的矩陣。之前接觸unity可以用四元數和歐拉角兩種方式表示旋轉,最近一直研究虛幻引擎,目前只看到了歐拉角這一種旋轉方式。

歐拉角是表達旋轉的最簡單的一種方式,形式上它是一個三維向量,其值分別代表物體繞座標系三個軸(x,y,z軸)的旋轉角度。這樣的話,很容易想到,同樣的一個三維向量,代表了繞x,y,z的旋轉值,先進行那個旋轉是否對結果有影響呢?顯然是有影響的,可以拿着你的手機試一下,不同的旋轉順序會代表不同的旋轉結果。所以,一般引擎都會規定自己的旋轉順序。
下面三張動圖形象的表示了歐拉角的旋轉方式。第一張是繞x軸旋轉pitch,第二張繞y軸旋轉yaw,第三張是繞z軸旋轉roll。
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

繞三個軸的旋轉值pitch,yaw,roll來自航空界的叫法,翻譯爲俯仰角,偏航角,翻滾角,非常形象。它們不一定如上所述,一定分別代表繞x,y,z的旋轉值。
從英文意思出發,roll:是卷;滾動,轉動;輾的意思;
yaw是(火箭、飛機、宇宙飛船等)偏航的意思;
pitch是傾斜;投擲;搭帳篷;墜落的意思;
所以,roll的意思是翻滾,就是繞着機身所在的那個軸。yaw是偏航的意思,偏航就是繞着重力方向爲軸。pitch傾斜、墜落的意思,墜落就是以翅膀所在的直線爲軸發生旋轉。

另外值得注意的是,pitch值是不能超過90度,這裏牽扯到了萬向鎖的知識,不再多說,網上很多討論。

下面這張圖是以攝像機的角度來闡述歐拉角的,可以加深理解。可以看到,pitch,yaw,roll在這裏並不是常見的代表繞x,y,z的旋轉值。
這裏寫圖片描述

發佈了23 篇原創文章 · 獲贊 68 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章