Xをa、Yをb、Zをc回転させる回転行列を作成するにはどうすればよいですか?
ardor3d apiの関数/メソッドを使用していない限り、数式を作成する必要があります。
マトリックスはこのように設定されています
xx, xy, xz,
yx, yy, yz,
zx, zy, zz
クォータニオンも問題ありません。
ウィキペディアを参照してください。回転軸ごとに個別の行列を提供します。しかしX*(Y*(Z*v)))
、もちろんはに等しい(X*Y*Z)*v
ので、単一の回転行列Rをとして得ることができますR=X*Y*Z
。
これはうまくいきますか?
glrotate(c, 0, 0, 1); // with respect to Z axis
glrotate(b, 0, 1, 0); // with respect to Y axis
glrotate(a, 1, 0, 0); // with respect to X axis