Leonardo da Vinci's Proof of the Pythagorean Theorem in Euclidean Context
Loading the math board and drawing, please wait…
① 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
Segment(A, B) → aSegment(B, C) → bSegment(C, D) → cSegment(D, E) → dSegment(E, A) → eSegment(A, C) → fSegment(D, F) → gSegment(F, E) → hSegment(B, G) → iSegment(G, H) → jSegment(H, C) → kSegment(A, I) → lSegment(I, J) → mSegment(J, B) → nSegment(J, G) → pSegment(I, H) → qSegment(F, B) → rPoint(r) → KSegment(A, K) → sSegment(K, E) → tPoint(r) → LSegment(C, L) → a_1Segment(D, L) → b_1Point(c) → MSegment(L, M) → c_1Segment(N, O) → d_1Segment(O, P) → e_1Segment(P, Q) → f_1Segment(Q, N) → g_1Segment(N, R) → h_1Segment(R, Q) → i_1Segment(N, S) → j_1Segment(S, T) → k_1Segment(T, R) → l_1Segment(R, U) → m_1Segment(U, V) → n_1Segment(V, Q) → p_1Segment(T, U) → q_1Segment(P, W) → r_1Segment(W, O) → s_1Segment(S, V) → t_1Segment(R, W) → a_2Point(a_2) → ZSegment(O, Z) → b_2Point(a_2) → A_1Segment(A_1, Q) → c_2Segment(A_1, P) → d_2Point(f_1) → B_1Segment(A_1, B_1) → e_2Segment(K, A) → f_2Polygon(G, B, I, J) → poly1, g_2, b_3, i_2, j_2Polygon(E, K, B, A) → poly2, e_3, k_2, b_4, a_3Polygon(B, G, H) → poly3, h_2, b_5, g_3Polygon(K, E, F) → poly4, f_3, k_3, e_4Polygon(B, C, H) → poly5, h_3, b_6, c_3Polygon(B, C, L) → poly6, l_2, b_7, c_4Polygon(C, M, L) → poly7, l_3, c_5, m_2Polygon(L, M, D) → poly8, d_3, l_4, m_3Polygon(B, A, I) → poly9, i_3, b_8, a_4Polygon(L, D, F) → poly10, f_4, l_5, d_4Polygon(U, R, S, T) → poly11, u, r_2, s_2, t_2Polygon(R, Z, O, N) → poly12, r_3, z, o, n_2Segment(N, Z) → p_2Polygon(R, N, O, Z) → poly13, r_4, n_3, o_1, z_1Polygon(R, U, V) → poly14, v, r_5, u_1Polygon(Z, O, W) → poly15, w, z_2, o_2Polygon(V, Q, R) → poly16, r_6, v_1, q_2Polygon(R, Q, A_1) → poly17, a_5, r_7, q_3Polygon(Q, B_1, A_1) → poly18, a_6, q_4, b_9Polygon(B_1, A_1, P) → poly19, p_3, b_{10}, a_7Polygon(R, N, S) → poly20, s_3, r_8, n_4Polygon(A_1, P, W) → poly21, w_1, a_8, p_4Vector(D_1, E_1) → u_2Vector(F_1, G_1) → v_2Vector(H_1, I_1) → w_2Vector(J_1, K_1) → u_3Vector(L_1, M_1) → v_3Vector(N_1, O_1) → w_3Vector(P_1, Q_1) → z_3Vector(R_1, S_1) → j_3Intersect(f_1, g_1) → T_1Intersect(a_2, d_2) → U_1Segment(T_1, U_1) → t_3Intersect(h_1, i_1) → V_1Intersect(k_1, q_1) → W_1Segment(V_1, W_1) → g_4Intersect(f_1, g_1) → E_2Segment(E_2, D_2) → j_4Intersect(f_1, e_2) → G_2Point(s_1) → L_2Intersect(b, c) → A_2Segment(A_2, M_2) → m_5Segment(M_2, N_2) → n_5Intersect(c, d) → O_2Segment(N_2, O_2) → p_5Intersect(r, a_1) → P_2Point(h) → Q_2Segment(P_2, Q_2) → q_5Point(t) → R_2Segment(P_2, R_2) → s_5Intersect(d, e) → S_2Segment(S_2, M_2) → t_5Intersect(a, e) → T_2Intersect(j, k) → V_2Segment(V_2, W_2) → e_6Segment(W_2, M_2) → f_6Point(f_6) → Z_2Segment(A_2, Z_2) → g_6Segment(R_2, A_2) → j_6Segment(V_2, M_2) → k_6Segment(A_2, W_2) → h_4Segment(Z_2, H_3) → g_7Segment(H_3, I_3) → h_7Segment(I_3, M_2) → i_7Segment(M_2, H_3) → j_7Segment(M_2, Z_2) → k_7Segment(Z_2, J_3) → l_7Segment(J_3, V_2) → m_7Polygon(Z_2, A_2, M_2) → poly22, m_8, z_4, a_9Segment(I_3, N_2) → c_6Point(j) → U_2Segment(A_2, U_2) → d_6Segment(U_2, G_3) → e_7Segment(G_3, Z_2) → f_7Point(c_1) → K_3Segment(M_2, K_3) → n_7Segment(L_3, U_2) → p_7Segment(G_3, L_3) → q_7Segment(M_2, L_3) → s_7Point(s_7) → M_3Segment(M_3, G_3) → t_7Segment(Z_2, M_3) → c_8Polygon(V_2, A_2, M_2) → poly23, m_9, v_4, a_{10}Polygon(M_3, G_3, L_3) → poly24, l_8, m_{10}, g_8Intersect(c, c_1) → O_3Polygon(A_2, M_2, O_3) → poly25, o_3, a_{11}, m_{11}Polygon(M_2, N_2, P_2) → poly26, p_8, m_{12}, n_8Intersect(g_6, s_7) → P_3Polygon(M_2, Z_2, P_3) → poly27, p_9, m_{13}, z_5Polygon(Z_2, P_3, M_3) → poly28, m_{14}, z_6, p_{10}Polygon(Z_2, H_3, M_2) → poly29, m_{15}, z_7, h_8Polygon(G_3, M_3, Z_2) → poly30, z_8, g_9, m_{16}Intersect(i, j) → R_3Polygon(L_3, U_2, V_2) → poly31, v_5, l_9, u_4Polygon(H_3, M_2, N_2, I_3) → poly32, h_9, m_{17}, n_9, i_8Polygon(H_3, Z_2, M_2) → poly33, m_{18}, h_{10}, z_9Intersect(d, r) → A_4Polygon(O_2, P_2, A_4) → poly34, a_{12}, o_4, p_{11}Intersect(e_7, s_7) → B_4Polygon(V_2, B_4, U_2) → poly35, u_5, v_6, b_{11}Intersect(i, n) → C_4Intersect(m, q) → D_4Intersect(m, n) → E_4Polygon(R_3, C_4, D_4, E_4) → poly36, r_9, c_{10}, d_{10}, e_9Intersect(r, t) → F_4Polygon(C_4, F_4, S_2, T_2) → poly37, c_{11}, f_9, s_9, t_9Polygon(G_3, M_3, M_2, Z_2) → poly38, g_{10}, m_{19}, m_{20}, z_{10}Polygon(H_3, M_2, N_2, I_3) → poly39, h_{11}, m_{21}, n_{10}, i_9Polygon(C_4, R_3, V_2) → poly40, v_7, c_{12}, r_{10}Intersect(g, h) → G_4Polygon(F_4, S_2, G_4) → poly41, g_{11}, f_{10}, s_{10}Polygon(V_2, A_2, C_4) → poly42, c_{13}, v_8, a_{13}Polygon(C_4, A_2, P_2) → poly43, p_{12}, c_{14}, a_{14}Polygon(O_3, P_2, O_2) → poly44, o_5, o_6, p_{13}Polygon(A_2, P_2, G_4, O_2) → poly45, a_{15}, p_{14}, g_{12}, o_7Polygon(A_2, P_2, O_3) → poly46, o_8, a_{16}, p_{15}Polygon(O_3, P_2, O_2) → poly47, o_9, o_{10}, p_{16}Polygon(O_2, A_4, P_2) → poly48, p_{17}, o_{11}, a_{17}Polygon(C_4, T_2, D_4) → poly49, d_{11}, c_{15}, t_{10}Polygon(O_2, G_4, P_2) → poly50, p_{18}, o_{12}, g_{13}Intersect(f, r) → H_4Polygon(C_4, H_4, T_2) → poly51, t_{11}, c_{16}, h_{12}Polygon(T_2, F_4, S_2) → poly52, s_{11}, t_{12}, f_{11}Polygon(F_4, C_4, T_2) → poly53, t_{13}, f_{12}, c_{17}Polygon(P_2, O_2, G_4) → poly54, g_{14}, p_{19}, o_{13}Polygon(V_2, D_4, E_4, R_3) → poly55, v_9, d_{12}, e_{10}, r_{11}Polygon(C_4, T_2, S_2, G_4) → poly56, c_{18}, t_{14}, s_{12}, g_{15}Polygon(V_2, A_2, T_2, D_4) → poly57, v_{10}, a_{18}, t_{15}, d_{13}Polygon(A_2, H_4, G_4, O_2) → poly58, a_{19}, h_{13}, g_{16}, o_{14}Polygon(M_2, L_3, U_2, A_2) → poly59, m_{22}, l_{10}, u_6, a_{20}Polygon(L_3, G_3, Z_2, M_2) → poly60, l_{11}, g_{17}, z_{11}, m_{23}Polygon(H_3, P_2, N_2, I_3) → poly61, h_{14}, p_{20}, n_{11}, i_{10}Polygon(H_3, Z_2, A_2, P_2) → poly62, h_{15}, z_{12}, a_{21}, p_{21}Intersect(r_1, s_1) → K_4Intersect(j, k) → Z_1Intersect(i, j) → B_2Intersect(a, b) → C_2Polygon(Z_1, B_2, C_2) → poly63, c_7, z_{13}, b_{12}Intersect(b, c) → F_2Polygon(Z_1, C_2, F_2) → poly64, f_5, z_{14}, c_9Intersect(r, a_1) → H_2Polygon(F_2, C_2, H_2) → poly65, h_5, f_8, c_{19}Intersect(r, t) → I_2Intersect(d, e) → J_2Intersect(g, h) → K_2Polygon(I_2, J_2, K_2) → poly66, k_4, i_4, j_5Intersect(m, n) → A_3Polygon(B_2, C_2, A_3) → poly67, a_{22}, b_{13}, c_{20}Intersect(a, e) → C_3Polygon(C_3, I_2, J_2) → poly68, j_8, c_{21}, i_5Intersect(f, r) → D_3Polygon(C_2, C_3, D_3) → poly69, d_5, c_{22}, c_{23}Intersect(c, c_1) → E_3Intersect(c, d) → F_3Polygon(E_3, H_2, F_3) → poly70, f_{13}, e_5, h_6Polygon(F_2, E_3, H_2) → poly71, h_{16}, f_{14}, e_8Intersect(l, m) → Q_3Polygon(C_2, Q_3, A_3) → poly72, a_{23}, c_{24}, q_6Polygon(D_3, C_3, I_2) → poly73, i_6, d_7, c_{25}Polygon(C_2, C_3, Q_3) → poly74, q_8, c_{26}, c_{27}Polygon(H_2, F_3, K_2) → poly75, k_5, h_{17}, f_{15}Vector(S_3, T_3) → w_4Vector(U_3, V_3) → m_4Vector(W_3, J_4) → s_4Vector(L_4, M_4) → t_4Vector(O_4, P_4) → w_5Vector(Q_4, R_4) → g_5Vector(S_4, T_4) → w_6Vector(U_4, V_4) → l_6Vector(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.