LiveGraphics3D Example:
Geometric Constructions (Circumcircle)

Circumcircle of a Triangle
 This example demonstrates the construction of the circumcircle of a triangle in the xy-plane. The scene is parametrized by the coordinates of the vertices of the triangle; thus, you may drag these vertices to new positions and the circumcircle will be recalculated accordingly.

Implementation

Here is how I created this example within Mathematica:

```a = {ax, ay, 0}; b = {bx, by, 0}; c = {cx, cy, 0};

independentVariables =
{ax -> 1, ay -> 3, bx -> 4, by -> 2, cx -> 2, cy -> 5};

mab = (a + b)/2; mbc = (b + c)/2; mac = (a + c)/2; o = {ox, oy, 0};

orthogonal[{x_, y_, 0}] := {-y, x, 0}

sol = ((mab + l1*orthogonal[b - a]) /.
Solve[mab + l1*orthogonal[b - a] == mbc + l2*orthogonal[c - b],
{l1, l2}][])

dependentVariables = {ox -> sol[], oy -> sol[],
r -> Sqrt[(a - o).(a - o)]};

circlePoints =  Table[o + r*{Sin[phi], Cos[phi], 0},
{phi, 0, 2. Pi + 0.000001, 2. Pi/100.}];

scene = Graphics3D[{{Thickness[0.015], Line[{a, b, c, a}]},
Line[{mab, o}], Line[{mbc, o}], Line[{mac, o}],
PointSize[0.05], Point[a], Point[b], Point[c],
PointSize[0.02], Point[o], Line[circlePoints]},
Boxed -> False, ViewPoint -> {0, 0, 3}, ViewVertical -> {0, 1, 0}];

Show[scene //. dependentVariables /. independentVariables];
```

Then the InputForm of the scene and the replacement rules were pasted into this HTML page.

Martin Kraus, May 9, 2001