﻿InCircle2dExact Method        A 2d exact arithmetic point-in-circle predicate.

Namespace:  ceometric.ComputationalGeometry
Assembly:  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.