Function geometry_predicates::predicates::orient3d
source · [−]Expand description
Adaptive exact 3D orientation test. Robust.
Returns a positive value if the point pd
lies below the
plane passing through pa
, pb
, and pc
; “below” is defined so
that pa
, pb
, and pc
appear in counterclockwise order when
viewed from above the plane. Returns a negative value if
pd lies above the plane. Returns zero if the points are
coplanar. The result is also a rough approximation of six
times the signed volume of the tetrahedron defined by the
four points.
The result returned is the determinant of a matrix. This determinant is computed adaptively, in the sense that exact arithmetic is used only to the degree it is needed to ensure that the returned value has the correct sign. Hence, orient3d() is usually quite fast, but will run more slowly when the input points are coplanar or nearly so.