1

gl-matrix lib ( https://github.com/toji/gl-matrix ) を使用しています。 quat から mat3 を作成し、mat3 から quat を作成する可能性があります。

  • 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.fromMat4 ではなく、quat.fromMat3 しかありません。ここで何が間違っていますか?

参照 (リンクとして追加する担当者はいません):

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

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

4

1 に答える 1

0

gl-matrix で定義されている四元数は、3D 空間専用です。やりたいことは、Mat4 から 3D 回転コンポーネントを取得し、それをクォータニオンに変換することです。

于 2013-04-11T19:09:31.767 に答える