A - A'

Etapa 1

E

F

G

C

Etapa 2: Teorema de Gravesande

Razón Cruzada

C'

G'

F'

E'

Distancias

A = Point(Ray[(0, 0), Vector[(-1, 0)]])
C_1 = Point(Ray[A, Vector[(0, 1)]])
O = Point(Ray[C_1, Vector[(-1, 0)]])
o = OrthogonalLine(A, xAxis)
E = Point(Ray[A, Vector[(1, 0)]])
E' = Intersect(o, Line[O, E])
F = Mirror(A, E)
F' = Intersect(o, Line[O, F])
F'A = Distance(F', A)
F'E' = Distance(F', E')
G = Mirror(E, F)
G' = Intersect(o, Line[O, G])
G'A = Distance(G', A)
G'E' = Distance(G', E')
g = OrthogonalLine(C_1, o)
C = Mirror(F, G)
C' = Intersect(o, Line[O, C])
h = Segment(O, E)
i = Segment(O, F)
j = Segment(O, G)
k = Segment(O, C)
l = OrthogonalLine(A, yAxis)
a = false
f = Line(E', l)
m = Line(F', l)
n = Line(C', l)
p = Line(G', l)
N = Point(g)
r_1: F'A / F'E' / (G'A / G'E')
c, d = AngularBisector(o, l)
E'_1 = Mirror(E, c)
F'_1 = Mirror(F, c)
G'_1 = Mirror(G, c)
C'_1 = Mirror(C, c)
u = false
g'e': G'E'
f'e': F'E'
g'a': G'A
f'a': F'A
texto1: "G'E' = " + g'e' + "  cm
F'E' = " + f'e' + "  cm
G'A' = " + g'a' + "  cm
F'A' = " + f'a' + "  cm

(F'A'/F'E')/(G'A'/G'E') = " + r_1 + ""
v = false
r = Line(A, N)
B = Intersect(n, r)
D = Intersect(p, r)
H = Intersect(m, r)
I = Intersect(f, r)
s = Line(E'_1, I)
t = Line(F'_1, H)
b = Line(G'_1, D)
e = Line(C'_1, B)
M = Intersect(s, t)
f_1 = Segment(M, C'_1)
g_1 = Segment(G'_1, M)
h_1 = Segment(F'_1, M)
i_1 = Segment(E'_1, M)
q = Segment(G', D)
j_1 = Segment(C', B)
k_1 = Segment(F', H)
l_1 = Segment(E', I)
m_1 = Segment(N, M)
w = false
distanciaOC1 = Distance(O, C_1)
distanciaNM = Distance(N, M)
TextoOC1: " " + distanciaOC1 + " cm"
TextoNM: "" + distanciaNM + " cm"