Leonardo da Vinci's Proof of the Pythagorean Theorem in Euclidean Context

Leonardo da Vinci's Proof of the Pythagorean Theorem in Euclidean Context
Loading the math board and drawing, please wait…
2015-01-12 04:14
① This GeoGebra example dynamically demonstrates Leonardo da Vinci's classic proof of the Pythagorean theorem within a Euclidean geometry framework, visually showing that the sum of the areas of squares on the two legs of a right triangle equals the area of the square on the hypotenuse. ② Core mathematical concepts include the Pythagorean theorem, area conservation, congruent triangles, symmetry transformations, and polygon area decomposition, rooted in Euclidean geometric reasoning. ③ Construction highlights: using GeoGebra commands such as Segment, Point, Polygon, Vector, and Intersect, the example builds a right triangle with squares on each side, then adds auxiliary lines, symmetric points, and polygon subdivisions (involving objects A, B, a, C, b, D, c, E, d, e, f, F, g, h, G, i, H, j, k, I, l, J, m, n, p, q, r, K, s, t, L, a_1, b_1, M, c_1, N, O, d_1, P, e_1) to visualize the area relationships. ④ Suitable for high school and above students learning geometric proofs, and for teachers demonstrating multiple proofs of the Pythagorean theorem to enhance geometric intuition and logical reasoning.

