A 2d exact arithmetic point-in-circle predicate.
Namespace:
ceometric.ComputationalGeometryAssembly: ceometric.ComputationalGeometry (in ceometric.ComputationalGeometry.dll) Version: 2.4.0.0 (2.4.0.0)
Syntax
C# |
---|
public static double InCircle2dExact( Point p1, Point p2, Point p3, Point point ) |
Visual Basic (Declaration) |
---|
Public Shared Function InCircle2dExact ( _ p1 As Point, _ p2 As Point, _ p3 As Point, _ point As Point _ ) As Double |
Visual C++ |
---|
public: static double InCircle2dExact( Point^ p1, Point^ p2, Point^ p3, Point^ point ) |
Parameters
- p1
- Type: ceometric.VectorGeometry..::.Point
A 2d point on the circumference of a circle.
- p2
- Type: ceometric.VectorGeometry..::.Point
A 2d point on the circumference of a circle.
- p3
- Type: ceometric.VectorGeometry..::.Point
A 2d point on the circumference of a circle.
- point
- Type: ceometric.VectorGeometry..::.Point
A 2d point.
Return Value
For a counterclockwise order of the points p1, p2 and p3 defining a circle, the predicate is- positive if point lies inside the circle.
- zero if point lies on the circumference of the circle.
- negative if point lies outside the circle.
- NaN if a correct answer is not possible due to floating point arithmetic errors.
Remarks
The points p1, p2 and p3 must be arranged in counterclockwise order, or the result of this predicate will be reversed.