Usando i poligoni ricoprire i quadrati costruiti sui lati del triangolo rettangolo, provando così la validità del teorema di Pitagora. 
Afferrare i poligoni in modalità puntatore per spostarli.

Mostra soluzione

A = (-2.1511355680123954, -2.211451249173061)
B = (2.5779266502579503, -2.1713744507131425)
a = Line(A, B)
b = OrthogonalLine(A, a)
C = Point(b)
poly1, c, a_1, b_1 = Polygon(A, B, C)
d = OrthogonalLine(C, a_1)
e = OrthogonalLine(B, a_1)
f = Circle(B, C)
D = Intersect(f, e, 1)
g = OrthogonalLine(D, e)
E = Intersect(d, g)
poly2, c_1, b_2, d_1, e_1 = Polygon(C, B, D, E)
poly3, h, i, j = Quadratosusegmento(A, C, b_1)
k = OrthogonalLine(A, c)
l = OrthogonalLine(B, c)
p = Circle(A, B)
F = Intersect(p, k, 1)
m = OrthogonalLine(F, k)
G = Intersect(l, m)
poly4, a_2, f_1, g_1, b_3 = Polygon(A, F, G, B)
distanzaCA = Distance(C, A)
TestoCA: "\overline{" + (Name[C]) + (Name[A]) + "} \, = \, " + distanzaCA
q = Circle(F, distanzaCA)
H = Intersect(q, k, 1)
n = OrthogonalLine(H, k)
I = Intersect(q, f_1)
r = OrthogonalLine(I, m)
J = Intersect(n, r)
poly5, f_2, i_1, j_1, h_1 = Polygon(F, I, J, H)
s = OrthogonalLine(C, b_1)
K = Intersect(l, s)
L = Intersect(r, s)
t = Circle(L, K)
M = Intersect(t, r, 1)
k_1 = OrthogonalLine(M, r)
N = Intersect(l, k_1)
poly6, b_4, c_2, k_2 = Polygon(C, K, B)
poly7, c_3, e_2, l_1 = Polygon(E, L, C)
poly8, m_1, n_1, k_3, l_2 = Polygon(M, N, K, L)
poly9, d_2, e_3, m_2 = Polygon(E, M, D)
poly10, b_5, n_2, d_3 = Polygon(N, D, B)
p_1 = Line(A, a_1)
O = Intersect(g_1, p_1)
q_1 = Line(O, c)
P = Intersect(a_2, q_1)
distanzaCB = Distance(C, B)
TestoCB: "\overline{" + (Name[C]) + (Name[B]) + "} \, = \, " + distanzaCB
r_1 = Circle(H, distanzaCB)
Q = Intersect(r_1, q_1, 2)
poly11, o, a_3, p_2 = Polygon(A, P, O)
poly12, o_1, a_4, b_6 = Polygon(A, B, O)
poly13, p_3, h_2, q_2 = Polygon(H, Q, P)
poly14, q_3, h_3, j_2 = Polygon(H, J, Q)
poly15, i_2, g_2, o_2, q_4 = Polygon(I, G, O, Q)
distanzaAB = Distance(A, B)
TestoAB: "\overline{" + (Name[A]) + (Name[B]) + "} \, = \, " + distanzaAB
distanzaBC = Distance(B, C)
TestoBC: "\overline{" + (Name[B]) + (Name[C]) + "} \, = \, " + distanzaBC
R = (-26.243548814335927, 2.359969831405093)
s_1 = Circle(R, distanzaCA)
S = Point(s_1)
t_1 = Line(R, S)
r_2 = OrthogonalLine(R, t_1)
s_2 = Circle(R, distanzaAB)
T = Intersect(s_2, r_2, 1)
poly16, t_2, s_3, r_3 = Polygon(S, R, T)
U = (-21.129207335230888, 2.308309816464637)
f_3 = Circle(U, distanzaCA)
V = Point(f_3)
g_3 = Line(U, V)
i_3 = OrthogonalLine(U, g_3)
t_3 = Circle(U, distanzaAB)
W = Intersect(t_3, i_3, 1)
poly17, w, v, u = Polygon(V, U, W)
Z = (-26.70848894880003, -3.5292718718067846)
c_4 = Circle(Z, distanzaCA)
A_1 = Point(c_4)
j_3 = Line(Z, A_1)
l_3 = OrthogonalLine(A_1, j_3)
d_4 = Circle(A_1, distanzaAB)
B_1 = Intersect(d_4, l_3, 2)
poly18, b_7, z, a_5 = Polygon(Z, A_1, B_1)
C_1 = (-22.98896787308727, -3.580931886747238)
e_4 = Circle(C_1, distanzaCA)
D_1 = Point(e_4)
m_3 = Line(C_1, D_1)
n_3 = OrthogonalLine(D_1, m_3)
f_4 = Circle(D_1, distanzaAB)
E_1 = Intersect(f_4, n_3, 2)
poly19, e_5, c_5, d_5 = Polygon(C_1, D_1, E_1)
F_1 = (-19.217786782434047, 1.016809442953261)
g_4 = Circle(F_1, distanzaCA)
G_1 = Point(g_4)
h_4 = Line(F_1, G_1)
i_4 = OrthogonalLine(G_1, h_4)
k_4 = Circle(G_1, distanzaAB)
H_1 = Intersect(k_4, i_4, 1)
I_1 = (-15.704905766483105, 0.965149428012807)
p_4 = Circle(I_1, distanzaCA)
J_1 = Point(p_4)
j_4 = Line(I_1, J_1)
l_4 = OrthogonalLine(J_1, j_4)
r_4 = Circle(J_1, distanzaAB)
K_1 = Intersect(r_4, l_4, 1)
L_1 = (-18.597866603148585, 1.016809442953261)
s_4 = Circle(L_1, distanzaCA)
M_1 = Point(s_4)
m_4 = Line(L_1, M_1)
n_4 = OrthogonalLine(L_1, m_4)
t_4 = Circle(L_1, distanzaAB)
N_1 = Intersect(t_4, n_4, 1)
poly20, n_5, l_5, m_5 = Polygon(L_1, M_1, N_1)
O_1 = (-15.03332557225719, 0.9651494280128059)
f_5 = Circle(O_1, distanzaCA)
P_1 = Point(f_5)
g_5 = Line(O_1, P_1)
h_5 = OrthogonalLine(O_1, g_5)
k_5 = Circle(O_1, distanzaAB)
Q_1 = Intersect(k_5, h_5, 1)
poly21, q_5, o_3, p_5 = Polygon(O_1, P_1, Q_1)
R_1 = (-18.029606438803597, 5.097950623249209)
r_5 = Circle(R_1, distanzaAB)
S_1 = Point(r_5)
i_5 = Line(R_1, S_1)
j_5 = OrthogonalLine(S_1, i_5)
s_5 = Circle(S_1, distanzaCA)
T_1 = Intersect(s_5, j_5, 1)
poly22, t_5, r_6, s_6 = Polygon(R_1, S_1, T_1)
U_1 = (-12.915264959698534, 5.0462906083087535)
c_6 = Circle(U_1, distanzaAB)
V_1 = Point(c_6)
a_6 = Line(U_1, V_1)
d_6 = Circle(V_1, distanzaCA)
e_6 = OrthogonalLine(V_1, a_6)
W_1 = Intersect(d_6, e_6, 1)
poly23, w_1, u_1, v_1 = Polygon(U_1, V_1, W_1)
distanzaLK = Distance(L, K)
TestoLK: "\overline{" + (Name[L]) + (Name[K]) + "} \, = \, " + distanzaLK
Z_1 = (-11.72708461606807, -1.5661913040694913)
f_6 = Circle(Z_1, distanzaLK)
A_2 = Point(f_6)
g_6 = Line(Z_1, A_2)
h_6 = OrthogonalLine(Z_1, g_6)
i_6 = OrthogonalLine(A_2, g_6)
B_2 = Intersect(f_6, h_6, 1)
j_6 = OrthogonalLine(B_2, h_6)
C_2 = Intersect(i_6, j_6)
poly24, z_1, a_7, c_7, b_8 = Polygon(Z_1, A_2, C_2, B_2)
D_2 = (-11.675424601127611, 0.965149428012806)
k_6 = Circle(D_2, distanzaLK)
E_2 = Point(k_6)
l_6 = Line(D_2, E_2)
m_6 = OrthogonalLine(E_2, l_6)
n_6 = OrthogonalLine(D_2, l_6)
F_2 = Intersect(k_6, n_6, 1)
p_6 = OrthogonalLine(F_2, n_6)
G_2 = Intersect(m_6, p_6)
poly25, d_7, e_7, g_7, f_7 = Polygon(D_2, E_2, G_2, F_2)
u_2 = false

