Proof of Pythagoras Theorem
Loading the math board and drawing, please wait…
This example demonstrates the geometric proof of the Pythagorean Theorem by constructing a right triangle and related shapes to verify the theorem. Core mathematical concepts include right triangles, area, coordinates, and matrices. GeoGebra commands/objects used in the construction include Polygon, Intersect, Segment, Line, Translate, and If. Suitable for high school mathematics students or enthusiasts to deepen their understanding of the Pythagorean Theorem and its applications.
GeoGebra Commands & Parameters
Polygon(C, A, B) → poly1, b, c, aIntersect(c, b) → FIntersect(a, b) → GIntersect(a, c) → JPolygon(G, J, 4) → poly3, h, i, j, k, K, LPolygon(F, G, 4) → poly2, d, e, f, g, D, ESegment(D, F) → lSegment(E, G) → mIntersect(l, m) → HIntersect(m, poly2) → I, MLine(H, a) → nIntersect(e, poly2) → N, OIntersect(n, e) → PIntersect(n, g) → QSegment(P, Q) → pLine(H, i) → qIntersect(q, b) → RIntersect(q, poly2) → S, TPolygon(J, F, 4) → poly4, r, s, t_1, a_1, U, VSegment(S, R) → b_1Polygon(O, P, H, S) → poly5, o, p_1, h_1, s_1Polygon(P, G, R, H) → poly6, p_2, g_1, r_1, h_2Polygon(S, H, Q, I) → poly7, s_2, h_3, q_1, i_1Polygon(H, R, F, Q) → poly8, h_4, r_2, f_1, q_2Intersect(j, i) → WIntersect(j, k) → ZIntersect(b, d) → C_1Intersect(b_1, r_1) → D_1Intersect(b_1, r_1) → E_1Translate(G, (1, 0.75)) → G'Translate(R, (1, 0.75)) → R'Translate(G', (1, 0.75)) → G''Translate(R', (1, 0.75)) → R''Translate(G'', (0.24, 0.18)) → G'''Translate(R'', (0.24, 0.18)) → R'''Translate(H, (2.24, 1.68)) → H'''Translate(G''', (2.76, -3.68)) → H_1Translate(R''', (2.76, -3.68)) → I_1Translate(H''', (2.76, -3.68)) → J_1Translate(O, (2, 1.5)) → O'Translate(P, (2, 1.5)) → P'_1Translate(S, (2, 1.5)) → S'Translate(O, (4, 3)) → O'_1Translate(P, (4, 3)) → P'_2Translate(S, (4, 3)) → S'_1Translate(O, (6, 4.5)) → O'_2Translate(P, (6, 4.5)) → P'_3Translate(S, (6, 4.5)) → S'_2Translate(O, (6, 4.5)) → O'_3Translate(P, (6, 4.5)) → P'_4Translate(S, (6, 4.5)) → S'_3Translate(O, (2, 1.5)) → O'_4Translate(P, (2, 1.5)) → P'_5Translate(H, (2, 1.5)) → H'_3Translate(S, (2, 1.5)) → S'_4Translate(O, (4, 3)) → O'_5Translate(P, (4, 3)) → P'_6Translate(H, (4, 3)) → H'_1Translate(S, (4, 3)) → S'_5Translate(O, (6.24, 4.68)) → O'_6Translate(P, (6.24, 4.68)) → P'_7Translate(H, (6.24, 4.68)) → H'_2Translate(S, (6.24, 4.68)) → S'_6Translate(O'_6, (2.76, -3.68)) → F_1Translate(P'_7, (2.76, -3.68)) → K_1Translate(H'_2, (2.76, -3.68)) → L_1Translate(S'_6, (2.76, -3.68)) → M_1Translate(H, (2, 1.5)) → H'_4Translate(R, (2, 1.5)) → R'_1Translate(Q, (2, 1.5)) → Q'Translate(S, (2, 1.5)) → S'_7Translate(H, (2, 1.5)) → H'_5Translate(Q, (2, 1.5)) → Q'_1Translate(I, (2, 1.5)) → I'Translate(S, (6, 4.5)) → S'_8Translate(H, (6, 4.5)) → H'_6Translate(Q, (6, 4.5)) → Q'_2Translate(I, (6, 4.5)) → I'_1Translate(S'_8, (0, 0.5)) → N_1Translate(H'_6, (0, 0.5)) → O_1Translate(Q'_2, (0, 0.5)) → P_1Translate(I'_1, (0, 0.5)) → Q_1Translate(H'_4, (0, 0.5)) → R_1Translate(R'_1, (0, 0.5)) → S_1Translate(Q', (0, 0.5)) → Q''Translate(S, (6.24, (0.75 * 6.24))) → S'_{11}Translate(H, (6.24, (0.75 * 6.24))) → H'_{10}Translate(Q, (6.24, (0.75 * 6.24))) → Q'_5Translate(I, (6.24, (0.75 * 6.24))) → I'_3Translate(S, (6.24, (0.75 * 6.24))) → S'_{12}Translate(H, (6.24, (0.75 * 6.24))) → H'_{11}Translate(Q, (6.24, (0.75 * 6.24))) → Q'_6Translate(I, (6.24, (0.75 * 6.24))) → I'_4Translate(H, (2.24, 1.68)) → H'_{12}Translate(R, (2.24, 1.68)) → R'_4Translate(F, (2.24, 1.68)) → F'_2Translate(Q, (2.24, 1.68)) → Q'_7If(0 ≤ t ≤ 2.24, Polygon[Translate[P, (t, (0.75 * t))], Translate[G, (t, (0.75 * t))], Translate[R, (t, (0.75 * t))], Translate[H, (t, (0.75 * t))]]) → poly10Translate(P, (5, -2)) → P'_{10}Translate(G, (5, -2)) → G'_2Translate(R, (5, -2)) → R'_5Translate(H, (5, -2)) → H'_{13}Polygon(P'_{10}, G'_2, R'_5, H'_{13}) → poly6_f, p'_{10}, g'_2, r'_5, h'_{13}Translate(P, (2.24, 1.68)) → P'_{11}Translate(G, (2.24, 1.68)) → G'_3Translate(R, (2.24, 1.68)) → R'_6Translate(H, (2.24, 1.68)) → H'_{14}If(2.24 ≤ t ≤ 5, Polygon[Translate[P'_{11}, (t - 2.24, (-4 / 3 * (t - 2.24)))], Translate[G'_3, (t - 2.24, (-4 / 3 * (t - 2.24)))], Translate[R'_6, (t - 2.24, (-4 / 3 * (t - 2.24)))], Translate[H'_{14}, (t - 2.24, (-4 / 3 * (t - 2.24)))]]) → poly11Translate(O, (6.24, 4.68)) → O'_8Translate(P, (6.24, 4.68)) → P'Translate(H, (6.24, 4.68)) → H'Translate(S, (6.24, 4.68)) → S'_{13}If(5 ≤ t ≤ 11.24, Polygon[Translate[O, (t - 5, (0.75 * (t - 5)))], Translate[P, (t - 5, (0.75 * (t - 5)))], Translate[H, (t - 5, (0.75 * (t - 5)))], Translate[S, (t - 5, (0.75 * (t - 5)))]]) → poly12Translate(O, (6.24, 4.68)) → O'_9Translate(P, (6.24, 4.68)) → P'_8Translate(H, (6.24, 4.68)) → H'_{15}Translate(S, (6.24, 4.68)) → S'_{14}If(11.24 ≤ t ≤ 14, Polygon[Translate[O'_9, (t - 11.24, (-3.68 * (t - 11.24) / 2.76))], Translate[P'_8, (t - 11.24, (-3.68 * (t - 11.24) / 2.76))], Translate[H'_{15}, (t - 11.24, (-3.68 * (t - 11.24) / 2.76))], Translate[S'_{14}, (t - 11.24, (-3.68 * (t - 11.24) / 2.76))]]) → poly13Translate(O, (7, 3)) → O'_7Translate(P, (7, 3)) → P'_9Translate(H, (7, 3)) → H'_7Translate(S, (7, 3)) → S'_9Translate(O, (9, 1)) → O'_{10}Translate(P, (9, 1)) → P'_{12}Translate(S, (9, 1)) → S'_{15}Translate(O, (9, 1)) → O'_{11}Translate(P, (9, 1)) → P'_{13}Translate(S, (9, 1)) → S'_{16}Translate(O, (9, 1)) → O'_{12}Translate(P, (9, 1)) → P'_{14}Translate(H, (9, 1)) → H'_{18}Translate(S, (9, 1)) → S'_{17}Polygon(O'_{12}, P'_{14}, H'_{18}, S'_{17}) → poly5_f, o'_{12}, p'_{14}, h'_{18}, s'_{17}If(14 ≤ t ≤ 16.24, Polygon[Translate[H, (t - 14, (0.75 * (t - 14)))], Translate[R, (t - 14, (0.75 * (t - 14)))], Translate[F, (t - 14, (0.75 * (t - 14)))], Translate[Q, (t - 14, (0.75 * (t - 14)))]]) → poly15Translate(H, (2.24, 1.68)) → H'_{19}Translate(R, (2.24, 1.68)) → R'_2Translate(F, (2.24, 1.68)) → F'_3Translate(Q, (2.24, 1.68)) → Q'_8If(16.24 ≤ t ≤ 17.24, Polygon[Translate[H'_{19}, ((-0.24 * (t - 16.24)), (0.32 * (t - 16.24)))], Translate[R'_2, ((-0.24 * (t - 16.24)), (0.32 * (t - 16.24)))], Translate[F'_3, ((-0.24 * (t - 16.24)), (0.32 * (t - 16.24)))], Translate[Q'_8, ((-0.24 * (t - 16.24)), (0.32 * (t - 16.24)))]]) → poly14Translate(H, (2, 2)) → H'_{20}Translate(R, (2, 2)) → R'_7Translate(F, (2, 2)) → F'_4Translate(Q, (2, 2)) → Q'_9Polygon(H'_{20}, R'_7, F'_4, Q'_9) → poly8_f, h'_{20}, r'_7, f'_4, q'_9If(17.24 ≤ t ≤ 23.48, Polygon[Translate[S, (t - 17.24, (0.75 * (t - 17.24)))], Translate[H, (t - 17.24, (0.75 * (t - 17.24)))], Translate[Q, (t - 17.24, (0.75 * (t - 17.24)))], Translate[I, (t - 17.24, (0.75 * (t - 17.24)))]]) → poly16Translate(S, (6.24, 4.68)) → S'_{18}Translate(H, (6.24, 4.68)) → H'_8Translate(Q, (6.24, 4.68)) → Q'_3Translate(I, (6.24, 4.68)) → I'_5If(23.48 ≤ t ≤ 24.48, Polygon[Translate[S'_{18}, ((-0.24 * (t - 23.48)), (0.32 * (t - 23.48)))], Translate[H'_8, ((-0.24 * (t - 23.48)), (0.32 * (t - 23.48)))], Translate[Q'_3, ((-0.24 * (t - 23.48)), (0.32 * (t - 23.48)))], Translate[I'_5, ((-0.24 * (t - 23.48)), (0.32 * (t - 23.48)))]]) → poly17Translate(S, (6, 5)) → S'_{10}Translate(H, (6, 5)) → H'_9Translate(Q, (6, 5)) → Q'_4Translate(I, (6, 5)) → I'_2Polygon(S'_{10}, H'_9, Q'_4, I'_2) → poly7_f, s'_{10}, h'_9, q'_4, i'_2If(24.48 ≤ t ≤ 26.48, Translate[poly4, (t - 24.48, (2.5 * (t - 24.48)))]) → poly9Translate(poly4, (2, 5)) → poly4_fPolygon(F, G, 4) → poly18, c_1, d_1, e_1, j_1, A_1, B_1Polygon(J, F, 4) → poly19, k_1, l_1, m_1, n_1, G_1, T_1