I

I'

J

P'

minor circle

O = Intersect(xAxis, yAxis)
B = Point(yAxis)
B' = Mirror(O, B)
A = Point(yAxis)
A' = Mirror(O, A)
H' = Rotate(A, -90*°, O)
q = OrthogonalLine(H', b)
H'' = Mirror(H', O)
a = Segment(H'', H')
H = Point(a)
e = OrthogonalLine(H, a)
c = Circle(O, A)
M = Intersect(c, e, 2)
u = Vector(H, M)
M' = Translate(H', u)
j = Line(A', M')
J = Intersect(b, j)
m = Line(B', J)
f = Line(A, M)
I = Intersect(b, f)
g = Line(B, I)
h = OrthogonalLine(B, d)
C = Intersect(c, h, 1)
i = OrthogonalLine(C, h)
F' = Intersect(b, i)
F = Mirror(F', O)
k = Ellipse(F', F, B)
n = Segment(M, M')
P' = Intersect(m, q)
v = Vector(H', P')
P = Translate(H, v)
p = Segment(P, P')
r = Line(A', M)
I' = Intersect(b, r)
s = Line(B', I')
bi = false
bi' = false
bj = false
t = Circle(O, B)
l = Segment(M, O)
P_1 = Intersect(t, l, 1)
a_1 = Segment(P_1, P)
bk = true