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

njRotateXYZ

マトリクスのXYZ各軸回りの回転

書式

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

引数

*m   被演算マトリクス
 X軸の回転角度
 Y軸の回転角度
 Z軸の回転角度

戻り値

なし

解説

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

用例

X、Y、Zの各軸に30度、60度、90度の回転を加えます。

NJS_MATRIX stack[10];
NJS_VIEW view;
njInitMatrix(stack, 10);
njInitView(&view);
njSetView(&view);
njClearMatrix();
njPushMatrix(NULL);
njRotateXYZ(NULL, NJM_DEG_ANG(30),
		NJM_DEG_ANG(60), NJM_DEG_ANG(90));
njPopMatrix(1);

備考

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

njRotateXYZ
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999