JavaScript gl-matrix:来自mat4的四元数

时间:2013-04-11 18:41:59

标签: javascript math

我正在使用gl-matrix lib(https://github.com/toji/gl-matrix) 有可能从quat和quat创建mat3来自mat3:

  • mat3.fromQuat
  • quat.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。但是只有quat.fromMat3,而不是quat.fromMat4。 我在这做错了什么?

refs(没有代表添加为链接):

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

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

1 个答案:

答案 0 :(得分:0)

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