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

njDistanceL2PL

直線と平面の距離

書式

Float njDistanceL2PL( *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);
/* Result */
Return : 0.000000
cp (-2, 0, 2)

njDistanceL2PL
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999