njRotateXYZ
マトリクスにX、Y、Z、各軸回りの回転を加えます。

書 式

#include <Ninja.h>

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

引 数

NJS_MATRIX *m
被演算マトリクス
Angle x
X軸の回転角度
Angle y
Y軸の回転角度
Angle z
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