Ninja Library - コリジョン関数

njDistanceL2PL

直線と平面の距離

書式

Float njDistanceL2PL( l, pl, cp )
const NJS_LINE *l
const NJS_PLANE *pl
NJS_POINT3 *cp

引数

 線データを格納する構造体のポインタ
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);

/* Result */
Return : 0.000000
cp (-2, 0, 2)

njDistanceL2PL
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000