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