GeoGebra Commands & Parameters

  1. Segment(A, B) → a
  2. Segment(B, C) → b
  3. Segment(C, D) → c
  4. Segment(D, E) → d
  5. Segment(E, A) → e
  6. Segment(A, C) → f
  7. Segment(D, F) → g
  8. Segment(F, E) → h
  9. Segment(B, G) → i
  10. Segment(G, H) → j
  11. Segment(H, C) → k
  12. Segment(A, I) → l
  13. Segment(I, J) → m
  14. Segment(J, B) → n
  15. Segment(J, G) → p
  16. Segment(I, H) → q
  17. Segment(F, B) → r
  18. Point(r) → K
  19. Segment(A, K) → s
  20. Segment(K, E) → t
  21. Point(r) → L
  22. Segment(C, L) → a_1
  23. Segment(D, L) → b_1
  24. Point(c) → M
  25. Segment(L, M) → c_1
  26. Segment(N, O) → d_1
  27. Segment(O, P) → e_1
  28. Segment(P, Q) → f_1
  29. Segment(Q, N) → g_1
  30. Segment(N, R) → h_1
  31. Segment(R, Q) → i_1
  32. Segment(N, S) → j_1
  33. Segment(S, T) → k_1
  34. Segment(T, R) → l_1
  35. Segment(R, U) → m_1
  36. Segment(U, V) → n_1
  37. Segment(V, Q) → p_1
  38. Segment(T, U) → q_1
  39. Segment(P, W) → r_1
  40. Segment(W, O) → s_1
  41. Segment(S, V) → t_1
  42. Segment(R, W) → a_2
  43. Point(a_2) → Z
  44. Segment(O, Z) → b_2
  45. Point(a_2) → A_1
  46. Segment(A_1, Q) → c_2
  47. Segment(A_1, P) → d_2
  48. Point(f_1) → B_1
  49. Segment(A_1, B_1) → e_2
  50. Segment(K, A) → f_2
  51. Polygon(G, B, I, J) → poly1, g_2, b_3, i_2, j_2
  52. Polygon(E, K, B, A) → poly2, e_3, k_2, b_4, a_3
  53. Polygon(B, G, H) → poly3, h_2, b_5, g_3
  54. Polygon(K, E, F) → poly4, f_3, k_3, e_4
  55. Polygon(B, C, H) → poly5, h_3, b_6, c_3
  56. Polygon(B, C, L) → poly6, l_2, b_7, c_4
  57. Polygon(C, M, L) → poly7, l_3, c_5, m_2
  58. Polygon(L, M, D) → poly8, d_3, l_4, m_3
  59. Polygon(B, A, I) → poly9, i_3, b_8, a_4
  60. Polygon(L, D, F) → poly10, f_4, l_5, d_4
  61. Polygon(U, R, S, T) → poly11, u, r_2, s_2, t_2
  62. Polygon(R, Z, O, N) → poly12, r_3, z, o, n_2
  63. Segment(N, Z) → p_2
  64. Polygon(R, N, O, Z) → poly13, r_4, n_3, o_1, z_1
  65. Polygon(R, U, V) → poly14, v, r_5, u_1
  66. Polygon(Z, O, W) → poly15, w, z_2, o_2
  67. Polygon(V, Q, R) → poly16, r_6, v_1, q_2
  68. Polygon(R, Q, A_1) → poly17, a_5, r_7, q_3
  69. Polygon(Q, B_1, A_1) → poly18, a_6, q_4, b_9
  70. Polygon(B_1, A_1, P) → poly19, p_3, b_{10}, a_7
  71. Polygon(R, N, S) → poly20, s_3, r_8, n_4
  72. Polygon(A_1, P, W) → poly21, w_1, a_8, p_4
  73. Vector(D_1, E_1) → u_2
  74. Vector(F_1, G_1) → v_2
  75. Vector(H_1, I_1) → w_2
  76. Vector(J_1, K_1) → u_3
  77. Vector(L_1, M_1) → v_3
  78. Vector(N_1, O_1) → w_3
  79. Vector(P_1, Q_1) → z_3
  80. Vector(R_1, S_1) → j_3
  81. Intersect(f_1, g_1) → T_1
  82. Intersect(a_2, d_2) → U_1
  83. Segment(T_1, U_1) → t_3
  84. Intersect(h_1, i_1) → V_1
  85. Intersect(k_1, q_1) → W_1
  86. Segment(V_1, W_1) → g_4
  87. Intersect(f_1, g_1) → E_2
  88. Segment(E_2, D_2) → j_4
  89. Intersect(f_1, e_2) → G_2
  90. Point(s_1) → L_2
  91. Intersect(b, c) → A_2
  92. Segment(A_2, M_2) → m_5
  93. Segment(M_2, N_2) → n_5
  94. Intersect(c, d) → O_2
  95. Segment(N_2, O_2) → p_5
  96. Intersect(r, a_1) → P_2
  97. Point(h) → Q_2
  98. Segment(P_2, Q_2) → q_5
  99. Point(t) → R_2
  100. Segment(P_2, R_2) → s_5
  101. Intersect(d, e) → S_2
  102. Segment(S_2, M_2) → t_5
  103. Intersect(a, e) → T_2
  104. Intersect(j, k) → V_2
  105. Segment(V_2, W_2) → e_6
  106. Segment(W_2, M_2) → f_6
  107. Point(f_6) → Z_2
  108. Segment(A_2, Z_2) → g_6
  109. Segment(R_2, A_2) → j_6
  110. Segment(V_2, M_2) → k_6
  111. Segment(A_2, W_2) → h_4
  112. Segment(Z_2, H_3) → g_7
  113. Segment(H_3, I_3) → h_7
  114. Segment(I_3, M_2) → i_7
  115. Segment(M_2, H_3) → j_7
  116. Segment(M_2, Z_2) → k_7
  117. Segment(Z_2, J_3) → l_7
  118. Segment(J_3, V_2) → m_7
  119. Polygon(Z_2, A_2, M_2) → poly22, m_8, z_4, a_9
  120. Segment(I_3, N_2) → c_6
  121. Point(j) → U_2
  122. Segment(A_2, U_2) → d_6
  123. Segment(U_2, G_3) → e_7
  124. Segment(G_3, Z_2) → f_7
  125. Point(c_1) → K_3
  126. Segment(M_2, K_3) → n_7
  127. Segment(L_3, U_2) → p_7
  128. Segment(G_3, L_3) → q_7
  129. Segment(M_2, L_3) → s_7
  130. Point(s_7) → M_3
  131. Segment(M_3, G_3) → t_7
  132. Segment(Z_2, M_3) → c_8
  133. Polygon(V_2, A_2, M_2) → poly23, m_9, v_4, a_{10}
  134. Polygon(M_3, G_3, L_3) → poly24, l_8, m_{10}, g_8
  135. Intersect(c, c_1) → O_3
  136. Polygon(A_2, M_2, O_3) → poly25, o_3, a_{11}, m_{11}
  137. Polygon(M_2, N_2, P_2) → poly26, p_8, m_{12}, n_8
  138. Intersect(g_6, s_7) → P_3
  139. Polygon(M_2, Z_2, P_3) → poly27, p_9, m_{13}, z_5
  140. Polygon(Z_2, P_3, M_3) → poly28, m_{14}, z_6, p_{10}
  141. Polygon(Z_2, H_3, M_2) → poly29, m_{15}, z_7, h_8
  142. Polygon(G_3, M_3, Z_2) → poly30, z_8, g_9, m_{16}
  143. Intersect(i, j) → R_3
  144. Polygon(L_3, U_2, V_2) → poly31, v_5, l_9, u_4
  145. Polygon(H_3, M_2, N_2, I_3) → poly32, h_9, m_{17}, n_9, i_8
  146. Polygon(H_3, Z_2, M_2) → poly33, m_{18}, h_{10}, z_9
  147. Intersect(d, r) → A_4
  148. Polygon(O_2, P_2, A_4) → poly34, a_{12}, o_4, p_{11}
  149. Intersect(e_7, s_7) → B_4
  150. Polygon(V_2, B_4, U_2) → poly35, u_5, v_6, b_{11}
  151. Intersect(i, n) → C_4
  152. Intersect(m, q) → D_4
  153. Intersect(m, n) → E_4
  154. Polygon(R_3, C_4, D_4, E_4) → poly36, r_9, c_{10}, d_{10}, e_9
  155. Intersect(r, t) → F_4
  156. Polygon(C_4, F_4, S_2, T_2) → poly37, c_{11}, f_9, s_9, t_9
  157. Polygon(G_3, M_3, M_2, Z_2) → poly38, g_{10}, m_{19}, m_{20}, z_{10}
  158. Polygon(H_3, M_2, N_2, I_3) → poly39, h_{11}, m_{21}, n_{10}, i_9
  159. Polygon(C_4, R_3, V_2) → poly40, v_7, c_{12}, r_{10}
  160. Intersect(g, h) → G_4
  161. Polygon(F_4, S_2, G_4) → poly41, g_{11}, f_{10}, s_{10}
  162. Polygon(V_2, A_2, C_4) → poly42, c_{13}, v_8, a_{13}
  163. Polygon(C_4, A_2, P_2) → poly43, p_{12}, c_{14}, a_{14}
  164. Polygon(O_3, P_2, O_2) → poly44, o_5, o_6, p_{13}
  165. Polygon(A_2, P_2, G_4, O_2) → poly45, a_{15}, p_{14}, g_{12}, o_7
  166. Polygon(A_2, P_2, O_3) → poly46, o_8, a_{16}, p_{15}
  167. Polygon(O_3, P_2, O_2) → poly47, o_9, o_{10}, p_{16}
  168. Polygon(O_2, A_4, P_2) → poly48, p_{17}, o_{11}, a_{17}
  169. Polygon(C_4, T_2, D_4) → poly49, d_{11}, c_{15}, t_{10}
  170. Polygon(O_2, G_4, P_2) → poly50, p_{18}, o_{12}, g_{13}
  171. Intersect(f, r) → H_4
  172. Polygon(C_4, H_4, T_2) → poly51, t_{11}, c_{16}, h_{12}
  173. Polygon(T_2, F_4, S_2) → poly52, s_{11}, t_{12}, f_{11}
  174. Polygon(F_4, C_4, T_2) → poly53, t_{13}, f_{12}, c_{17}
  175. Polygon(P_2, O_2, G_4) → poly54, g_{14}, p_{19}, o_{13}
  176. Polygon(V_2, D_4, E_4, R_3) → poly55, v_9, d_{12}, e_{10}, r_{11}
  177. Polygon(C_4, T_2, S_2, G_4) → poly56, c_{18}, t_{14}, s_{12}, g_{15}
  178. Polygon(V_2, A_2, T_2, D_4) → poly57, v_{10}, a_{18}, t_{15}, d_{13}
  179. Polygon(A_2, H_4, G_4, O_2) → poly58, a_{19}, h_{13}, g_{16}, o_{14}
  180. Polygon(M_2, L_3, U_2, A_2) → poly59, m_{22}, l_{10}, u_6, a_{20}
  181. Polygon(L_3, G_3, Z_2, M_2) → poly60, l_{11}, g_{17}, z_{11}, m_{23}
  182. Polygon(H_3, P_2, N_2, I_3) → poly61, h_{14}, p_{20}, n_{11}, i_{10}
  183. Polygon(H_3, Z_2, A_2, P_2) → poly62, h_{15}, z_{12}, a_{21}, p_{21}
  184. Intersect(r_1, s_1) → K_4
  185. Intersect(j, k) → Z_1
  186. Intersect(i, j) → B_2
  187. Intersect(a, b) → C_2
  188. Polygon(Z_1, B_2, C_2) → poly63, c_7, z_{13}, b_{12}
  189. Intersect(b, c) → F_2
  190. Polygon(Z_1, C_2, F_2) → poly64, f_5, z_{14}, c_9
  191. Intersect(r, a_1) → H_2
  192. Polygon(F_2, C_2, H_2) → poly65, h_5, f_8, c_{19}
  193. Intersect(r, t) → I_2
  194. Intersect(d, e) → J_2
  195. Intersect(g, h) → K_2
  196. Polygon(I_2, J_2, K_2) → poly66, k_4, i_4, j_5
  197. Intersect(m, n) → A_3
  198. Polygon(B_2, C_2, A_3) → poly67, a_{22}, b_{13}, c_{20}
  199. Intersect(a, e) → C_3
  200. Polygon(C_3, I_2, J_2) → poly68, j_8, c_{21}, i_5
  201. Intersect(f, r) → D_3
  202. Polygon(C_2, C_3, D_3) → poly69, d_5, c_{22}, c_{23}
  203. Intersect(c, c_1) → E_3
  204. Intersect(c, d) → F_3
  205. Polygon(E_3, H_2, F_3) → poly70, f_{13}, e_5, h_6
  206. Polygon(F_2, E_3, H_2) → poly71, h_{16}, f_{14}, e_8
  207. Intersect(l, m) → Q_3
  208. Polygon(C_2, Q_3, A_3) → poly72, a_{23}, c_{24}, q_6
  209. Polygon(D_3, C_3, I_2) → poly73, i_6, d_7, c_{25}
  210. Polygon(C_2, C_3, Q_3) → poly74, q_8, c_{26}, c_{27}
  211. Polygon(H_2, F_3, K_2) → poly75, k_5, h_{17}, f_{15}
  212. Vector(S_3, T_3) → w_4
  213. Vector(U_3, V_3) → m_4
  214. Vector(W_3, J_4) → s_4
  215. Vector(L_4, M_4) → t_4
  216. Vector(O_4, P_4) → w_5
  217. Vector(Q_4, R_4) → g_5
  218. Vector(S_4, T_4) → w_6
  219. Vector(U_4, V_4) → l_6
  220. Vector(W_4, Z_4) → m_6

AI Drawing Prompt Reference

Draw a right triangle with squares on each of its sides. Illustrate Leonardo da Vinci's proof of the Pythagorean theorem by adding auxiliary lines, symmetric points, and polygon subdivisions to show that the area of the square on the hypotenuse equals the sum of the areas of the squares on the other two sides, suitable for high school students learning geometric proofs.
The prompt above was compiled from the original drawing commands and is for reference only.