Tool: Circocerchio
Clicca sul triangolo
Input: poly1
Output: p, T

A = (-4.666277570350066, -0.6659276849718916)
B = (-6.154342751259048, -2.671580754892693)
C = (-1.5306066234247662, -3.3810584720750883)
poly1, c, a, b = Polygon(A, B, C)
j = LineBisector(a)
l = LineBisector(c)
T = Intersect(j, l)
p = Circle(T, B)

Tool: Circonferenza inscrita (command Circonferenzainscrita)
Clicca sui vertici del triangolo
Input: N, P, Q
Output: c_1, R

poly2, q_1, n_1, p_1 = Polygon(N, P, Q)
r = AngularBisector(N, Q, P)
s = AngularBisector(P, N, Q)
R = Intersect(r, s)
t = OrthogonalLine(R, p_1)
S = Intersect(t, p_1)
c_1 = Circle(R, S)

Tool: Ortocentro
Clicca sui vertici del triangolo
Input: E_1, F_1, G_1
Output: H_1

j_1 = Line(F_1, G_1)
l_1 = Line(G_1, E_1)
m_1 = OrthogonalLine(F_1, l_1)
n_1 = OrthogonalLine(E_1, j_1)
H_1 = Intersect(m_1, n_1)

Tool: Excerchi
Clicca su 3 rette che determinano un triangolo
Input: b, c, a
Output: p, E, D, F, q, r

