Ninjaライブラリ - コリジョン関数

njDistanceL2PL

直線と平面の距離

書式

Float njDisatnceL2L( *l, *pl, *cp )
NJS_LINE *l
NJS_PLANE *pl
NJS_POINT3 *cp

引数

*l線データ
*pl面データ
*cp線と面との交点(線と面が平行でないとき)

戻値

直線と平面の距離。

解説

直線と平面の距離を求めます。 線と面が平行でないとき 引数 cp が NULL でない場合は線と面との交点の座標を求め、 それぞれ cp に格納します。 線と面とが平行なとき 線の基点から平面に下ろした垂線の足の座標を求め格納します。

用例

NJS_LINE  l;
NJS_PLANE pl;
NJS_POINT3 cp;
l.px = 2.f;
l.py = -1.f;
l.pz = 3.f;
l.vx = 4.f;
l.vy = -1.f;
l.vz = 1.f;
pl.px = 0.f;
pl.py = 0.f;
pl.pz = 0.f;
pl.vx = 1.f;
pl.vy = -4.f;
pl.vz = 1.f;
njDistanceL2PL(&l, &pl, &cp);
/* 結果 */
戻り値 0.000000
cp (-2, 0, 2)

njDistanceL2PL
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998