我正在使用gl-matrix lib(https://github.com/toji/gl-matrix) 有可能从quat和quat创建mat3来自mat3:
但我有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
答案 0 :(得分:0)
gl-matrix中定义的四元数仅适用于3D空间。你想要做的是从你的Mat4中取出3D旋转组件并将其转换为四元数。