我正在使用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.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
最佳答案
gl-matrix中定义的四元数仅用于3D空间。您要做的是从Mat4中取出3D旋转分量并将其转换为四元数。