GoGeometry Action 24! Dynamic Two-Squares Theorem Exploration

GoGeometry Action 24! Dynamic Two-Squares Theorem Exploration
Loading the math board and drawing, please wait…
2017-04-14 08:22
① This interactive GeoGebra example dynamically illustrates further phenomena of the 'Two-Squares Theorem', allowing users to drag and modify the construction to observe relationships between segments, angles, and areas formed by two squares. ② Core mathematical concepts include geometric transformations (rotation, reflection, translation), parallelogram properties, midpoints, perpendicular lines, and auxiliary circles/arcs, with a playful connection to LCM and GCD. ③ Construction highlights: using GeoGebra commands such as Ray, Segment, Circle, Intersect, Point, OrthogonalLine, Line, Polygon, Rotate, Dilate, Midpoint, CircleArc, CircleSector, Vector, Translate, Angle, and Mirror, the applet builds multiple points, lines, polygons, and circular arcs (e.g., A, B, C, D, poly1, circles, and auxiliary lines) with sliders or draggable elements for dynamic exploration. ④ Suitable for middle/high school geometry classes, math competition training, or self-directed geometric discovery, this resource helps visualize theorem proofs and transformation-based reasoning, and is ideal for teachers creating interactive lessons.

GeoGebra Commands & Parameters

  1. Ray(A, B_2) → m_2
  2. Segment(A, B_2) → g
  3. Circle(B_2, g) → q_2
  4. Intersect(q_2, m_2, 2) → J_1
  5. Segment(B_2, J_1) → n_2
  6. Point(n_2) → K_1
  7. Segment(B_2, K_1) → r_2
  8. OrthogonalLine(K_1, r_2) → s_2
  9. Circle(K_1, r_2) → t_2
  10. Intersect(t_2, s_2, 2) → L_1
  11. Line(K_1, L_1) → h_3
  12. Polygon(A, B_2, 4) → poly1, a, b, c, d, C, D
  13. Segment(B_2, C) → h
  14. OrthogonalLine(L_1, h) → f_3
  15. Intersect(f_3, h) → M_1
  16. Line(K_1, M_1) → i_2
  17. Rotate(A, If[1 < e ≤ 2, ((-(e - 1)) * π / 2), -1.5707963267948966], B_2) → A'_1
  18. Rotate(A'_1, If[2 < e ≤ 3, ((-(e - 2)) * π / 2), -1.5707963267948966], C) → R
  19. Dilate(A, If[0 < e ≤ 1, 1 - e, 0], B_2) → A'
  20. Rotate(A', If[1 < e ≤ 2, ((-(e - 1)) * π / 2), -1.5707963267948966], B_2) → A''
  21. Rotate(A'', If[2 < e ≤ 3, ((-(e - 2)) * π / 2), -1.5707963267948966], C) → A'''
  22. Segment(R, A''') → f''
  23. Intersect(i_2, f'') → V_1
  24. Dilate(M_1, If[16 < e ≤ 17, 17 - e, 0], V_1) → Z_1
  25. Segment(M_1, Z_1) → e_2
  26. Line(C, e_2) → f_4
  27. Dilate(A, If[17 < e ≤ 18, 18 - e, 0], M_1) → A'_4
  28. Midpoint(A, C) → V
  29. CircleArc(V, C, D) → g_2
  30. Point(g_2) → B
  31. Segment(C, B) → j_1
  32. Segment(A, B) → n
  33. Intersect(n, f'') → Z
  34. Segment(B, Z) → l_1
  35. Segment(A, A') → f
  36. Segment(A'_1, A'') → f'
  37. Segment(C, D) → i
  38. Circle(B_2, (0.2 * r_2)) → p
  39. Segment(D, A) → j
  40. Circle(C, Radius[p]) → k
  41. Circle(A, (0.1 * j)) → q
  42. Circle(D, (0.1 * j)) → r
  43. Segment(A, C) → l
  44. Segment(D, B_2) → m
  45. Intersect(r, j, 1) → F
  46. Intersect(r, m, 1) → G
  47. Intersect(r, i, 1) → H
  48. Intersect(k, i, 1) → I
  49. Intersect(k, l, 1) → J
  50. Intersect(k, h, 1) → K
  51. Intersect(p, h, 1) → L
  52. Intersect(p, m, 1) → M
  53. Intersect(p, g, 1) → N
  54. Intersect(q, g, 1) → O
  55. Intersect(q, l, 1) → P
  56. Intersect(q, j, 1) → Q
  57. CircleSector(B_2, L, N) → s
  58. Rotate(R, If[3 < e ≤ 4, ((-(e - 3)) * π / 2), -1.5707963267948966], D) → R'
  59. Rotate(A''', If[3 < e ≤ 4, ((-(e - 3)) * π / 2), -1.5707963267948966], D) → S
  60. Segment(R', S) → f'''
  61. Dilate(B_2, If[4 < e ≤ 5, 5 - e, 0], C) → B'
  62. Vector(B_2, B') → u
  63. Translate(s, u) → s'
  64. Rotate(s', If[5 < e ≤ 6, ((e - 5) * π / 2), 1.5707963267948966], C) → s''
  65. Dilate(C, If[6 < e ≤ 7, 7 - e, 0], D) → C'
  66. Vector(C, C') → v
  67. Translate(s'', v) → s'''
  68. Rotate(s''', If[7 < e ≤ 8, ((e - 7) * π / 2), 1.5707963267948966], D) → t
  69. Dilate(D, If[8 < e ≤ 9, 9 - e, 0], A) → D'
  70. Vector(D, D') → w
  71. Translate(t, w) → t'
  72. Rotate(t', If[9 < e ≤ 10, ((e - 9) * π / 2), 1.5707963267948966], A) → t''
  73. Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], C) → B'_1
  74. Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], A) → B'_2
  75. Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], D) → B'_3
  76. Vector(B_2, B'_1) → v_1
  77. Vector(B_2, B'_3) → w_1
  78. Vector(B_2, B'_2) → i_1
  79. Circle(A, n - j_1) → h_2
  80. Dilate(B, If[10 < e ≤ 11, 11 - e, 0], C) → W'
  81. Dilate(B_2, If[13 < e ≤ 14, 14 - e, 0], B) → B'_4
  82. Vector(B_2, B'_4) → u_1
  83. Translate(s, u_1) → s'_1
  84. Line(B, f') → a_1
  85. Point(a_1) → U
  86. Angle(U, B, C) → α
  87. Rotate(B, If[14 < e ≤ 15, ((-(e - 14)) * π / 2), ((-π)) / 2], B) → W'_2
  88. Rotate(W', If[14 < e ≤ 15, ((-(e - 14)) * π / 2), ((-π)) / 2], B) → W''
  89. Line(A, B_2) → h_1
  90. Angle(B, A, D) → β
  91. Dilate(D, If[19 < e ≤ 20, 20 - e, 0], B) → D'_1
  92. Mirror(C, D) → C'_1
  93. Rotate(C, ((-π)) / 3, B_2) → C'_2
  94. Segment(B_2, C'_2) → f_1
  95. Segment(C, C'_2) → g_1
  96. Intersect(k, g_1, 1) → E
  97. Intersect(k, h) → T,
  98. CircleSector(C, T, E) → d_1
  99. Rotate(D, 15°, C) → D'_2
  100. Angle(D, C, D'_2) → γ
  101. Ray(C, D'_2) → k_1
  102. Rotate(C, (-(15°)), D) → C'_3
  103. Angle(C'_3, D, C) → δ
  104. Ray(D, C'_3) → m_1
  105. Rotate(B_2, If[10 < e ≤ 11, (((-π)) / 3 * (e - 10)), ((-π)) / 3], B_2) → A_1
  106. Rotate(C, If[10 < e ≤ 11, (((-π)) / 3 * (e - 10)), ((-π)) / 3], B_2) → C'_4
  107. Rotate(B_2, If[11 < e ≤ 12, (π / 3 * (e - 11)), π / 3], C) → B_1
  108. Rotate(C, If[11 < e ≤ 12, (π / 3 * (e - 11)), π / 3], C) → C'_5
  109. Rotate(E, If[12 < e ≤ 13, (((-π)) / 6 * (e - 12)), ((-π)) / 6], C) → E'
  110. Rotate(T, 15°, C) → T'
  111. Angle(T, C, T') → ε
  112. Ray(C, T') → q_1
  113. Dilate(C, If[21 < e ≤ 22, 22 - e, 0], D) → C'_8
  114. Vector(C, C'_8) → u_2
  115. Rotate(B_2, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → H_1
  116. Rotate(C'_2, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → I_1
  117. Rotate(C, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → C'_{10}
  118. Dilate(B_2, If[10 < e ≤ 11, 11 - e, 0], K_1) → C_1
  119. Segment(B_2, C_1) → n_1
  120. Rotate(B_2, If[11 < e ≤ 12, ((-(e - 11)) * π / 2), ((-π)) / 2], K_1) → D_1
  121. Rotate(C_1, If[11 < e ≤ 12, ((-(e - 11)) * π / 2), ((-π)) / 2], K_1) → E_1
  122. Segment(D_1, E_1) → p_1
  123. Rotate(D_1, If[12 < e ≤ 13, ((-(e - 12)) * π / 2), ((-π)) / 2], L_1) → F_1
  124. Rotate(E_1, If[12 < e ≤ 13, ((-(e - 12)) * π / 2), ((-π)) / 2], L_1) → N_1
  125. Segment(F_1, N_1) → r_1
  126. Rotate(F_1, If[13 < e ≤ 14, ((-(e - 13)) * π / 2), ((-π)) / 2], M_1) → O_1
  127. Rotate(N_1, If[13 < e ≤ 14, ((-(e - 13)) * π / 2), ((-π)) / 2], M_1) → P_1
  128. Segment(O_1, P_1) → s_1
  129. Polygon(B_2, K_1, L_1, M_1) → poly6, b_3, k_2, l_3, m_3
  130. Dilate(B_2, If[14 < e ≤ 15, 15 - e, 0], K_1) → Q_1
  131. Vector(B_2, Q_1) → c_1
  132. Translate(s, c_1) → s'_2
  133. Segment(C, K_1) → e_1
  134. Line(A, M_1) → t_1
  135. Intersect(t_1, e_1) → R_1
  136. Segment(A, R_1) → f_2
  137. Dilate(C, If[15 < e ≤ 16, 16 - e, 0], K_1) → C'_6
  138. Dilate(A, If[16 < e ≤ 17, 17 - e, 0], M_1) → A'_3
  139. Dilate(M_1, If[17 < e ≤ 18, 18 - e, 0], R_1) → S_1
  140. Line(R_1, p_1) → g_3
  141. Point(g_3) → U_1
  142. Angle(U_1, R_1, K_1) → ζ
  143. Polygon(A, B_2, C, D) → poly7, a_4, b_4, c_4, d_4
  144. Dilate(K_1, If[15 < e ≤ 16, 16 - e, 0], M_1) → W_1
  145. Segment(K_1, W_1) → p_2
  146. Line(A, K_1) → k_3
  147. Dilate(A, If[20 < e ≤ 21, 21 - e, 0], V_1) → A'_5
  148. Segment(A, A'_5) → s_3
  149. Ray(M_1, V_1) → j_3
  150. Circle(V_1, 1) → e_3
  151. Intersect(e_3, j_3, 2) → T_1
  152. Ray(V_1, T_1) → n_3
  153. Circle(V_1, (0.2 * r_2)) → p_3
  154. Intersect(p_3, n_3, 1) → A_2
  155. Intersect(p_3, f'', 2) → C_2
  156. Intersect(f_4, h_3) → H_2
  157. Dilate(C, If[17 < e ≤ 18, 18 - e, 0], H_2) → C'_7
  158. Segment(C, C'_7) → q_3
  159. Angle(A_2, V_1, C_2) → η
  160. Rotate(C_2, If[17 < e ≤ 18, ((-(e - 17)) * π / 4), ((-π)) / 4], V_1) → D_2
  161. CircleSector(V_1, D_2, C_2) → r_3
  162. Dilate(V_1, If[18 < e ≤ 19, 19 - e, 0], C) → E_2
  163. Vector(V_1, E_2) → v_2
  164. Translate(r_3, v_2) → t_3
  165. Rotate(t_3, If[19 < e ≤ 20, (((-(e - 19)) * 5) * π / 4), (-5 * π / 4)], C) → e_4
  166. Dilate(V_1, If[21 < e ≤ 22, 22 - e, 0], H_2) → F_2
  167. Segment(V_1, F_2) → g_4
  168. Rotate(A, If[22 < e ≤ 23, ((e - 22) * π / 2), π / 2], V_1) → A'_2
  169. Rotate(A'_5, If[22 < e ≤ 23, ((e - 22) * π / 2), π / 2], V_1) → W
  170. Segment(A'_2, W) → b_1
  171. Line(V_1, s_1) → j_2
  172. Dilate(B_2, If[23 < e ≤ 24, 24 - e, 0], V_1) → G_1
  173. Vector(B_2, G_1) → w_2
  174. Translate(s, w_2) → s'_3
  175. Intersect(t, f'', 1) → G_2
  176. Angle(G_2, V_1, H_2) → θ
  177. Rotate(s'_3, If[23 < e ≤ 24, ((e - 23) * θ), θ], G_1) → c_2
  178. Dilate(A, If[24 < e ≤ 25, 25 - e, 0], H_2) → A'_6
  179. Segment(A, A'_6) → l_2
  180. Dilate(V_1, If[25 < e ≤ 26, 26 - e, 0], A) → I_2
  181. Vector(V_1, I_2) → a_2
  182. Translate(r_3, a_2) → d_2
  183. Line(A, V_1) → b_2
  184. Line(V_1, l_2) → a_3
  185. Point(n_3) → J_2
  186. Point(a_3) → K_2
  187. Angle(K_2, V_1, J_2) → κ
  188. Rotate(d_2, If[26 < e ≤ 27, ((-(e - 26)) * κ), (-κ)], A) → d_3
  189. Dilate(L_1, If[17 < e ≤ 18, 18 - e, 0], H_2) → L_2
  190. Segment(L_1, L_2) → i_3
  191. Segment(K_1, H_2) → c_3

AI Drawing Prompt Reference

Draw two dynamic square figures to illustrate their geometric relationships. Include transformations like rotation, reflection, and translation, along with parallelogram properties, midpoints, perpendicular lines, and auxiliary circles/arcs. Use sliders or draggable elements to dynamically observe the relationships between segments, angles, and areas, connecting to LCM and GCD. The figure should contain multiple points, lines, polygons, and circular arcs for exploring theorem proofs and transformation-based reasoning.
The prompt above was compiled from the original drawing commands and is for reference only.