d, e = AngularBisector(a, c)
f, g = AngularBisector(b, c)
h, i = AngularBisector(a, b)
D = Intersect(h, d)
E = Intersect(d, f)
F = Intersect(f, h)
j = OrthogonalLine(D, a)
k = OrthogonalLine(E, c)
l = OrthogonalLine(F, b)
G = Intersect(b, l)
H = Intersect(k, c)
I = Intersect(j, a)
p = Circle(E, H)
q = Circle(F, G)
r = Circle(D, I)

Tool: Tr. Equil. su lato (command Treqlato)
Clicca sugli estremi in verso orario
Input: A, C
Output: poly2, a_1, c_1, D, d_1

d = Circle(C, A)
e = Circle(A, C)
D = Intersect(d, e, 2)
poly2, c_1, a_1, d_1 = Polygon(A, D, C)

Tool: Rapporto aureo (command Rapportoaureo)
Clicca sugli estremi del segmento
Input: A, B
Output: E

a = Segment(A, B)
b = OrthogonalLine(B, a)
M = Midpoint(a)
c = Circle(B, M)
C = Intersect(c, b, 2)
d = Segment(C, A)
e = Circle(C, B)
D = Intersect(e, d, 1)
f = Circle(A, D)
E = Intersect(f, a, 1)

Tool: Quadrato su segmento (command Quadratosusegmento)
Clicca sugli estremi e sul segmento
Input: A, B, a_1
Output: poly2, e_1, d_1, b_2

a = Line(A, B)
b = OrthogonalLine(A, a)
C = Point(b)
poly1, c, a_1, b_1 = Polygon(A, B, C)
d = OrthogonalLine(C, a_1)
e = OrthogonalLine(B, a_1)
f = Circle(B, C)
D = Intersect(f, e, 1)
g = OrthogonalLine(D, e)
E = Intersect(d, g)
poly2, c_1, b_2, d_1, e_1 = Polygon(C, B, D, E)