I_XLVII_b
Author: Rafael Losada

Versión dinámica de la proposición 47 del libro I de los Elementos de Euclides (teorema de Pitágoras) usando los colores del libro de Oliver Byrne.

B = (8.92, -1.7400000000000053)
A = (2.8000000000000007, -1.94)
M = Midpoint(A, B)
M3 = Rotate(B, 179.9*°, M)
M2 = Rotate(B, 90*°, M)
M1 = Rotate(B, 0.1*°, M)
t = 0 (slider from 0 to 12, step 0.01)
tiempos: {0, 0.25, 0.5, 1.5, 2, 3, 3.5, 4.5, 4.75, 5, 5.25, 5.5, 6.5, 7, 8, 8.5, 9.5, 9.75}
t1 = If(t < Element[tiempos, 3], 0, If[t > Element[tiempos, 4], 1, t - Element[tiempos, 3]])
t2 = If(t < Element[tiempos, 5], 0, If[t > Element[tiempos, 6], 1, t - Element[tiempos, 5]])
t3 = If(t < Element[tiempos, 7], 0, If[t > Element[tiempos, 8], 1, t - Element[tiempos, 7]])
t4 = If(t < Element[tiempos, 12], 0, If[t > Element[tiempos, 13], 1, t - Element[tiempos, 12]])
t5 = If(t < Element[tiempos, 14], 0, If[t > Element[tiempos, 15], 1, t - Element[tiempos, 14]])
t6 = If(t < Element[tiempos, 16], 0, If[t > Element[tiempos, 17], 1, t - Element[tiempos, 16]])
c = CircumcircleArc(M1, M2, M3)
C = Point(c)
a = Segment(A, B)
I: C + abs(C - B) * (C - A) / abs(C - A)
b1 = Line(C, I)
H: B + abs(C - B) * (C - A) / abs(C - A)
a1 = Line(H, a)
P = Intersect(a1, b1)
L = Midpoint(C, H)
l = Ray(B, L)
b = Segment(A, C)
d = Segment(C, B)
e = OrthogonalLine(C, a)
CC = Intersect(e, a)
D: C + abs(C - A) * (C - B) / abs(C - B)
E: A + abs(C - A) * (C - B) / abs(C - B)
F: A + abs(A - B) * (CC - C) / abs(CC - C)
G: B + abs(A - B) * (CC - C) / abs(CC - C)
f = Segment(B, H)
g = Segment(B, G)
h = Segment(G, F)
J = Intersect(h, e)
i = Segment(C, J)
K = Intersect(a, i)
j = Segment(H, A)
k = Segment(C, G)
lista1: {Polygon[B, C, I, H]}
lista2: {Polygon[A, C, D, E]}
lista3: {Polygon[A, F, J, K]}
lista4: {Polygon[B, K, J, G]}
α = Angle(H, B, C)
β = Angle(A, B, G)
γ = Angle(C, B, A)
C1': C + t1 * (P - I)
P1: I + t1 * (P - I)
P2: P1 + B - H
H' = Rotate(H, t2 * π / 2, B)
P1' = Rotate(P1, t2 * π / 2, B)
C1'' = Rotate(C1', t2 * π / 2, B)
P1'': P1' + t3 * (J - P1')
H'': H' + t3 * (J - P1')
lista5: {Polygon[B, H'', P1'', C1'']}
n = Segment(C1'', B)
p = Segment(B, H'')
a1' = Line(E, a)
b1' = Line(C, D)
Q = Intersect(a1', b1')
C2': C + t4 * (Q - D)
Q1: D + t4 * (Q - D)
Q2: Q1 + A - E
E' = Rotate(E, -t5 * π / 2, A)
Q1' = Rotate(Q1, -t5 * π / 2, A)
C2'' = Rotate(C2', -t5 * π / 2, A)
Q1'': Q1' + t6 * (J - Q1')
E'': E' + t6 * (J - Q1')
lista6: {Polygon[A, E'', Q1'', C2'']}
vel = 1 (slider from 1 to 5, step 1)
nada = 3 (slider from -5 to 5, step 1)
m2 = Segment(P1'', Intersect[Line[B, C1''], OrthogonalLine[P1'', Vector[B, C1'']]])
m1 = Segment(P1'', Intersect[Line[B, H''], OrthogonalLine[P1'', Vector[B, H'']]])