Pythagorean Theorem via Similar Parallelograms (Dynamic & Modifiable)

Pythagorean Theorem via Similar Parallelograms (Dynamic & Modifiable)
Loading the math board and drawing, please wait…
2019-06-04 21:58
① This interactive GeoGebra example demonstrates a geometric proof of the Pythagorean theorem by constructing similar parallelograms on the three sides of a right triangle, showing that the sum of the areas of the two smaller parallelograms equals the area of the larger one. ② Core mathematical concepts include the Pythagorean theorem, similarity, area relationships, parallelogram properties, and dilation transformations. ③ Construction highlights: using GeoGebra commands such as Semicircle, Point, Polygon, Rotate, Ray, Circle, Intersect, Line, Midpoint, OrthogonalLine, Dilate, Vector, Translate, Segment, Angle, and Distance, the applet builds a right triangle and similar parallelograms on each side, with dynamic sliders or draggable points to modify the shape and observe area changes in real time. ④ Suitable for middle and high school geometry classes, dynamic proof demonstrations, and exploratory learning of area-based proofs and similarity.

GeoGebra Commands & Parameters

  1. Semicircle(A, B) → c
  2. Point(c) → C
  3. Polygon(A, C, B) → t1, b, a, c_1
  4. Rotate(B, (d * π / 180), C) → B'
  5. Ray(C, B') → f
  6. Rotate(C, (d * π / 180), A) → C'
  7. Ray(A, C') → g
  8. Rotate(A, (d * π / 180), B) → A'
  9. Ray(B, A') → h
  10. Point(Segment[C, B']) → D
  11. Circle(A, (e * Distance[A, C'])) → k
  12. Circle(B, (e * Distance[B, A'])) → p
  13. Intersect(k, g, 1) → E
  14. Intersect(p, h, 1) → F
  15. Line(D, a) → i
  16. Line(E, b) → j
  17. Line(F, c_1) → l
  18. Line(B, f) → m
  19. Line(A, h) → n
  20. Line(C, g) → q
  21. Intersect(j, q) → G
  22. Intersect(i, m) → H
  23. Intersect(l, n) → I
  24. Polygon(A, E, G, C) → q1, a_1, e_1, g_1, c_2
  25. Polygon(C, D, H, B) → q2, c_3, d_1, h_1, b_1
  26. Polygon(B, F, I, A) → q3, b_2, f_1, i_1, a_2
  27. Intersect(f_1, i_1) → J
  28. Midpoint(I, B) → K
  29. Midpoint(A, G) → L
  30. Midpoint(C, H) → M
  31. OrthogonalLine(C, a_2) → r
  32. Ray(B, H) → s
  33. Intersect(r, a_2) → N
  34. OrthogonalLine(D, b_1) → t
  35. Intersect(b_1, t) → O
  36. Line(D, H) → j_1
  37. Line(C, B) → k_1
  38. Circle(B, i_1) → p_1
  39. Intersect(p_1, j_1, 2) → P
  40. Dilate(H, If[0 < u ≤ 1, 1 - u, 0], P) → H'
  41. Vector(H, H') → v
  42. Translate(D, v) → D'
  43. Polygon(C, B, H', D') → q4, c_4, b_3, h', d'
  44. Line(C, D') → l_1
  45. Line(I, F) → m_1
  46. Line(N, h) → n_1
  47. Intersect(m_1, n_1) → Q
  48. Segment(N, Q) → r_1
  49. Segment(B, P) → s_1
  50. Polygon(Q, F, B, N) → q5, q_2, f_2, b_4, n_2
  51. Circle(B, b_4) → q_1
  52. Intersect(q_1, l_1, 1) → R
  53. Dilate(C, If[2 < u ≤ 3, 3 - u, 0], R) → C'_1
  54. Vector(C, C'_1) → w
  55. Translate(D', w) → D''
  56. Polygon(B, P, D'', C'_1) → q6, b_5, p_2, d'', c'_1
  57. Midpoint(Q, B) → S
  58. Angle(R, B, N) → α
  59. Rotate(B, If[4 < u ≤ 5, ((u - 4) * α), α], B) → B'_1
  60. Rotate(P, If[4 < u ≤ 5, ((u - 4) * α), α], B) → P'
  61. Rotate(D'', If[4 < u ≤ 5, ((u - 4) * α), α], B) → D'''
  62. Rotate(C'_1, If[4 < u ≤ 5, ((u - 4) * α), α], B) → T
  63. Polygon(B'_1, P', D''', T) → q6', b'_1, p', d''', t_1
  64. Dilate(N, If[5 < u ≤ 6, 6 - u, 0], Q) → N'
  65. Vector(N, N') → u_1
  66. Translate(B'_1, u_1) → U
  67. Translate(P', u_1) → P''
  68. Translate(D''', u_1) → V
  69. Translate(T, u_1) → T'
  70. Polygon(U, P'', V, T') → q6'', u_2, p'', v_1, t'
  71. Line(A, C) → g_2
  72. Line(E, G) → h_2
  73. Circle(C, Distance[A, J]) → d_2
  74. Intersect(d_2, h_2, 2) → W
  75. Dilate(G, If[7 < u ≤ 8, 8 - u, 0], W) → G'
  76. Vector(G, G') → w_1
  77. Translate(E, w_1) → E'
  78. Polygon(A, C, G', E') → q7, a_3, c_5, g', e'
  79. Circle(W, Distance[A, V]) → e_2
  80. Distance(C, W) → distanceCW
  81. Distance(A, I) → distanceAI
  82. Line(C, W) → i_2
  83. Circle(W, Distance[A, V]) → k_2
  84. Intersect(k_2, j_1, 1) → A_1
  85. Line(A, i_2) → j_2
  86. Intersect(j_2, h_2) → B_1
  87. Intersect(k_2, j_2, 1) → C_1
  88. Dilate(B_1, If[9 < u ≤ 10, 10 - u, 0], C_1) → D_1
  89. Vector(B_1, D_1) → v_2
  90. Translate(A, v_2) → A'_1
  91. Polygon(C, A'_1, D_1, W) → q8, l_2, m_2, r_2, s_2
  92. Dilate(A'_1, If[11 < u ≤ 12, 12 - u, 0], A) → E_1
  93. Vector(A'_1, E_1) → w_2
  94. Translate(C, w_2) → C'_2
  95. Translate(A'_1, w_2) → F_1
  96. Translate(D_1, w_2) → G_1
  97. Translate(W, w_2) → W'
  98. Polygon(C'_2, F_1, G_1, W') → q8', c'_2, t_2, f_3, w'
  99. Line(E_1, C'_2) → g_3
  100. Line(E_1, b_4) → h_3
  101. Point(h_3) → H_1
  102. Angle(H_1, E_1, C'_2) → β
  103. Distance(E_1, C'_2) → distanceE1C'2
  104. Distance(A, N) → distanceAN
  105. Rotate(C'_2, If[12 < u < 13, ((-(u - 12)) * β), (-β)], F_1) → I_1
  106. Rotate(F_1, If[12 < u < 13, ((-(u - 12)) * β), (-β)], F_1) → J_1
  107. Rotate(G_1, If[12 < u < 13, ((-(u - 12)) * β), (-β)], F_1) → K_1
  108. Rotate(W', If[12 < u < 13, ((-(u - 12)) * β), (-β)], F_1) → W''
  109. Polygon(I_1, J_1, K_1, W'') → q8'', i_3, j_3, k_3, w''
  110. Dilate(A, If[13 < u ≤ 14, 14 - u, 0], J) → A'_2
  111. Vector(A, A'_2) → u_3
  112. Translate(I_1, u_3) → L_1
  113. Translate(J_1, u_3) → M_1
  114. Translate(K_1, u_3) → N_1
  115. Translate(W'', u_3) → W'''
  116. Polygon(L_1, M_1, N_1, W''') → q8''', l_3, m_3, n_3, w'''
  117. Ray(E, G) → p_3
  118. Ray(D, H) → q_3
  119. Ray(C, B) → r_3
  120. Ray(A, C) → s_3
  121. Ray(C, D') → t_3
  122. Ray(B, H') → d_3
  123. Segment(A, E) → e_3
  124. Ray(A, B_1) → f_4
  125. Ray(C, W) → g_4
  126. Segment(C, D) → h_4
  127. Angle(A, C, B) → γ
  128. Polygon(A, C, B) → t2, b_6, a_4, c_6
  129. Segment(A, I) → i_4
  130. Segment(I, F) → j_4
  131. Segment(F, B) → k_4
  132. Segment(B, A) → l_4
  133. Segment(C, B) → m_4
  134. Segment(C, A) → n_4

AI Drawing Prompt Reference

Draw a right triangle with the hypotenuse as the diameter of a semicircle, and place a point on the arc to form the right angle vertex. Construct three similar parallelograms outward on each side of the triangle, such that the sum of the areas of the two smaller ones equals the area of the largest. Use rotating rays and circles to determine the parallelogram vertices, and include draggable points or sliders to adjust angles and proportions dynamically, showing area changes in real time. Finally, mark the right angle and key segments to illustrate the area relationship.
The prompt above was compiled from the original drawing commands and is for reference only.