您當前的位置:首頁 > 攝影

求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?

作者:由 ZX Huo 發表于 攝影時間:2022-03-14

求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?ZX Huo2022-03-14 16:14:18

以簡單三角形為例,平動+旋轉,從A位置到B位置,怎麼求其沿x y z 軸的旋轉角度?

求大神指點。謝謝!

求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?

求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?2018-03-11 15:37:33

我補充一個計算四元數的比較簡單的公式吧。

任何一個四元數可以看做一個標量部分

s

和三維向量部分

\vec{v}

組成的,同樣的一個三維歐式空間的向量也可以看做標量部分為

0

的四元數。

以向量

\vec{u}

為軸,將一個向量

\vec{v}

旋轉

\theta

角的旋轉公式為

\vec{v}^{

,其中

q=\cos(\theta/2)+\vec{u}\sin(\theta/2)

所以如果要求把單位向量

\vec{v}_1

旋轉到單位向量

\vec{v}_2

的朝向的話,注意夾角

\cos(\theta)=\vec{v}_1\cdot\vec{v}_2

,那麼

\cos(\theta/2)=\sqrt{\frac{\cos(\theta)+1}{2}}=\sqrt{\frac{\vec{v}_1\cdot\vec{v}_2+1}{2}}

軸線法向量為

\vec{u}

那麼有

\vec{v}_1\times\vec{v}_2=\vec{u}\sin(\theta)

,於是

\vec{u}\sin(\theta/2)=\frac{\vec{v}_1\times\vec{v}_2}{\sin(\theta)}\sin(\theta/2)=\frac{\vec{v}_1\times\vec{v}_2}{2\cos(\theta/2)}=\frac{\vec{v}_1\times\vec{v}_2}{\sqrt{2(\vec{v}_1\cdot\vec{v}_2)+1}}

於是最終表示旋轉的四元數

q=(\sqrt{\frac{\vec{v}_1\cdot\vec{v}_2+1}{2}},\frac{\vec{v}_1\times\vec{v}_2}{\sqrt{2(\vec{v}_1\cdot\vec{v}_2)+1}})

求問物體從a位置到b位置,怎麼求其沿x y z軸的旋轉角度。?2022-02-28 08:34:16

標簽: 向量  旋轉  四元  單位向量  標量