public double sign ( Point3D_F64 P ) { GeometryMath_F64 . cross ( E1 , E0 , N ) ; // dot product of double d = N . x * ( P . x - B . x ) + N . y * ( P . y - B . y ) + N . z * ( P . z - B . z ) ; return Math . signum ( d ) ; }
Returns the signed of the vector . If its in front it will be positive and negative if behind . In front is defined as being on the same side as the cross product of p2 - p0 and p1 - p0 .