njRotateViewXYZ
ビューをX、Y、Zの各軸を中心にして回転させます。(絶対的な回転)

書 式

#include <Ninja.h>

void njRotateViewXYZ(*v, angx, angy, angz)
NJS_VIEW *v
Angle angx
Angle angy
Angle angz

引 数

NJS_VIEW *v
ビュー構造体のポインタ
Angle angx
X軸に対しての回転角度(絶対値)
Angle angy
Y軸に対しての回転角度(絶対値)
Angle angz
Z軸に対しての回転角度(絶対値)

返 値

なし

機 能

ビューをX、Y、Zの各軸を中心にして回転させます。
回転はX軸、Y軸、Z軸の順番で掛かります。

用 例

(0, 0, 3000)に位置し、(0, 0, -1)(画面奥)に向いているビューをX、Y、Zの各軸を中心にしてそれぞれ30度、60度、90度回転させます。
#define VIEW_PX 0.f
#define VIEW_PY 0.f
#define VIEW_PZ 3000.f
#define VIEW_VX 0.f
#define VIEW_VY 0.f
#define VIEW_VZ -1.f
#define VIEW_ROLL 0

NJS_VIEW v;

v.px = VIEW_PX;
v.py = VIEW_PY;
v.pz = VIEW_PZ;
v.vx = VIEW_VX;
v.vy = VIEW_VY;
v.vz = VIEW_VZ;
v.roll = NJM_DEG_ANG(VIEW_ROLL);

njSetView(&v);
njRotateViewXYZ(&v, NJM_DEG_ANG(30), NJM_DEG_ANG(60), NJM_DEG_ANG(90));
njClearMatrix();

備 考

引数 v が NULL の場合にはカレントビューを対象とします。

ビュー(視点)の移動、回転にはビュー構造体のビューマトリクスを操作する絶対的なものと、位置(px, py, pz)、視線の向き(vx, vy, vz)、視線の傾き(roll)の各メンバを操作する相対的なものとがありますが、本関数では絶対的な操作を行います。
詳しくはビュー関数の Readme.txt を参照して下さい。

重要
本関数は旧Ninja(SDK Ver0.15以前)プログラムとの互換性を保つ為に残されている関数です。
将来関数群から削除される可能性がある為、新しくプログラムを組む場合には使用しないようお願いします。

関 連

njSetView()
njClearMatrix()
NJM_DEG_ANG()

njRotateViewXYZ

Copyright SEGA ENTERPRISES, LTD., 1997