Hart's A-frame
Author: Chris Sangwin
Date: 23 December 2006

Move the point C, and watch the motion of the point P.    

Can you work out how this generates an exact straight line?

a = 8
b = 4
c: b^(2) / a
A = Intersect(xAxis, yAxis)
B = Point(xAxis)
d = Circle(A, a)
C = Point(d)
f = Segment(A, C)
h = Circle(C, b)
p = Circle(C, c)
R = Intersect(p, f, 1)
k = Circle(R, b)
e: a - b
g: a - c
q = Circle(B, g)
S = Intersect(k, q, 1)
i = Ray(B, S)
r = Circle(B, a)
D = Intersect(r, i, 1)
j = Segment(D, B)
l = Segment(R, S)
s = Circle(D, b)
P = Intersect(h, s, 1)
m = Segment(C, P)
n = Segment(D, P)