圆形分形图案绘制

圆形分形图案绘制
几何画板及绘图内容加载中,请稍等……
2014-06-16 01:26
①这个范例演示了如何使用圆形和旋转构造复杂的分形图案,模拟真实 Spirograph 的效果;②涉及的核心数学概念包括圆、旋转、几何作图、参数方程和轨迹;③作图要点使用了 GeoGebra 命令如 Circle, Point, Rotate, Locus, Sequence 等,通过动态旋转和轨迹追踪生成图案;④适合高中及以上学生学习和探索几何变换、参数方程以及分形艺术。

GeoGebra 命令及参数

  1. If(size < 56, If[size > 4, size - fractionalPart(size), 5], 55) → L1
  2. Circle(A, R) → c
  3. Point(c) → B
  4. Rotate(B, (go + ((rounds - 1) * 360))°, A) → C
  5. Segment(A, C) → b
  6. Angle(B, A, C) → alpha
  7. Segment(A, B) → a
  8. Rotate(B, (360 / L)°, A) → B'
  9. Angle(B, A, B') → α
  10. Polygon(B, B', L) → polígono1, d, m, U_1, V_1, W_1, Z_1, A_2, B_2, C_2, D_2, E_2, S_7, n, T_7, U_7, V_7, W_7, Z_7, A_8, B_8, C_8, D_8, p, q, r, s, t, a_1, b_1, c_1, e, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, f, n_1, p_1, q_1, r_1, s_1, t_1, a_2, b_2, c_2, d_2, g, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2, h, p_2, p_{11}, q_{11}, r_{11}, s_{11}, t_{11}, a_{12}, b_{12}, c_{12}, d_{12}, i, e_{12}, D, E, F, G, H, I, J, K, M, j, N, O, P, Q, S, T, U, V, W, Z, k, A_1, B_1, C_1, D_1, E_1, F_1, G_1, H_1, I_1, J_1, l, K_1, L_1, M_1, N_1, O_1, P_1, Q_1, R_1, S_1, T_1
  11. Circle(A, R + R / 25) → k_5
  12. Ray(A, B) → i_5
  13. Intersect(k_5, i_5, 1) → F_2
  14. Rotate(F_2, (180 / L)°, A) → G_2
  15. Angle(F_2, A, G_2) → β
  16. Rotate(G_2, (360 / L)°, A) → H_2
  17. Angle(F_2, A, H_2) → γ
  18. Polygon(G_2, H_2, L) → polígono2, q_2, f_3, Z_3, A_4, B_4, C_4, D_4, E_4, F_4, G_4, H_4, E_8, g_3, F_8, G_8, H_8, I_8, J_8, K_8, L_8, M_8, N_8, h_3, i_3, j_3, k_3, l_3, m_3, n_3, p_3, r_2, q_3, r_3, s_3, t_3, a_4, b_4, c_4, d_4, e_4, f_4, s_2, g_4, h_4, i_4, j_4, k_4, l_4, m_4, n_4, p_4, q_4, t_2, r_4, s_4, t_4, a_5, b_5, c_5, d_5, e_5, f_5, g_5, a_3, h_5, f_{12}, g_{12}, h_{12}, i_{12}, j_{12}, k_{12}, l_{12}, m_{12}, n_{12}, b_3, p_{12}, I_2, J_2, K_2, L_2, M_2, N_2, O_2, P_2, Q_2, c_3, R_2, S_2, T_2, U_2, V_2, W_2, Z_2, A_3, B_3, C_3, d_3, D_3, E_3, F_3, G_3, H_3, I_3, J_3, K_3, L_3, M_3, e_3, N_3, O_3, P_3, Q_3, R_3, S_3, T_3, U_3, V_3, W_3
  19. CircumcircleArc(B, G_2, B') → p_5
  20. CircumcircleArc(B', H_2, D) → q_5
  21. CircumcircleArc(D, I_2, E) → r_5
  22. CircumcircleArc(E, J_2, F) → s_5
  23. CircumcircleArc(F, K_2, G) → t_5
  24. CircumcircleArc(G, L_2, H) → c_6
  25. CircumcircleArc(H, M_2, I) → d_6
  26. CircumcircleArc(I, N_2, J) → e_6
  27. CircumcircleArc(J, O_2, K) → f_6
  28. CircumcircleArc(K, P_2, M) → g_6
  29. CircumcircleArc(M, Q_2, N) → h_6
  30. Circle(C, r1) → k_6
  31. Intersect(k_6, b) → I_4, P_8
  32. Rotate(C, ((((-go) - ((rounds - 1) * 360)) * spd))°, I_4) → C'
  33. Midpoint(C', I_4) → J_4
  34. Midpoint(C', J_4) → P0
  35. Circle(I_4, r1) → p_6
  36. Ray(A, C) → j_5
  37. Intersect(k_5, j_5) → K_4,
  38. Circle(I_4, Segment[I_4, K_4]) → q_6
  39. Rotate(C', (360 / L1)°, I_4) → C''
  40. Angle(C', I_4, C'') → ε
  41. Polygon(C', C'', L1) → polígono3, l_5, n_6, D_9, E_9, F_9, G_9, M_9, N_9, O_9, P_9, Q_9, r_6, s_6, t_6, a_7, b_7, c_7, d_7, e_7, f_7, m_5, g_7, h_7, i_7, j_7, k_7, l_7, a_9, b_9, i_9, j_9, n_5, l_9, m_9, n_9, a_{10}, b_{10}, i_{10}, j_{10}, l_{10}, m_{10}, n_{10}, a_6, s_{10}, b_{13}, i_{13}, j_{13}, l_{13}, m_{13}, l_{14}, m_{14}, n_{14}, a_{15}, b_6, b_{15}, a_{16}, b_{16}, i_{16}, j_{16}, l_{16}, L_4, M_4, N_4, O_4, i_6, P_4, Q_4, R_4, S_4, T_4, U_4, V_4, W_4, Z_4, A_5, j_6, B_5, C_5, D_5, E_5, F_5, G_5, H_5, I_5, J_5, M_6, l_6, N_6, O_6, P_6, Q_6, R_6, S_6, T_6, U_6, V_6, W_6, m_6, Z_6, A_7, B_7, C_7, Q_8, R_8, S_8, T_8, U_8, C_9
  42. Ray(I_4, C') → m_7
  43. Intersect(q_6, m_7) → K_5,
  44. Rotate(K_5, (180 / L1)°, I_4) → L_5
  45. Angle(K_5, I_4, L_5) → ζ
  46. Rotate(L_5, (360 / L1)°, I_4) → M_5
  47. Angle(L_5, I_4, M_5) → η
  48. Polygon(L_5, M_5, L1) → polígono4, n_7, d_8, I_9, J_9, K_9, L_9, R_9, S_9, T_9, U_9, V_9, e_8, f_8, g_8, h_8, i_8, j_8, k_8, l_8, m_8, p_7, n_8, p_8, q_8, r_8, s_8, t_8, t_{10}, a_{11}, b_{11}, c_{11}, q_7, d_{11}, e_{11}, f_{11}, g_{11}, h_{11}, i_{11}, j_{11}, k_{11}, l_{11}, m_{11}, r_7, n_{11}, n_{13}, a_{14}, b_{14}, i_{14}, j_{14}, i_{15}, j_{15}, l_{15}, m_{15}, s_7, n_{15}, m_{16}, n_{16}, a_{17}, b_{17}, i_{17}, N_5, O_5, P_5, Q_5, t_7, R_5, S_5, T_5, U_5, V_5, W_5, Z_5, A_6, B_6, C_6, a_8, D_6, E_6, F_6, G_6, H_6, I_6, J_6, K_6, L_6, D_7, b_8, E_7, F_7, G_7, H_7, I_7, J_7, K_7, L_7, M_7, N_7, c_8, O_7, P_7, Q_7, R_7, V_8, W_8, Z_8, A_9, B_9, H_9
  49. CircumcircleArc(C', L_5, C'') → c_9
  50. CircumcircleArc(C'', M_5, L_4) → d_9
  51. CircumcircleArc(L_4, N_5, M_4) → e_9
  52. CircumcircleArc(M_4, O_5, N_4) → f_9
  53. CircumcircleArc(N, R_2, O) → g_9
  54. CircumcircleArc(O, S_2, P) → h_9
  55. CircumcircleArc(P, T_2, Q) → k_9
  56. CircumcircleArc(Q, U_2, S) → p_9
  57. CircumcircleArc(S, V_2, T) → q_9
  58. CircumcircleArc(T, W_2, U) → r_9
  59. CircumcircleArc(U, Z_2, V) → s_9
  60. CircumcircleArc(V, A_3, W) → t_9
  61. CircumcircleArc(W, B_3, Z) → c_{10}
  62. CircumcircleArc(Z, C_3, A_1) → d_{10}
  63. CircumcircleArc(A_1, D_3, B_1) → h_{10}
  64. CircumcircleArc(B_1, E_3, C_1) → k_{10}
  65. CircumcircleArc(C_1, F_3, D_1) → p_{10}
  66. CircumcircleArc(D_1, G_3, E_1) → q_{10}
  67. CircumcircleArc(E_1, H_3, F_1) → r_{10}
  68. CircumcircleArc(F_1, I_3, G_1) → q_{12}
  69. CircumcircleArc(R_6, H_7, Q_6) → r_{12}
  70. CircumcircleArc(Q_6, G_7, P_6) → s_{12}
  71. CircumcircleArc(P_6, F_7, O_6) → t_{12}
  72. CircumcircleArc(O_6, E_7, N_6) → c_{13}
  73. CircumcircleArc(N_6, D_7, M_6) → d_{13}
  74. CircumcircleArc(M_6, L_6, J_5) → e_{13}
  75. CircumcircleArc(J_5, K_6, I_5) → f_{13}
  76. CircumcircleArc(I_5, J_6, H_5) → g_{13}
  77. CircumcircleArc(H_5, I_6, G_5) → h_{13}
  78. CircumcircleArc(G_5, H_6, F_5) → k_{13}
  79. CircumcircleArc(F_5, G_6, E_5) → e_{10}
  80. CircumcircleArc(E_5, F_6, D_5) → f_{10}
  81. CircumcircleArc(D_5, E_6, C_5) → g_{10}
  82. CircumcircleArc(C_5, D_6, B_5) → p_{13}
  83. CircumcircleArc(B_5, C_6, A_5) → q_{13}
  84. CircumcircleArc(A_5, B_6, Z_4) → r_{13}
  85. CircumcircleArc(Z_4, A_6, W_4) → s_{13}
  86. CircumcircleArc(W_4, Z_5, V_4) → t_{13}
  87. CircumcircleArc(V_4, W_5, U_4) → c_{14}
  88. CircumcircleArc(U_4, V_5, T_4) → d_{14}
  89. CircumcircleArc(T_4, U_5, S_4) → e_{14}
  90. CircumcircleArc(S_4, T_5, R_4) → f_{14}
  91. CircumcircleArc(N_4, P_5, O_4) → g_{14}
  92. CircumcircleArc(O_4, Q_5, P_4) → h_{14}
  93. CircumcircleArc(P_4, R_5, Q_4) → k_{14}
  94. CircumcircleArc(Q_4, S_5, R_4) → p_{14}
  95. CircumcircleArc(G_1, J_3, H_1) → q_{14}
  96. CircumcircleArc(H_1, K_3, I_1) → r_{14}
  97. CircumcircleArc(I_1, L_3, J_1) → s_{14}
  98. CircumcircleArc(J_1, M_3, K_1) → t_{14}
  99. CircumcircleArc(K_1, N_3, L_1) → c_{15}
  100. CircumcircleArc(L_1, O_3, M_1) → d_{15}
  101. CircumcircleArc(M_1, P_3, N_1) → e_{15}
  102. CircumcircleArc(N_1, Q_3, O_1) → f_{15}
  103. CircumcircleArc(O_1, R_3, P_1) → g_{15}
  104. CircumcircleArc(P_1, S_3, Q_1) → h_{15}
  105. CircumcircleArc(Q_1, T_3, R_1) → k_{15}
  106. CircumcircleArc(R_1, U_3, S_1) → p_{15}
  107. CircumcircleArc(S_1, V_3, T_1) → q_{15}
  108. CircumcircleArc(T_1, W_3, U_1) → r_{15}
  109. CircumcircleArc(U_1, Z_3, V_1) → s_{15}
  110. CircumcircleArc(V_1, A_4, W_1) → t_{15}
  111. CircumcircleArc(W_1, B_4, Z_1) → c_{16}
  112. CircumcircleArc(Z_1, C_4, A_2) → d_{16}
  113. CircumcircleArc(A_2, D_4, B_2) → e_{16}
  114. CircumcircleArc(B_2, E_4, C_2) → f_{16}
  115. CircumcircleArc(C_2, F_4, D_2) → g_{16}
  116. CircumcircleArc(D_2, G_4, E_2) → h_{16}
  117. CircumcircleArc(E_2, H_4, S_7) → k_{16}
  118. CircumcircleArc(S_7, E_8, T_7) → p_{16}
  119. CircumcircleArc(T_7, F_8, U_7) → q_{16}
  120. CircumcircleArc(U_7, G_8, V_7) → r_{16}
  121. CircumcircleArc(V_7, H_8, W_7) → s_{16}
  122. CircumcircleArc(W_7, I_8, Z_7) → t_{16}
  123. CircumcircleArc(Z_7, J_8, A_8) → c_{17}
  124. CircumcircleArc(A_8, K_8, B_8) → d_{17}
  125. CircumcircleArc(B_8, L_8, C_8) → e_{17}
  126. CircumcircleArc(D_8, M_8, C_8) → f_{17}
  127. Circle(A, R + (2 * R / 15)) → g_{17}
  128. CircumcircleArc(D_8, N_8, B) → h_{17}
  129. Segment(I_4, C') → a_{13}
  130. Angle(B, A, C) → θ
  131. Locus(P0, go) → lugar1
  132. CircumcircleArc(U_6, L_7, V_6) → k_{17}
  133. CircumcircleArc(T_6, K_7, U_6) → p_{17}
  134. CircumcircleArc(S_6, J_7, T_6) → q_{17}
  135. CircumcircleArc(R_6, I_7, S_6) → r_{17}
  136. CircumcircleArc(V_6, M_7, W_6) → s_{17}
  137. CircumcircleArc(W_6, N_7, Z_6) → t_{17}
  138. CircumcircleArc(Z_6, O_7, A_7) → c_{18}
  139. CircumcircleArc(A_7, P_7, B_7) → d_{18}
  140. CircumcircleArc(B_7, Q_7, C_7) → e_{18}
  141. CircumcircleArc(C_7, R_7, Q_8) → f_{18}
  142. CircumcircleArc(Q_8, V_8, R_8) → g_{18}
  143. CircumcircleArc(R_8, W_8, S_8) → h_{18}
  144. CircumcircleArc(S_8, Z_8, T_8) → k_{18}
  145. CircumcircleArc(T_8, A_9, U_8) → p_{18}
  146. CircumcircleArc(U_8, B_9, C_9) → q_{18}
  147. CircumcircleArc(C_9, H_9, D_9) → r_{18}
  148. CircumcircleArc(D_9, I_9, E_9) → s_{18}
  149. CircumcircleArc(E_9, J_9, F_9) → t_{18}
  150. CircumcircleArc(F_9, K_9, G_9) → c_{19}
  151. CircumcircleArc(G_9, L_9, M_9) → d_{19}
  152. CircumcircleArc(M_9, R_9, N_9) → e_{19}
  153. CircumcircleArc(N_9, S_9, O_9) → f_{19}
  154. CircumcircleArc(O_9, T_9, P_9) → g_{19}
  155. CircumcircleArc(P_9, U_9, Q_9) → h_{19}
  156. CircumcircleArc(C', If[L1 ≟ 5, P_5], If[L1 ≟ 5, N_4]) → p_{19}
  157. CircumcircleArc(C', If[L1 ≟ 6, Q_5], If[L1 ≟ 6, O_4]) → q_{19}
  158. CircumcircleArc(C', If[L1 ≟ 7, R_5], If[L1 ≟ 7, P_4]) → r_{19}
  159. CircumcircleArc(C', If[L1 ≟ 8, S_5], If[L1 ≟ 8, Q_4]) → s_{19}
  160. CircumcircleArc(C', If[L1 ≟ 9, T_5], If[L1 ≟ 9, R_4]) → t_{19}
  161. CircumcircleArc(C', If[L1 ≟ 10, U_5], If[L1 ≟ 10, S_4]) → c_{20}
  162. CircumcircleArc(C', If[L1 ≟ 11, V_5], If[L1 ≟ 11, T_4]) → d_{20}
  163. CircumcircleArc(C', If[L1 ≟ 15, B_6], If[L1 ≟ 15, Z_4]) → e_{20}
  164. CircumcircleArc(C', If[L1 ≟ 12, W_5], If[L1 ≟ 12, U_4]) → f_{20}
  165. CircumcircleArc(C', If[L1 ≟ 13, Z_5], If[L1 ≟ 13, V_4]) → g_{20}
  166. CircumcircleArc(C', If[L1 ≟ 14, A_6], If[L1 ≟ 14, W_4]) → h_{20}
  167. CircumcircleArc(C', If[L1 ≟ 16, C_6], If[L1 ≟ 16, A_5]) → k_{20}
  168. CircumcircleArc(C', If[L1 ≟ 17, D_6], If[L1 ≟ 17, B_5]) → p_{20}
  169. CircumcircleArc(C', If[L1 ≟ 18, E_6], If[L1 ≟ 18, C_5]) → q_{20}
  170. CircumcircleArc(C', If[L1 ≟ 19, F_6], If[L1 ≟ 19, D_5]) → r_{20}
  171. CircumcircleArc(C', If[L1 ≟ 20, G_6], If[L1 ≟ 20, E_5]) → s_{20}
  172. CircumcircleArc(C', If[L1 ≟ 21, H_6], If[L1 ≟ 21, F_5]) → t_{20}
  173. CircumcircleArc(C', If[L1 ≟ 22, I_6], If[L1 ≟ 22, G_5]) → c_{21}
  174. CircumcircleArc(C', If[L1 ≟ 23, J_6], If[L1 ≟ 23, H_5]) → d_{21}
  175. CircumcircleArc(C', If[L1 ≟ 24, K_6], If[L1 ≟ 24, I_5]) → e_{21}
  176. CircumcircleArc(C', If[L1 ≟ 25, L_6], If[L1 ≟ 25, J_5]) → f_{21}
  177. CircumcircleArc(C', If[L1 ≟ 26, D_7], If[L1 ≟ 26, M_6]) → g_{21}
  178. CircumcircleArc(C', If[L1 ≟ 27, E_7], If[L1 ≟ 27, N_6]) → h_{21}
  179. CircumcircleArc(C', If[L1 ≟ 28, F_7], If[L1 ≟ 28, O_6]) → k_{21}
  180. CircumcircleArc(C', If[L1 ≟ 29, G_7], If[L1 ≟ 29, P_6]) → p_{21}
  181. CircumcircleArc(C', If[L1 ≟ 30, H_7], If[L1 ≟ 30, Q_6]) → q_{21}
  182. CircumcircleArc(C', If[L1 ≟ 31, I_7], If[L1 ≟ 31, R_6]) → r_{21}
  183. CircumcircleArc(C', If[L1 ≟ 32, J_7], If[L1 ≟ 32, S_6]) → s_{21}
  184. CircumcircleArc(C', If[L1 ≟ 33, K_7], If[L1 ≟ 33, T_6]) → t_{21}
  185. CircumcircleArc(C', If[L1 ≟ 34, L_7], If[L1 ≟ 34, U_6]) → c_{22}
  186. CircumcircleArc(C', If[L1 ≟ 35, M_7], If[L1 ≟ 35, V_6]) → d_{22}
  187. CircumcircleArc(C', If[L1 ≟ 35, N_7], If[L1 ≟ 35, W_6]) → e_{22}
  188. CircumcircleArc(C', If[L1 ≟ 36, N_7], If[L1 ≟ 36, W_6]) → f_{22}
  189. CircumcircleArc(C', If[L1 ≟ 37, O_7], If[L1 ≟ 37, Z_6]) → g_{22}
  190. CircumcircleArc(C', If[L1 ≟ 38, P_7], If[L1 ≟ 38, A_7]) → h_{22}
  191. CircumcircleArc(C', If[L1 ≟ 39, Q_7], If[L1 ≟ 39, B_7]) → k_{22}
  192. CircumcircleArc(C', If[L1 ≟ 40, R_7], If[L1 ≟ 40, C_7]) → p_{22}
  193. CircumcircleArc(C', If[L1 ≟ 41, V_8], If[L1 ≟ 41, Q_8]) → q_{22}
  194. CircumcircleArc(C', If[L1 ≟ 42, W_8], If[L1 ≟ 42, R_8]) → r_{22}
  195. CircumcircleArc(C', If[L1 ≟ 43, Z_8], If[L1 ≟ 43, S_8]) → s_{22}
  196. CircumcircleArc(C', If[L1 ≟ 44, A_9], If[L1 ≟ 44, T_8]) → t_{22}
  197. CircumcircleArc(C', If[L1 ≟ 45, B_9], If[L1 ≟ 45, U_8]) → c_{23}
  198. CircumcircleArc(C', If[L1 ≟ 46, H_9], If[L1 ≟ 46, C_9]) → e_{23}
  199. CircumcircleArc(C', If[L1 ≟ 47, I_9], If[L1 ≟ 47, D_9]) → f_{23}
  200. CircumcircleArc(C', If[L1 ≟ 48, J_9], If[L1 ≟ 48, E_9]) → g_{23}
  201. CircumcircleArc(C', If[L1 ≟ 49, K_9], If[L1 ≟ 49, F_9]) → h_{23}
  202. CircumcircleArc(C', If[L1 ≟ 50, L_9], If[L1 ≟ 50, G_9]) → k_{23}
  203. CircumcircleArc(C', If[L1 ≟ 51, R_9], If[L1 ≟ 51, M_9]) → p_{23}
  204. CircumcircleArc(C', If[L1 ≟ 52, S_9], If[L1 ≟ 52, N_9]) → q_{23}
  205. CircumcircleArc(C', If[L1 ≟ 53, T_9], If[L1 ≟ 53, O_9]) → d_{23}
  206. CircumcircleArc(C', If[L1 ≟ 54, U_9], If[L1 ≟ 54, P_9]) → r_{23}
  207. CircumcircleArc(C', If[L1 ≟ 55, V_9], If[L1 ≟ 55, Q_9]) → k_{19}
  208. Textfield(size) → CajaDeEntrada1
  209. Sequence(If[IsInteger[(n * L / L1)], n], n, 1, 55) → lista1
  210. KeepIf(x ≤ 55, lista1) → lista2
  211. Min(lista2) → upperboundforrounds
  212. Rotate(B, (goP1 + ((roundsP1 - 1) * 360))°, A) → CP1
  213. Circle(CP1, rP1) → anilloauxP1
  214. Segment(A, CP1) → bP1
  215. Intersect(anilloauxP1, bP1) → iP1,
  216. Rotate(CP1, ((((-goP1) - ((roundsP1 - 1) * 360)) * spdP1))°, iP1) → C'P1
  217. Midpoint(C'P1, Midpoint[C'P1, iP1]) → P1
  218. Locus(P1, goP1) → lugar2
  219. Rotate(B, (goP2 + ((roundsP2 - 1) * 360))°, A) → CP2
  220. Circle(CP2, rP2) → anilloauxP2
  221. Segment(A, CP2) → bP2
  222. Intersect(anilloauxP2, bP2) → iP2,
  223. Rotate(CP2, ((((-goP2) - ((roundsP2 - 1) * 360)) * spdP2))°, iP2) → C'P2
  224. Midpoint(C'P2, Midpoint[C'P2, iP2]) → P2
  225. Locus(P2, goP2) → lugar3
  226. If(go ≟ 0, false, true) → LP0

AI 绘图提示语参考

画一个复杂的分形图案,通过多个圆的旋转和轨迹追踪生成,模拟真实 Spirograph 设备。首先绘制一个圆,然后在该圆上创建一个点,并围绕圆心旋转该点,形成轨迹。接着,利用这些轨迹和角度关系,构建多个多边形,并通过旋转和圆弧连接,形成连续的、具有几何美感的图案。整个过程展示了圆、旋转、轨迹和参数方程的应用,适合探索几何变换和分形艺术。
以上提示语为根据原始绘图命令整理而来,仅供参考。