2021年12月15日 星期三

四元數轉旋轉矩陣

如果你有1個正規化的4元數

q=(cos(θ/2),sin(θ/2) U)

q=(w,x,y,z)

這是它的共軛 

q*=(cos(θ/2),-sin(θ/2) U)

q*=(w,-x,-y,-z)

要怎麼得到等效的旋轉矩陣呢?


如果是左乘的話 vM

那旋轉矩陣M就是 

Xx Xy Xz

Yx Yy Yz

Zx Zy Zz


用四元數旋轉一個向量v

就是對向量v做三明治運算

 q (0,v) q* = (0,v')

這樣得到的v'

就是v繞著U軸轉θ的結果


這是單位旋轉矩陣

X軸:1 0 0

Y軸:0 1 0

Z軸:0 0 1

分別對這3軸做1次三明治運算

 q (0,X軸) q* = (0,X軸') 

 q (0,Y軸) q* = (0,Y軸')

 q (0,Z軸) q* = (0,Z軸')

X軸'、Y軸'、Z軸'分別是

X軸、Y軸、Z軸繞U軸轉θ的結果


現在,你可以拿這個旋轉矩陣

X軸':? ? ?

Y軸':? ? ?

Z軸':? ? ?

來旋轉向量v了


沒有留言:

張貼留言