Ojo A'

ControlC = Point(xAxis)
f = OrthogonalLine(ControlC, xAxis)
C = Point(f)
G = Point(f)
g = OrthogonalLine(C, f)
A = Point(g)
A' = Mirror(A, f)
ControlCircunferencia = Point(xAxis)
Centro = Intersect(xAxis, yAxis)
c = Circle(Centro, ControlCircunferencia)
h = Segment(G, A)
a = false
T = Intersect(c, g, 2)
E = Intersect(c, g, 1)
k = Line(A, G)
d = CircleArc(Centro, E, T)
P = Point(d)
j = OrthogonalLine(P, f)
Q = Intersect(k, j)
R = Intersect(f, j)
P' = Translate(P, Vector[Q, R])
lugar1 = Locus(P', P)
i = Line(G, A')
S = Intersect(j, i)
P'' = Translate(P, Vector[S, R])
lugar2 = Locus(P'', P)
l = Segment(G, C)
m = Segment(G, A')
n = Segment(P, R)
p = Segment(P', Q)
q = Segment(P'', S)
r = Segment(A, Q)
s = Segment(S, A')
t = Segment(C, R)