Proof of Pythagoras Theorem

Proof of Pythagoras Theorem
Loading the math board and drawing, please wait…
2016-01-14 02:06
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

  1. Polygon(C, A, B) → poly1, b, c, a
  2. Intersect(c, b) → F
  3. Intersect(a, b) → G
  4. Intersect(a, c) → J
  5. Polygon(G, J, 4) → poly3, h, i, j, k, K, L
  6. Polygon(F, G, 4) → poly2, d, e, f, g, D, E
  7. Segment(D, F) → l
  8. Segment(E, G) → m
  9. Intersect(l, m) → H
  10. Intersect(m, poly2) → I, M
  11. Line(H, a) → n
  12. Intersect(e, poly2) → N, O
  13. Intersect(n, e) → P
  14. Intersect(n, g) → Q
  15. Segment(P, Q) → p
  16. Line(H, i) → q
  17. Intersect(q, b) → R
  18. Intersect(q, poly2) → S, T
  19. Polygon(J, F, 4) → poly4, r, s, t_1, a_1, U, V
  20. Segment(S, R) → b_1
  21. Polygon(O, P, H, S) → poly5, o, p_1, h_1, s_1
  22. Polygon(P, G, R, H) → poly6, p_2, g_1, r_1, h_2
  23. Polygon(S, H, Q, I) → poly7, s_2, h_3, q_1, i_1
  24. Polygon(H, R, F, Q) → poly8, h_4, r_2, f_1, q_2
  25. Intersect(j, i) → W
  26. Intersect(j, k) → Z
  27. Intersect(b, d) → C_1
  28. Intersect(b_1, r_1) → D_1
  29. Intersect(b_1, r_1) → E_1
  30. Translate(G, (1, 0.75)) → G'
  31. Translate(R, (1, 0.75)) → R'
  32. Translate(G', (1, 0.75)) → G''
  33. Translate(R', (1, 0.75)) → R''
  34. Translate(G'', (0.24, 0.18)) → G'''
  35. Translate(R'', (0.24, 0.18)) → R'''
  36. Translate(H, (2.24, 1.68)) → H'''
  37. Translate(G''', (2.76, -3.68)) → H_1
  38. Translate(R''', (2.76, -3.68)) → I_1
  39. Translate(H''', (2.76, -3.68)) → J_1
  40. Translate(O, (2, 1.5)) → O'
  41. Translate(P, (2, 1.5)) → P'_1
  42. Translate(S, (2, 1.5)) → S'
  43. Translate(O, (4, 3)) → O'_1
  44. Translate(P, (4, 3)) → P'_2
  45. Translate(S, (4, 3)) → S'_1
  46. Translate(O, (6, 4.5)) → O'_2
  47. Translate(P, (6, 4.5)) → P'_3
  48. Translate(S, (6, 4.5)) → S'_2
  49. Translate(O, (6, 4.5)) → O'_3
  50. Translate(P, (6, 4.5)) → P'_4
  51. Translate(S, (6, 4.5)) → S'_3
  52. Translate(O, (2, 1.5)) → O'_4
  53. Translate(P, (2, 1.5)) → P'_5
  54. Translate(H, (2, 1.5)) → H'_3
  55. Translate(S, (2, 1.5)) → S'_4
  56. Translate(O, (4, 3)) → O'_5
  57. Translate(P, (4, 3)) → P'_6
  58. Translate(H, (4, 3)) → H'_1
  59. Translate(S, (4, 3)) → S'_5
  60. Translate(O, (6.24, 4.68)) → O'_6
  61. Translate(P, (6.24, 4.68)) → P'_7
  62. Translate(H, (6.24, 4.68)) → H'_2
  63. Translate(S, (6.24, 4.68)) → S'_6
  64. Translate(O'_6, (2.76, -3.68)) → F_1
  65. Translate(P'_7, (2.76, -3.68)) → K_1
  66. Translate(H'_2, (2.76, -3.68)) → L_1
  67. Translate(S'_6, (2.76, -3.68)) → M_1
  68. Translate(H, (2, 1.5)) → H'_4
  69. Translate(R, (2, 1.5)) → R'_1
  70. Translate(Q, (2, 1.5)) → Q'
  71. Translate(S, (2, 1.5)) → S'_7
  72. Translate(H, (2, 1.5)) → H'_5
  73. Translate(Q, (2, 1.5)) → Q'_1
  74. Translate(I, (2, 1.5)) → I'
  75. Translate(S, (6, 4.5)) → S'_8
  76. Translate(H, (6, 4.5)) → H'_6
  77. Translate(Q, (6, 4.5)) → Q'_2
  78. Translate(I, (6, 4.5)) → I'_1
  79. Translate(S'_8, (0, 0.5)) → N_1
  80. Translate(H'_6, (0, 0.5)) → O_1
  81. Translate(Q'_2, (0, 0.5)) → P_1
  82. Translate(I'_1, (0, 0.5)) → Q_1
  83. Translate(H'_4, (0, 0.5)) → R_1
  84. Translate(R'_1, (0, 0.5)) → S_1
  85. Translate(Q', (0, 0.5)) → Q''
  86. Translate(S, (6.24, (0.75 * 6.24))) → S'_{11}
  87. Translate(H, (6.24, (0.75 * 6.24))) → H'_{10}
  88. Translate(Q, (6.24, (0.75 * 6.24))) → Q'_5
  89. Translate(I, (6.24, (0.75 * 6.24))) → I'_3
  90. Translate(S, (6.24, (0.75 * 6.24))) → S'_{12}
  91. Translate(H, (6.24, (0.75 * 6.24))) → H'_{11}
  92. Translate(Q, (6.24, (0.75 * 6.24))) → Q'_6
  93. Translate(I, (6.24, (0.75 * 6.24))) → I'_4
  94. Translate(H, (2.24, 1.68)) → H'_{12}
  95. Translate(R, (2.24, 1.68)) → R'_4
  96. Translate(F, (2.24, 1.68)) → F'_2
  97. Translate(Q, (2.24, 1.68)) → Q'_7
  98. If(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))]]) → poly10
  99. Translate(P, (5, -2)) → P'_{10}
  100. Translate(G, (5, -2)) → G'_2
  101. Translate(R, (5, -2)) → R'_5
  102. Translate(H, (5, -2)) → H'_{13}
  103. Polygon(P'_{10}, G'_2, R'_5, H'_{13}) → poly6_f, p'_{10}, g'_2, r'_5, h'_{13}
  104. Translate(P, (2.24, 1.68)) → P'_{11}
  105. Translate(G, (2.24, 1.68)) → G'_3
  106. Translate(R, (2.24, 1.68)) → R'_6
  107. Translate(H, (2.24, 1.68)) → H'_{14}
  108. 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)))]]) → poly11
  109. Translate(O, (6.24, 4.68)) → O'_8
  110. Translate(P, (6.24, 4.68)) → P'
  111. Translate(H, (6.24, 4.68)) → H'
  112. Translate(S, (6.24, 4.68)) → S'_{13}
  113. 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)))]]) → poly12
  114. Translate(O, (6.24, 4.68)) → O'_9
  115. Translate(P, (6.24, 4.68)) → P'_8
  116. Translate(H, (6.24, 4.68)) → H'_{15}
  117. Translate(S, (6.24, 4.68)) → S'_{14}
  118. 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))]]) → poly13
  119. Translate(O, (7, 3)) → O'_7
  120. Translate(P, (7, 3)) → P'_9
  121. Translate(H, (7, 3)) → H'_7
  122. Translate(S, (7, 3)) → S'_9
  123. Translate(O, (9, 1)) → O'_{10}
  124. Translate(P, (9, 1)) → P'_{12}
  125. Translate(S, (9, 1)) → S'_{15}
  126. Translate(O, (9, 1)) → O'_{11}
  127. Translate(P, (9, 1)) → P'_{13}
  128. Translate(S, (9, 1)) → S'_{16}
  129. Translate(O, (9, 1)) → O'_{12}
  130. Translate(P, (9, 1)) → P'_{14}
  131. Translate(H, (9, 1)) → H'_{18}
  132. Translate(S, (9, 1)) → S'_{17}
  133. Polygon(O'_{12}, P'_{14}, H'_{18}, S'_{17}) → poly5_f, o'_{12}, p'_{14}, h'_{18}, s'_{17}
  134. 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)))]]) → poly15
  135. Translate(H, (2.24, 1.68)) → H'_{19}
  136. Translate(R, (2.24, 1.68)) → R'_2
  137. Translate(F, (2.24, 1.68)) → F'_3
  138. Translate(Q, (2.24, 1.68)) → Q'_8
  139. If(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)))]]) → poly14
  140. Translate(H, (2, 2)) → H'_{20}
  141. Translate(R, (2, 2)) → R'_7
  142. Translate(F, (2, 2)) → F'_4
  143. Translate(Q, (2, 2)) → Q'_9
  144. Polygon(H'_{20}, R'_7, F'_4, Q'_9) → poly8_f, h'_{20}, r'_7, f'_4, q'_9
  145. If(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)))]]) → poly16
  146. Translate(S, (6.24, 4.68)) → S'_{18}
  147. Translate(H, (6.24, 4.68)) → H'_8
  148. Translate(Q, (6.24, 4.68)) → Q'_3
  149. Translate(I, (6.24, 4.68)) → I'_5
  150. If(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)))]]) → poly17
  151. Translate(S, (6, 5)) → S'_{10}
  152. Translate(H, (6, 5)) → H'_9
  153. Translate(Q, (6, 5)) → Q'_4
  154. Translate(I, (6, 5)) → I'_2
  155. Polygon(S'_{10}, H'_9, Q'_4, I'_2) → poly7_f, s'_{10}, h'_9, q'_4, i'_2
  156. If(24.48 ≤ t ≤ 26.48, Translate[poly4, (t - 24.48, (2.5 * (t - 24.48)))]) → poly9
  157. Translate(poly4, (2, 5)) → poly4_f
  158. Polygon(F, G, 4) → poly18, c_1, d_1, e_1, j_1, A_1, B_1
  159. Polygon(J, F, 4) → poly19, k_1, l_1, m_1, n_1, G_1, T_1