A Geometric Visual Proof of Pythagorean Theorem

A Geometric Visual Proof of Pythagorean Theorem
Loading the math board and drawing, please wait…
2021-04-06 18:12
This example uses an interactive geometric construction to visually demonstrate the Pythagorean Theorem by decomposing and reassembling a right triangle, making the relationship a^2 + b^2 = c^2 visually apparent through area/length equivalence. It centers on concepts of right triangles, the Pythagorean Theorem, and proof-by-geometry via precise construction and transformation. Construction approach: it builds the main figures with GeoGebra commands such as Segment (segments), Point (points), Line/Ray (lines/rays), and Angle (angles), then uses Polygon to outline regions used in the argument. Circles and auxiliary geometry are created with Circle and Semicircle, while Intersect helps locate key intersection points. Midpoint supports midpoint-based steps, and Vector with Translate plus Dilate provides controlled transformations to generate corresponding parts that match the theorem’s required correspondence. The construction culminates in objects that encode the equality (e.g., equals) that expresses the final relationship. Suitable for middle and high school geometry lessons, interactive proof practice, and self-study demonstrations.

GeoGebra Commands & Parameters

  1. Segment(A, B) → c
  2. Semicircle(A, B) → c_2
  3. Point(c_2) → C
  4. Segment(B, C) → b
  5. Segment(C, A) → a
  6. Angle(A, C, B) → α
  7. Polygon(C, B, 4) → small_1, e, f, g, h, D, E
  8. Polygon(A, C, 4) → poly2, i, j, k, l, F, G
  9. Polygon(B, A, 4) → poly3, m, n, p, q, H, I
  10. Midpoint(D, C) → J
  11. Midpoint(F, A) → L
  12. Midpoint(I, A) → K
  13. Vector(J, K) → v
  14. Translate(D, v) → D'
  15. Translate(C, v) → C'
  16. Translate(E, v) → E'
  17. Translate(B, v) → B'
  18. Ray(B', D') → r
  19. Ray(D', E') → s
  20. Ray(E', C') → t
  21. Ray(C', B') → a_1
  22. Segment(I, H) → b_1
  23. Segment(H, A) → c_1
  24. Segment(B, I) → d_1
  25. Intersect(a_1, b_1) → M
  26. Intersect(t, c_1) → N
  27. Intersect(r, d_1) → O
  28. Intersect(c, s) → P
  29. Dilate(D', 1 - equals / 100, A) → D''
  30. Circle(G, Segment[B', M]) → e_1
  31. Segment(F, G) → g_1
  32. Segment(A, G) → h_1
  33. Segment(C, F) → i_1
  34. Intersect(e_1, h_1, 1) → Q
  35. Circle(A, Segment[G, Q]) → k_1
  36. Circle(C, Segment[G, Q]) → q_1
  37. Circle(F, Segment[G, Q]) → r_1
  38. Intersect(e_1, g_1, 1) → R
  39. Intersect(r_1, g_1, 1) → S
  40. Intersect(q_1, a, 1) → T
  41. Intersect(k_1, a, 1) → U
  42. Intersect(k_1, h_1, 1) → V
  43. Intersect(q_1, i_1, 1) → W
  44. Intersect(r_1, i_1, 1) → Z
  45. Polygon(F, W, L, S) → yellow_1, y1A, y1D, y1B, y1C
  46. Polygon(S, L, Q, G) → green_1, g1B, g1C, g1D, g1A
  47. Polygon(L, U, A, Q) → red_1, r1B, r1C, r1D, r1A
  48. Polygon(U, L, W, C) → blue_1, b1D, b1A, b1B, b1C
  49. Dilate(D', equals / 100, A) → D''_1
  50. Vector(A, D''_1) → v_1
  51. Translate(L, v_1) → L'
  52. Translate(U, v_1) → U'
  53. Translate(A, v_1) → A'
  54. Translate(Q, v_1) → Q'
  55. Polygon(L', U', A', Q') → red_1', r1B', r1C', r1D', r1A'
  56. Dilate(P, equals / 100, W) → P'
  57. Vector(W, P') → j_1
  58. Translate(U, j_1) → U'_1
  59. Translate(L, j_1) → L'_1
  60. Translate(W, j_1) → W'
  61. Translate(C, j_1) → C'_1
  62. Polygon(U'_1, L'_1, W', C'_1) → blue_1', b1D', b1A', b1B', b1C'
  63. Dilate(K, equals / 100, J) → K'
  64. Vector(J, K') → m_1
  65. Translate(small_1, m_1) → small_1'
  66. Dilate(H, equals / 100, L) → H'
  67. Vector(L, H') → n_1
  68. Translate(F, n_1) → F'
  69. Translate(W, n_1) → W'_1
  70. Translate(L, n_1) → L'_2
  71. Translate(S, n_1) → S'
  72. Polygon(F', W'_1, L'_2, S') → yellow_1', y1A', y1D_1, y1B_1, y1C_1
  73. Dilate(B', equals / 100, G) → B''
  74. Vector(G, B'') → w
  75. Translate(S, w) → S'_1
  76. Translate(L, w) → L'_3
  77. Translate(Q, w) → Q'_1
  78. Translate(G, w) → G'
  79. Polygon(S'_1, L'_3, Q'_1, G') → green_1', g1B', g1C', g1D', g1A'
  80. Dilate(K, equals / 100, L) → K'_1
  81. Vector(L, K'_1) → u
  82. Translate(poly2, u) → poly2'
  83. Midpoint(A, H) → A_1
  84. Midpoint(I, H) → B_1
  85. Midpoint(B, I) → C_1
  86. Line(C_1, b) → d
  87. Line(P, a) → f_1
  88. Line(A_1, d) → l_1
  89. Line(B_1, f_1) → p_1
  90. Intersect(d, f_1) → D_1
  91. Intersect(l_1, p_1) → E_1
  92. Intersect(f_1, l_1) → F_1
  93. Intersect(d, p_1) → G_1
  94. Intersect(l_1, b_1) → H_1
  95. Circle(E, Segment[C_1, G_1]) → s_1
  96. Circle(D, Segment[C_1, G_1]) → t_1
  97. Circle(B, Segment[C_1, G_1]) → d_2
  98. Circle(C, Segment[C_1, G_1]) → e_2
  99. Intersect(b, e) → I_1
  100. Intersect(b, e) → J_1
  101. Intersect(b, e) → K_1
  102. Intersect(d_2, e, 1) → L_1
  103. Intersect(d_2, f, 1) → M_1
  104. Intersect(e_2, e, 1) → N_1
  105. Intersect(e_2, h, 1) → O_1
  106. Intersect(s_1, h, 1) → P_1
  107. Intersect(s_1, g, 1) → Q_1
  108. Intersect(t_1, g, 1) → R_1
  109. Intersect(t_1, f, 1) → S_1
  110. Polygon(D, S_1, J, Q_1) → yellow_2, y2B, y2C, y2D, y2A
  111. Polygon(S_1, J, L_1, B) → blue_2, b2A, b2D, b2C, b2B
  112. Polygon(L_1, J, O_1, C) → red_2, r2B, r2A, r2D, r2C
  113. Polygon(Q_1, E, O_1, J) → green_2, g2A, g2D, g2C, g2B
  114. Dilate(A, equals / 100, J) → A'_1
  115. Vector(J, A'_1) → u_1
  116. Dilate(B, equals / 100, J) → B'_1
  117. Vector(J, B'_1) → w_1
  118. Dilate(H, equals / 100, J) → H'_1
  119. Vector(J, H'_1) → u_2
  120. Dilate(I, equals / 100, J) → I'
  121. Vector(J, I') → v_2
  122. Translate(Q_1, v_2) → T_1
  123. Translate(E, v_2) → E'_1
  124. Translate(O_1, v_2) → U_1
  125. Translate(J, v_2) → J'
  126. Polygon(T_1, E'_1, U_1, J') → green_2', g2A', g2D', g2C', g2B'
  127. Translate(S_1, u_1) → V_1
  128. Translate(J, u_1) → J'_1
  129. Translate(L_1, u_1) → W_1
  130. Translate(B, u_1) → B'_2
  131. Polygon(V_1, J'_1, W_1, B'_2) → blue_2', b2A', b2D', b2C', b2B'
  132. Translate(L_1, w_1) → Z_1
  133. Translate(J, w_1) → J'_2
  134. Translate(O_1, w_1) → A_2
  135. Translate(C, w_1) → C'_2
  136. Polygon(Z_1, J'_2, A_2, C'_2) → red_2', z_1, r2A', r2D', r2C'
  137. Translate(D, u_2) → D'_1
  138. Translate(S_1, u_2) → B_2
  139. Translate(J, u_2) → J'_3
  140. Translate(Q_1, u_2) → C_2
  141. Polygon(D'_1, B_2, J'_3, C_2) → yellow_2', y2B', y2C', y2D', y2A'

AI Drawing Prompt Reference

Draw a right triangle with its hypotenuse as the diameter of a semicircle, and pick a point on the semicircle as the right-angle vertex, connecting to form the triangle. Construct squares outward on each of the three sides. On the hypotenuse square, apply translations and auxiliary lines, using intersections to partition the region into several smaller polygons. Finally, fill these regions with different colors to visually show that the sum of the areas of the squares on the two legs equals the area of the square on the hypotenuse, demonstrating the Pythagorean theorem geometrically.
The prompt above was compiled from the original drawing commands and is for reference only.