Ninjaライブラリ - マトリクス関数

njCalcVector

任意のベクトルのマトリクス変換

書式

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

引数

*m演算マトリクス
*vs任意のベクトル
*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の座標系ではなく、 ハードの座標系で返されます。

参照

njInitMatrix()

njCalcVector
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998