四元數表示向量V1到V2的旋轉的兩種演算法
阿新 • • 發佈:2018-10-31
版權宣告:本文為博主原創文章,未經博主允許不得轉載。
博主:shenshikexmu
聯絡方式:[email protected]
本文的演算法來源於stackoverflow 的回答finding quaternion representing the rotation from one vector to another
問題
如下圖,三維空間中的向量
繞著單位向量
旋轉
角後,形成
當知道單位向量
和
角時,這個四元數表示起來很簡單。
也就是:
在 和 已知的條件下,角 可以利用 和 內積,也就是 乘計算出來,向量 可以利用 和 外積,也就是 乘計算出來。
設:
方向上的單位向量為
長度為a。於是
。
方向上的單位向量為
長度為b。於是
。
已經為單位向量。
那麼有如下關係:
演算法1
思路:尋找
和
中間的向量
,這樣
與