njCalcVector
任意のベクトルにマトリクス変換を行います。

書 式

#include <Ninja.h>

void njCalcVector(*m, *vs, *vd)
NJS_MATRIX *m
NJS_VECTOR *vs
NJS_VECTOR *vd

引 数

NJS_MATRIX *m
演算マトリクス
NJS_VECTOR *vs
任意のベクトル
NJS_VECTOR *vd
変換後のベクトル

返 値

なし

機 能

任意のベクトル vs にマトリクス変換を行い、変換後のベクトルを vd に格納します。
引数 m が NULL の場合にはカレントマトリクスを演算マトリクスにします。

用 例

ベクトル vs(100, 0, 0)をY軸に45度回転します。
NJS_MATRIX m;
NJS_VECTOR vs, vd;

vs.x = 100.f;
vs.y = 0.f;
vs.z = 0.f;
njUnitMatrix(&m);
njRotateY(&m, NJM_DEG_ANG(45));
njCalcVector(&m, &vs, &vd);

% 結果 %
vd(70.710701, 00,000000, -70.710701)

備 考

njInitMatrix関数のフラグを1に設定している場合は計算結果は
単位ベクトル化されます。
ベースマトリクスを引き継いだマトリクスを使用して計算した場合の結果は
NINJAの座標系ではなく、ハードの座標系で返されます。

関 連


njCalcVector

Copyright SEGA ENTERPRISES, LTD., 1998