glMatrix四元数旋转

时间:2015-05-06 16:55:25

标签: javascript math quaternions gl-matrix

任何人都可以向我解释为什么这并不像我期望的那样有效。

使用四元数围绕z轴旋转vec3 [5,0,0] 180degree / Math.PI弧度。

我认为结果会是[-5,0,0]; 旋转[5,5,0]得到预期的[-5,-5,0]。

http://jsfiddle.net/s4sqq5L4/

var q = quat.create();
quat.rotateZ(q, q, Math.PI);
console.log(q);

var v = vec3.fromValues(5, 0, 0);
vec3.transformQuat(v, v, q);
console.log(v);

/*
[0, 0, 1, 6.123234262925839e-17]
[-5, 6.123233998228043e-16, 0]
*/

var q2 = quat.create();
quat.rotateZ(q2, q2, Math.PI);
console.log(q2);

var v2 = vec3.fromValues(5, 5, 0);
vec3.transformQuat(v2, v2, q2);
console.log(v2);

/*
[0, 0, 1, 6.123234262925839e-17]
[-5, -5, 0]
*/

0 个答案:

没有答案