歐拉角的詳解


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

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

這里寫圖片描述這里寫圖片描述這里寫圖片描述

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

  roll:是翻滾的意思是,就是繞着機身所在的那個軸 a (z);

  yaw:是偏航的意思,偏航就是繞着重力方向為軸 y ;

  pitch:是偏航俯仰的意思,即傾斜、墜落的意思,墜落就是以翅膀所在的直線為軸(x)發生旋轉。

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

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

這里寫圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM