旋轉矩陣

minggoddess發表於2017-04-24

前幾天遇到一個旋轉矩陣 談一下它的構建

mat3 rotation = mat3(cross(up, -normal), up, -normal) ;//up 垂直於normal

 

 為什麼呢

 

涉及的一個概念是基變換 

假設空間一個向量 它的三個座標軸xyz

旋轉這個向量, 同時保持軸相對於它的位置不變得到的新軸 為子空間的基底 這個變換叫基變換 

就是一個向量(比如這個子空間的單位向量)乘以剛剛這個矩陣得到它在父空間的位置

cross(up, -normal), up, -normal這個就是新的三個軸

 

遊戲引擎架構 葉勁鬆譯 page151

相關文章