【3D知識】利用四元數,歐拉角進行空間向量旋轉

已知直角座標系中的兩個單位向量,現在想知道其中一個向量a,變換到另一個向量b,所需要的三個歐拉角

也就是說,向量a需要繞x軸轉多少度,繞y軸轉多少度,再繞z軸轉多少度,纔可以變成b呢?這個解是唯一的嗎?

問題解決了,採用先求四元數,然後轉換爲歐拉角的方式
 
1、假設a和b都是單位向量,a叉乘b得到旋轉軸,a點乘b再求arccos得到旋轉角度,從而得到四元數表示
 
2、將四元數轉換爲歐拉角,公式見
<a data-cke-saved-href="http://www.cnblogs.com/wqj1212/archive/2010/11/21/1883033.html" href="http://www.cnblogs.com/wqj1212/archive/2010/11/21/1883033.html">http://www.cnblogs.com/wqj1212/archive/2010/11/21/1883033.html</a>

空間向量變換:
1、使用歐拉角:旋轉角度,旋轉
2、使用四元數:
方法詳見
http://blog.csdn.net/candycat1992/article/details/41254799
血淚:c++中sin和cos等運算針對弧度而不是角度!!!,因爲這個我這個渣渣一直以爲是自己公式錯了,看了整整兩天的四元數和歐拉角資料啊
參考資料:http://blog.csdn.net/mulinb/article/details/51227597
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章