Finsler-Hadwiger Sequel: Dynamic Geometry of Squares and Segments

Finsler-Hadwiger Sequel: Dynamic Geometry of Squares and Segments
Loading the math board and drawing, please wait…
2017-04-25 01:10
This example illustrates the sequel to the Finsler‑Hadwiger theorem, showing how two squares interact through a sequence of geometric transformations. Core concepts include square properties, midpoints, vector translations, rotations, dilations, similarity, and congruence within transformation groups. Construction uses GeoGebra commands Circle, Point, Polygon, Midpoint, Dilate, Segment, Rotate, Translate, Line, Angle, OrthogonalLine, and Ray to create vertices A, B, C, D, polygons poly1, poly2 and their transformed copies such as B', B'_1, B'_2. It is suitable for high‑school geometry electives, university courses on geometric transformations, and advanced GeoGebra workshops.

GeoGebra Commands & Parameters

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

AI Drawing Prompt Reference

Construct two squares ABCD and CBFG sharing vertex B, with C placed on a circle centered at B with radius smaller than AB. After forming both squares and marking their side midpoints, introduce an animation parameter that sequentially demonstrates a series of geometric transformations: first dilating vertex B to produce corresponding points and segments, then rotating pairs of points around different centers to generate new corresponding segments, followed by translating a sector region, and finally applying additional rotations and dilations. The construction visualizes the dynamic Finsler-Hadwiger theorem, highlighting corresponding angles and arc sectors throughout the transformation sequence.
The prompt above was compiled from the original drawing commands and is for reference only.