Teorema de Pitágoras. Demostración de Thâbit Ibn Qurra
Author: J.Orenga
Date: Octubre de 2011

Cuadrado cateto izquierdo

Cuadrado cateto abajo

Cuadrado hipotenusa

Clic para la línea vertical

Debes seguir los pasos de la demostración, 
en el orden en que se te indica:

Esta demostración se basa también en comprobar que: 

El área del cuadrado construído sobre la hipotenusa es igual 
a la suma de las áreas de los cuadrados construídos sobre los catetos

Por tanto:

Paso 1: Haz cic sobre cada una delas tres casilas para dibujarlos tres cuadrados

Paso 2: Haz cic sobre cada una de 
las tres casilas para dibujar 
los tres cuadrados

Paso 2: Desplaza (moviendo el deslizador hasta
el final) el cuadrado izquierdo sobre el triángulo.

Paso 3: Mueve los dos deslizadores (en el orden
que quieras) para situar el cuadrado de abajo

Paso 4: Completamos el dibujo con una línea 
vertical que divide la zona azul en dos triángulos

Paso 5: Ya tenemos situados los tres cuadrados en la posición necesaria
para demostrar que el área del cuadrado grande (el azul que ha quedado torcido)
es igual a la suma de los otros dos (que han quedado juntos sobre la recta AC)

IMPORTANTE: LOS DESLIZADORES DEBEN MOVERSE SIEMPRE HASTA EL FINAL. 

Por tanto, si comprobamos que  los dos triángulos azules y los dos triángulos verdes 
y marrones con vértice en C) son iguales, tendremos resuelta la demostración.

Para ello, basta con que muevas este deslizador:

NOTA FINAL: Para ver de nuevo la demostración, puedes:
- ir hacia atrás paso a paso.
- o pulsar F5 y comenzar de nuevo.

A = (-3, -1)
a = Segment((x(A), y(A) + 0.75), (x(A), y(A) + 3))
b = Segment((x(A) + 3.5, y(A)), (x(A) + 6, y(A)))
B = Point(a)
C = Point(b)
polígono1, c, a_1, b_1 = Polygon(A, B, C)
D = Intersect(b_1, c)
polígono2, d, b_2, e, f, E, F = Polygon(D, B, 4)
g = false
G = Intersect(b_1, c)
polígono3, c_1, g_1, h, i, H, I = Polygon(C, G, 4)
j = false
polígono4, b_3, c_2, k, l, J, K = Polygon(B, C, 4)
m = false
p = 0 (slider from 0 to Distance[F, G], step 0.1)
polígono5, n, q, r, s = Polygon((x(F) + p, y(F)), (x(F) + Distance[F, G] + p, y(F)), (x(F) + Distance[F, G] + p, y(F) + Distance[F, G]), (x(F) + p, y(F) + Distance[F, G]))
t = 0 (slider from 0 to Distance[A, B], step 0.1)
u = 0 (slider from 0 to Distance[A, C], step 0.1)
polígono7, i_1, j_1, k_1, l_1 = Polygon((x(A) + t, y(A) + u), (x(A) + Distance[A, C] + t, y(A) + u), (x(A) + Distance[A, C] + t, y(A) + u - Distance[A, C]), (x(A) + t, y(A) + u - Distance[A, C]))
L: (x(A) + t, y(A) + u)
m_1 = Segment(K, L)
o = false
M = (6.874587655339541, 0.21621723302223012)
N = (17.91516848347339, 0.26453487340793624)
n_1 = Segment(M, N)
O = (6.826270014953833, -1.378264899706072)
P = (13.300833826638454, -1.3299472593203658)
p_1 = Segment(O, P)
Q = (6.802111194760981, -2.9727470324343743)
R = (13.80816905068837, -2.9485882122415212)
q_1 = Segment(Q, R)
α = 0 rad (slider from 0 to 270°, step 0.02)
L' = Rotate(L, (-α), J)
J' = Rotate(J, 270 - α, J)
K' = Rotate(K, (-α), J)
polígono8, k', l', j' = Polygon(L', J', K')
s_1 = OrthogonalLine(B, c)
S = Intersect(m_1, j')
T = Intersect(m_1, j')
U = Intersect(s_1, r)
V = Intersect(s_1, r)
W = Intersect(s_1, r)
Z = Intersect(s_1, r)
A_1 = Intersect(m_1, j')
B_1 = Intersect(s_1, r)
C_1 = Intersect(s_1, r)
D_1 = Intersect(m_1, j')
E_1 = Intersect(b_1, a_1)
F_1 = Intersect(l_1, k_1)
d_1 = Line(K, F_1)
G_1 = Intersect(s_1, d_1)
B' = Rotate(B, α, B)
H_1 = Rotate(G_1, α, B)
K'_1 = Rotate(K, α, B)
polígono6, k'_1, b', h_1 = Polygon(B', H_1, K'_1)
I_1 = (5.908234847625418, -1.4990590006703362)
J_1 = (5.956552488011124, -5.436946692105385)
e_1 = Segment(I_1, J_1)