Ninjaライブラリ - マトリクス関数

njRotateZXY

マトリクスに Z、X、Y、各軸回りの回転を加えます。

書式

void njRotateZXY(*m, x, y, z)
NJS_MATRIX *m
Angle x
Angle y
Angle z

引数

*m被演算マトリクス
xX軸の回転角度
yY軸の回転角度
zZ軸の回転角度

戻値

なし

解説

任意のマトリクス m にZ、X、Y軸の順に回転を加えます。 引数 m が NULL の場合はカレントマトリクスを対象とします。

用例

Z、X、Yの各軸に90度、30度、60度の回転を加えます。
NJS_MATRIX stack[10];
NJS_VIEW view;
njInitMatrix(stack, 10);
njInitView(&view);
njSetView(&view);
njClearMatrix();
njPushMatrix(NULL);
njRotateZXY(NULL, NJM_DEG_ANG(30), NJM_DEG_ANG(60), NJM_DEG_ANG(90));
njPopMatrix(1);

備考

マトリクスを[M]、ローテートを乗算するマトリクスを[R]とすると、[M] = [R] * [M]となります。 マトリクスが乗算される順序に注意して下さい。

njRotateZXY
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998