njRotate
マトリクスに任意軸回りの回転を加えます。

書 式

#include <Ninja.h>

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

引 数

NJS_MATRIX *m
被演算マトリクス
NJS_VECTOR *v
任意軸のデータ
Angle 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