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,1999