541 {
542 vector v = pL2 - pL1;
543 vector w = pPoint - pL1;
544
545 float c1 = vector.
Dot(w,v);
546 float c2 = vector.Dot(v,v);
547
548 if ( c1 <= 0 || c2 == 0 )
549 return vector.DistanceSq(pPoint, pL1);
550
551 float b = c1 / c2;
552 vector nearestPoint = pL1 + (v * b);
553 return vector.DistanceSq(pPoint, nearestPoint);
554 }
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.