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

njRotate

マトリクスの任意軸回りの回転

書式

void njRotate( *m, *v, ang ) 
NJS_MATRIX *m 
NJS_VECTOR *v 
Angle ang 

引数

*m   被演算マトリクス
*v   任意軸のデータ
ang   回転角度

戻り値

なし

解説

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

用例

ベクトルv(1,1,1)をもった任意軸を中心に90度回転を加えます。
NJS_MATRIX stack[10];
NJS_VIEW view;
NJS_VECTOR v;
v.x = 1.f;
v.y = 1.f;
v.z = 1.f;
njInitMatrix(stack, 10);
njInitView(&view);
njSetView(&view);
njClearMatrix();
njPushMatrix(NULL);
njRotate(NULL, &v, NJM_DEG_ANG(90));
njPopMatrix(1);

備考

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

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