A 3d floating point arithmetic orientation predicate.
Namespace:
ceometric.ComputationalGeometryAssembly: ceometric.ComputationalGeometry (in ceometric.ComputationalGeometry.dll) Version: 2.4.0.0 (2.4.0.0)
Syntax
C# |
---|
public static double Orient3d( Point pa, Point pb, Point pc, Point point ) |
Visual Basic (Declaration) |
---|
Public Shared Function Orient3d ( _ pa As Point, _ pb As Point, _ pc As Point, _ point As Point _ ) As Double |
Visual C++ |
---|
public: static double Orient3d( Point^ pa, Point^ pb, Point^ pc, Point^ point ) |
Parameters
- pa
- Type: ceometric.VectorGeometry..::.Point
A first point on a plane.
- pb
- Type: ceometric.VectorGeometry..::.Point
A second point on a plane.
- pc
- Type: ceometric.VectorGeometry..::.Point
A third point on a plane.
- point
- Type: ceometric.VectorGeometry..::.Point
A point above, on or below the plane.
Return Value
Given a point lies 'above' a plane if pa, pb and pc appear in counterclockwise order when viewed from above the plane and a point lies 'below' a plane if pa, pb and pc appear in clockwise order when viewed from below the plane, this predicate is- positive if point lies below the plane.
- zero if point lies on the plane.
- negative if point lies above the plane.
Remarks
Due to floating point arithmetic, this predicate is not is not reliable for near-degenerate cases.