Category: **Math**

Title: **Determine The circumcenter of 3 points**

Date added: **15.03.2006**

Hits: **10631**
**procedure** Circumcenter(

**const** x1, y1, x2, y2, x3, y3: Double; out Px, Py: Double);

**var**
A: Double;

C: Double;

B: Double;

D: Double;

E: Double;

F: Double;

G: Double;

**begin**
A := x2 - x1;

B := y2 - y1;

C := x3 - x1;

D := y3 - y1;

E := A * (x1 + x2) + B * (y1 + y2);

F := C * (x1 + x3) + D * (y1 + y3);

G := 2.0 * (A * (y3 - y2) - B * (x3 - x2));

**if** IsEqual(G, 0.0)

**then** Exit;

Px := (D * E - B * F) / G;

Py := (A * F - C * E) / G;

**end;**