鍍金池/ 問答/HTML/ 如何計算一個三維向量經(jīng)過threeJS的四元數(shù)旋轉(zhuǎn)后的新向量?

如何計算一個三維向量經(jīng)過threeJS的四元數(shù)旋轉(zhuǎn)后的新向量?

已知一個四元數(shù),如何計算一個三維向量經(jīng)過此四元數(shù)旋轉(zhuǎn)后的新向量?

四元數(shù)指的是:threeJS文檔的Quaternion

四元數(shù)計算旋轉(zhuǎn)的公式我了解,自己寫也可以,但是總覺得threejs的四元數(shù),一定自帶了一個api可以計算的,不用自己寫的,但是在接口文檔里找不到,請問是哪個?


旋轉(zhuǎn)公式參考:https://www.zhihu.com/questio...

如果想算一個點 clipboard.png 在這個旋轉(zhuǎn)下新的坐標 w' ,需要進行如下操作:

1.定義純四元數(shù)

clipboard.png

2.進行四元數(shù)運算

clipboard.png

3.產(chǎn)生的 qw' 一定是純四元數(shù),也就是說它的第一項為0,有如下形式:

clipboard.png

4.qw' 中的后三項 clipboard.png 就是 w'

clipboard.png

這樣,就完成了一次四元數(shù)旋轉(zhuǎn)運算。

回答
編輯回答
孤毒

你的意思是物體坐標的旋轉(zhuǎn)矩陣(Matrix4), object3D.setRotationFromMatrix
參考https://threejs.org/docs/inde...
還是歐拉角旋轉(zhuǎn)(Euler) object3D.setRotationFromEuler
參考https://threejs.org/docs/inde...
還是軸角度旋轉(zhuǎn)(Vector3, float) object3D.setRotationFromAxisAngle
參考https://threejs.org/docs/inde...

2017年7月21日 04:56