最近,我正在使用源代碼在我的3D模型上進行旋轉。但是,調用該函數時發生問題: RotationBetweenVectors,在教程17( 鏈接:http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-17-quaternions/)中定義。 我想使用Quaternion方法將矢量_from旋轉到矢量_to。 兩個矢量定義如下,並計算它們之間的一個四元數。四元數旋轉誤差
vec3 _from(0, -0.150401f, 0.93125f), _to(-0.383022f, -0.413672f, 1.24691f);
quat _rot = RotationBetweenVectors(_from, _to);
vec3 _to1 = _rot * _from;
vec3 _to2 = _rot * _from * inverse(_rot);
然後我用這季_rot乘以矢量_from。 Unluckly,結果_to1和_to2既不等於向量_to。
_rot gives {x=0.0775952041 y=-0.140000001 z=-0.0226106234 w=0.986847401}
_to1 gives {x=-0.264032304 y=-0.285160601 z=0.859544873 }
_to2 gives {x=-0.500465572 y=-0.390112638 z=0.697992325 }
我很感激,如果有朋友可以幫我解決這個問題嗎? 非常感謝!
謝謝!就是這樣。它解決了。 – Edison