动态四边形问题

动态四边形问题
几何画板及绘图内容加载中,请稍等……
2018-06-18 10:27
这是一个动态可修改的四边形问题示例,由 Antonio Gutierrez 在 Twitter 上提出。该示例展示了四个正方形的几何关系。核心数学概念包括旋转、正弦函数和菱形。通过使用 GeoGebra 命令如 Ray、Distance、Circle、Intersect 等进行构造。适合初中及以上学生学习几何变换和相关概念。

GeoGebra 命令及参数

  1. Ray(C, B) → d_4
  2. Distance(C, B) → o_2
  3. Circle(C, (0.24 * o_2)) → c_4
  4. Intersect(c_4, d_4, 1) → U_2
  5. Line(C, A) → m
  6. Segment(C, A) → i_2
  7. Line(D, C) → l
  8. Line(D, B) → a_4
  9. Line(A, B) → j
  10. Segment(B, D) → a_1
  11. Segment(C, B) → f
  12. Midpoint(f) → E
  13. Segment(C, E) → g
  14. Point(Segment[C, U_2]) → F
  15. OrthogonalLine(F, m) → p
  16. Intersect(m, p) → J
  17. Line(J, l) → s_1
  18. Segment(J, F) → e_1
  19. Intersect(e_1, i_2) → W
  20. Line(W, F) → m_4
  21. Rotate(F, (-(45°)), A) → F'
  22. Line(A, F') → i
  23. Intersect(i, f) → G
  24. Dilate(B, If[6 < o ≤ 7, 7 - o, 0], G) → B'
  25. Vector(B, B') → v_1
  26. Translate(G, v_1) → G'_3
  27. OrthogonalLine(G, j) → q
  28. Intersect(j, q) → I
  29. OrthogonalLine(I, j) → p_1
  30. Intersect(p_1, s_1) → Q
  31. Segment(Q, G) → p_2
  32. Intersect(m_4, p_2) → P_1
  33. Vector(C, F) → w_1
  34. Translate(J, w_1) → J'_1
  35. Translate(F, w_1) → F'_3
  36. Segment(J'_1, F'_3) → n_3
  37. Intersect(s_3, n_3) → S
  38. Intersect(q_4, a_4) → C_1
  39. Intersect(t_3, a_3) → T
  40. Intersect(p_4, p_2) → F_1
  41. Circle(C_1, Max[Distance[T, F_1], Distance[F_1, P_1]]) → h_4
  42. Intersect(p_4, l_5) → W_1
  43. Intersect(a_1, p_4) → G_1
  44. Intersect(h_4, p_4, 2) → K_1
  45. Line(F, A) → h
  46. Angle(F', A, F) → α
  47. Line(B, D) → k
  48. OrthogonalLine(F, l) → n
  49. OrthogonalLine(G, k) → r
  50. Intersect(k, r) → H
  51. Intersect(n, l) → K
  52. Segment(F, A) → s
  53. Segment(A, G) → t
  54. Segment(F, G) → b
  55. Circle(G, b / sqrt(2)) → c
  56. Intersect(c, r, 2) → M
  57. Segment(G, H) → g_1
  58. Polygon(J, F, K, C) → q1, j_2, f_1, k_1, c_1
  59. Polygon(I, B, H, G) → q2, i_1, b_1, h_1, g_2
  60. Segment(F, M) → m_1
  61. Segment(M, G) → n_1
  62. Vector(B, G) → u
  63. Polygon(M, G, Q, F) → q3, m_2, g_3, q_1, f_2
  64. Line(A, G) → e
  65. Semicircle(F, G) → d_1
  66. Circle(F, C) → r_1
  67. Intersect(d_1, r_1, 1) → L
  68. Segment(L, G) → l_1
  69. Segment(G, B) → t_1
  70. Segment(A, B) → d
  71. Segment(D, C) → h_2
  72. Polygon(J, A, I, G, M, F) → poly1, j_1, a_2, i_3, g_4, m_3, f_3
  73. Polygon(K, F, Q, G, H, D) → poly2, k_2, f_4, q_2, g_5, h_3, d_2
  74. Segment(F, K) → l_2
  75. Segment(F, Q) → n_2
  76. Segment(F, M) → r_2
  77. Segment(M, G) → s_2
  78. Segment(G, I) → t_2
  79. Segment(F, L) → b_2
  80. Segment(L, G) → c_2
  81. Min(b_2, c_2) → v
  82. Circle(D, (0.25 * v)) → e_2
  83. Intersect(e_2, h_2, 1) → O
  84. Rotate(K, (-(45°)), C) → K'
  85. Circle(C, (0.3 * v)) → c_3
  86. Intersect(c_3, h_2) → P,
  87. Dilate(C, If[0 < o ≤ 1, 1 - o, 0], F) → C'
  88. Segment(C, C') → j_3
  89. Rotate(P, If[0 < o ≤ 1, ((-o) * π / 4), ((-π)) / 4], C) → P'
  90. CircleSector(C, P', P) → d_3
  91. Rotate(d_3, If[2 < o ≤ 3, ((-(o - 2)) * π / 4), ((-π)) / 4], C) → e_3
  92. Line(C, s) → k_3
  93. Intersect(c_3, k_3, 1) → R
  94. Angle(F, C, R) → β
  95. Dilate(C, If[4 < o ≤ 5, 5 - o, 0], A) → C'_1
  96. Vector(C, C'_1) → w
  97. Translate(e_3, w) → p_3
  98. Rotate(p_3, If[4 < o ≤ 5, ((o - 4) * β), β], C'_1) → q_3
  99. Angle(L, F, C) → ε
  100. Dilate(G, If[8 < o ≤ 9, 9 - o, 0], B) → G'
  101. Rotate(C, If[9 < o ≤ 10, ((-(o - 9)) * ε), (-ε)], F) → C'_2
  102. Angle(B, G, L) → ζ
  103. Rotate(G, If[10 < o ≤ 11, ((o - 10) * ζ), ζ], G) → G'_1
  104. Rotate(G', If[10 < o ≤ 11, ((o - 10) * ζ), ζ], G) → G''
  105. Rotate(O, If[11 < o ≤ 12, ((o - 11) * π / 2), π / 2], D) → O'
  106. Dilate(D, If[13 < o ≤ 14, 14 - o, 0], L) → D'
  107. Vector(D, D') → u_1
  108. Line(C, B) → j_4
  109. Intersect(t_2, d) → V
  110. Rotate(J, If[5 < o ≤ 6, ((o - 5) * π), π], F) → J'
  111. Rotate(F, If[5 < o ≤ 6, ((o - 5) * π), π], F) → F'_1
  112. Rotate(K, If[5 < o ≤ 6, ((o - 5) * π), π], F) → K'_1
  113. Rotate(C, If[5 < o ≤ 6, ((o - 5) * π), π], F) → C'_3
  114. Polygon(J', F'_1, K'_1, C'_3) → q1', j', f'_1, k'_1, c'_3
  115. Circle(F, Distance[C, W]) → r_3
  116. Translate(I, v_1) → I'
  117. Translate(B, v_1) → B'_1
  118. Translate(H, v_1) → H'
  119. Translate(G, v_1) → G'_2
  120. Polygon(I', B'_1, H', G'_2) → q2', i', b'_1, h', g'_2
  121. Intersect(h_2, k_2) → N
  122. Translate(K, w_1) → K'_2
  123. Translate(F, w_1) → F'_2
  124. Segment(K'_2, F'_2) → l_3
  125. Dilate(G'_3, If[7 < o ≤ 8, 8 - o, 0], T) → U
  126. Dilate(G'_3, If[7 < o ≤ 8, 8 - o, 0], S) → Z
  127. Segment(G'_3, U) → b_3
  128. Segment(G'_3, Z) → i_4
  129. Dilate(F'_3, If[7 < o ≤ 8, 8 - o, 0], S) → A_1
  130. Dilate(F'_3, If[7 < o ≤ 8, 8 - o, 0], T) → B_1
  131. Segment(F'_2, B_1) → k_4
  132. Segment(F'_2, A_1) → l_4
  133. Polygon(S, F'_2, T, G'_3) → q4, s_4, f'_2, t_4, g'_3
  134. Polygon(J'_1, S, G'_3, T, K'_2, F) → poly3, j'_1, s_5, g'_1, t_5, k'_2, f_5
  135. Line(N, F) → n_4
  136. Circle(F, Distance[C, N]) → e_4
  137. Intersect(h_4, a_4) → V_1, I_1
  138. Dilate(W_1, If[9 < o ≤ 10, 10 - o, 0], V_1) → S'
  139. Vector(W_1, S') → u_2
  140. Translate(S, u_2) → S'_1
  141. Translate(F'_2, u_2) → D_1
  142. Translate(T, u_2) → T'
  143. Translate(G'_3, u_2) → E_1
  144. Polygon(S'_1, D_1, T', E_1) → q4', s'_1, d_5, t', e_5
  145. Translate(F'_3, u_2) → J_1
  146. Translate(T, u_2) → T'_1
  147. Translate(S, u_2) → S'_2
  148. Circle(V_1, Max[Distance[T, F_1], Distance[F_1, P_1]]) → c_5
  149. Intersect(c_5, b_4, 2) → M_1
  150. Dilate(T'_1, If[11 < o ≤ 12, 12 - o, 0], M_1) → N_1
  151. Vector(T'_1, N_1) → w_2
  152. Translate(J_1, w_2) → O_1
  153. Polygon(V_1, N_1, O_1, S'_2) → q5, v_2, n_5, o_1, s'_2
  154. Line(S'_2, O_1) → h_5
  155. OrthogonalLine(V_1, h_5) → i_5
  156. Intersect(h_5, i_5) → L_1
  157. Midpoint(V_1, L_1) → Q_1
  158. OrthogonalLine(M_1, h_5) → j_5
  159. Intersect(j_5, h_5) → R_1
  160. Dilate(S'_2, If[13 < o ≤ 14, 14 - o, 0], L_1) → S_1
  161. Vector(S'_2, S_1) → u_3
  162. Translate(O_1, u_3) → T_1
  163. Polygon(T_1, M_1, V_1, S_1) → q6, t_6, m_5, v_3, s_6
  164. Midpoint(R_1, M_1) → U_1
  165. Polygon(L_1, R_1, U_1, Q_1) → q7, l_6, r_5, u_4, q_5
  166. Polygon(Q_1, U_1, M_1, V_1) → q8, q_6, u_5, m_6, v_4
  167. Dilate(Q_1, If[16 < o ≤ 17, 17 - o, 0], S) → H_1
  168. Vector(Q_1, H_1) → w_3
  169. Translate(L_1, w_3) → Z_1
  170. Translate(R_1, w_3) → A_2
  171. Translate(U_1, w_3) → B_2
  172. Translate(Q_1, w_3) → C_2
  173. Polygon(Z_1, A_2, B_2, C_2) → q7', z_1, a_5, b_5, c_6
  174. Line(Z_1, r_2) → k_5
  175. Point(k_5) → D_2
  176. Angle(D_2, Z_1, A_2) → γ
  177. Rotate(Z_1, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → E_2
  178. Rotate(A_2, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → F_2
  179. Rotate(B_2, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → G_2
  180. Rotate(C_2, If[16 < o ≤ 17, ((-(o - 16)) * γ), (-γ)], C_2) → H_2
  181. Polygon(E_2, F_2, G_2, H_2) → q7'', e_6, f_6, g_6, h_6
  182. Dilate(Q_1, If[15 < o ≤ 16, 16 - o, 0], U_1) → I_2
  183. Segment(Q_1, I_2) → p_5
  184. Dilate(V_1, If[17 < o ≤ 18, 18 - o, 0], F_1) → J_2
  185. Vector(V_1, J_2) → w_4
  186. Translate(Q_1, w_4) → K_2
  187. Translate(U_1, w_4) → L_2
  188. Translate(M_1, w_4) → M_2
  189. Translate(V_1, w_4) → N_2
  190. Polygon(K_2, L_2, M_2, N_2) → q8', k_6, l_7, m_7, n_6
  191. Line(M_2, J_2) → i_6
  192. Line(J_2, K_2) → j_6
  193. Point(j_6) → O_2
  194. Point(p_6) → P_2
  195. Angle(P_2, K_2, O_2) → δ
  196. Rotate(K_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → Q_2
  197. Rotate(L_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → R_2
  198. Rotate(M_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → S_2
  199. Rotate(N_2, If[17 < o ≤ 18, ((-(o - 17)) * δ), (-δ)], J_2) → T_2
  200. Polygon(Q_2, R_2, S_2, T_2) → q8'', q_7, r_6, s_7, t_7