Ninja Library - マトリクス関数

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_VECTOR v;

v.x = 1.f;
v.y = 1.f;
v.z = 1.f;
njInitMatrix(stack, 10);
njPushMatrix(NULL);
njRotate(NULL, &v, NJM_DEG_ANG(90));
njPopMatrix(1);

備考

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

njRotate
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000