2013-04-11 233 views
1

我使用GL-矩阵LIB(https://github.com/toji/gl-matrix) 四元数有从MAT3创建Quat并季铵盐MAT3一种可能性:JavaScript的GL-矩阵:从MAT4

  • mat3.fromQuat
  • 季.fromMat3

但我有mat4旋转矩阵。 我创造这样说:

var turnmat = mat4.create(); 
mat4.identity(turnmat); 

mat4.rotate(turnmat,turnmat, yaw, [0, 1, 0]); 
mat4.rotate(turnmat,turnmat, pitch, [1, 0, 0]); 
mat4.rotate(turnmat,turnmat, roll, [0, 0, 1]); 

然后,我想从这个矩阵季。但是只有quat.fromMat3,而不是quat.fromMat4。 我在这里做错了什么?

裁判(无代表添加为链接):

的http:// glmatrix.net/docs/2.2.0/symbols/mat3.html#.fromQuat

的http:// glmatrix。 net/docs/2.2.0/symbols/quat.html#.fromMat3

+0

可能重复的[JavaScript的gl矩阵库:如何从角度的四元数和四元数的欧拉角?](http://stackoverflow.com/questions/15955358/javascript-gl-matrix-lib-how-to -get-欧拉角度从 - 季铵盐和 - 季铵化合物从 - 角度) – andand 2013-04-11 19:41:12

回答

0

gl-matrix中定义的四元数仅用于3D空间。你想要做的是从你的Mat4中获得3D旋转组件,并将其转换为四元数。