Recursive Solution

Recursive Solution
Loading the math board and drawing, please wait…
2019-04-21 20:04
This example demonstrates how to construct three-dimensional geometric solids, particularly cubes, using recursive methods. The core mathematical concepts involved include solid geometry, volume calculation, and geometric transformations. Key GeoGebra commands and objects used in the construction are Intersect, Point, Polygon, Midpoint, Segment, Rotate, Circle, Vector, Translate, and Prism. It is suitable for high school and above students to learn and understand the application of recursion in geometry.

GeoGebra Commands & Parameters

  1. Intersect(xAxis, yAxis) → A
  2. Point(xAxis) → B
  3. Polygon(A, B, 4) → poly1, f, g, h, i, C, D
  4. Midpoint(i) → E
  5. Midpoint(h) → F
  6. Midpoint(g) → G
  7. Midpoint(f) → H
  8. Segment(F, H) → j
  9. Segment(E, G) → k
  10. Midpoint(F, H) → I
  11. Midpoint(F, I) → J
  12. Midpoint(I, H) → K
  13. Midpoint(E, I) → L
  14. Midpoint(I, G) → M
  15. Midpoint(F, J) → N
  16. Midpoint(E, L) → O
  17. Midpoint(I, K) → P
  18. Midpoint(L, I) → Q
  19. Midpoint(J, I) → R
  20. Midpoint(I, M) → S
  21. Midpoint(M, G) → T
  22. Midpoint(K, H) → U
  23. Midpoint(D, I) → B_1
  24. Midpoint(D, B_1) → V
  25. Midpoint(B_1, I) → W
  26. Midpoint(I, B) → Z
  27. Midpoint(I, Z) → A_1
  28. Midpoint(Z, B) → C_1
  29. Midpoint(I, C) → D_1
  30. Midpoint(I, D_1) → E_1
  31. Midpoint(D_1, C) → F_1
  32. Midpoint(A, I) → G_1
  33. Midpoint(G_1, I) → H_1
  34. Midpoint(A, G_1) → I_1
  35. Polygon(I_1, C_1, 4) → poly2, l, m, n, p, J_1, K_1
  36. Polygon(G_1, Z, 4) → poly3, a, b, c, d, L_1, M_1
  37. Midpoint(B_1, L) → N_1
  38. Midpoint(B_1, J) → O_1
  39. Midpoint(J, D_1) → P_1
  40. Midpoint(D_1, M) → Q_1
  41. Midpoint(M, Z) → R_1
  42. Midpoint(Z, K) → S_1
  43. Midpoint(K, G_1) → T_1
  44. Midpoint(G_1, L) → U_1
  45. Polygon(H_1, A_1, 4) → poly4, s, t, e, f_1, V_1, W_1
  46. Polygon(E, O, J, D_1, F_1, N, F, D, V, B_1, L, Q, W, I, E_1, R) → poly5, e_1, r_1, j_1, d_1, f_2, n_1, f_3, d_2, o, v, b_1, l_1, q_1, w, i_1, e_2
  47. Rotate(E, (-(90°)), I) → E'
  48. Rotate(O, (-(90°)), I) → O'
  49. Rotate(V, (-(90°)), I) → V'
  50. Rotate(B_1, (-(90°)), I) → Z_1
  51. Rotate(L, (-(90°)), I) → L'
  52. Rotate(Q, (-(90°)), I) → Q'
  53. Rotate(W, (-(90°)), I) → W'
  54. Rotate(I, (-(90°)), I) → I'
  55. Rotate(E_1, (-(90°)), I) → A_2
  56. Rotate(R, (-(90°)), I) → R'
  57. Rotate(J, (-(90°)), I) → J'
  58. Rotate(D_1, (-(90°)), I) → B_2
  59. Rotate(F_1, (-(90°)), I) → C_2
  60. Rotate(N, (-(90°)), I) → N'
  61. Rotate(F, (-(90°)), I) → F'
  62. Rotate(D, (-(90°)), I) → D'
  63. Polygon(E', O', J', B_2, C_2, N', F', D', V', Z_1, L', Q', W', I', A_2, R') → poly5', e', r', j', b_2, c_2, n', f', d', o', v', z_1, l', q', w', i', a_2
  64. Rotate(E', (-(90°)), I) → E''
  65. Rotate(O', (-(90°)), I) → O''
  66. Rotate(V', (-(90°)), I) → V''
  67. Rotate(Z_1, (-(90°)), I) → D_2
  68. Rotate(L', (-(90°)), I) → L''
  69. Rotate(Q', (-(90°)), I) → Q''
  70. Rotate(W', (-(90°)), I) → W''
  71. Rotate(I', (-(90°)), I) → I''
  72. Rotate(A_2, (-(90°)), I) → E_2
  73. Rotate(R', (-(90°)), I) → R''
  74. Rotate(J', (-(90°)), I) → J''
  75. Rotate(B_2, (-(90°)), I) → F_2
  76. Rotate(C_2, (-(90°)), I) → G_2
  77. Rotate(N', (-(90°)), I) → N''
  78. Rotate(F', (-(90°)), I) → F''
  79. Rotate(D', (-(90°)), I) → D''
  80. Polygon(E'', O'', J'', F_2, G_2, N'', F'', D'', V'', D_2, L'', Q'', W'', I'', E_2, R'') → poly5'', e'', r'', j'', f_4, g_2, n'', f'', d'', o'', v'', d_3, l'', q'', w'', i'', e_3
  81. Rotate(E', (-(180°)), I) → E''_1
  82. Rotate(O', (-(180°)), I) → O''_1
  83. Rotate(V', (-(180°)), I) → V''_1
  84. Rotate(Z_1, (-(180°)), I) → H_2
  85. Rotate(L', (-(180°)), I) → L''_1
  86. Rotate(Q', (-(180°)), I) → Q''_1
  87. Rotate(W', (-(180°)), I) → W''_1
  88. Rotate(I', (-(180°)), I) → I''_1
  89. Rotate(A_2, (-(180°)), I) → I_2
  90. Rotate(R', (-(180°)), I) → R''_1
  91. Rotate(J', (-(180°)), I) → J''_1
  92. Rotate(B_2, (-(180°)), I) → J_2
  93. Rotate(C_2, (-(180°)), I) → K_2
  94. Rotate(N', (-(180°)), I) → N''_1
  95. Rotate(F', (-(180°)), I) → F''_1
  96. Rotate(D', (-(180°)), I) → D''_1
  97. Polygon(E''_1, O''_1, J''_1, J_2, K_2, N''_1, F''_1, D''_1, V''_1, H_2, L''_1, Q''_1, W''_1, I''_1, I_2, R''_1) → poly5''_1, e''_1, r''_1, j''_1, j_2, k_2, n''_1, f''_1, d''_1, o''_1, v''_1, h_2, l''_1, q''_1, w''_1, i''_1, i_2
  98. Segment(J_2, I) → q
  99. Circle(I, r) → c_1
  100. Intersect(c_1, q, 1) → L_2
  101. Segment(I, Z_1) → g_1
  102. Intersect(c_1, g_1, 1) → M_2
  103. Vector(I, L_2) → u
  104. Vector(I, M_2) → u_1
  105. Translate(E', u_1) → E''_2
  106. Translate(O', u_1) → O''_2
  107. Translate(V', u_1) → V''_2
  108. Translate(Z_1, u_1) → N_2
  109. Translate(L', u_1) → L''_2
  110. Translate(Q', u_1) → Q''_2
  111. Translate(W', u_1) → W''_2
  112. Translate(I', u_1) → I''_2
  113. Translate(A_2, u_1) → O_2
  114. Translate(R', u_1) → R''_2
  115. Translate(J', u_1) → J''_2
  116. Translate(B_2, u_1) → P_2
  117. Translate(C_2, u_1) → Q_2
  118. Translate(N', u_1) → N''_2
  119. Translate(F', u_1) → F''_2
  120. Translate(D', u_1) → D''_2
  121. Polygon(E''_2, O''_2, J''_2, P_2, Q_2, N''_2, F''_2, D''_2, V''_2, N_2, L''_2, Q''_2, W''_2, I''_2, O_2, R''_2) → poly5''_2, e''_2, r''_2, j''_2, p_2, q_2, n''_2, f''_2, d''_2, o''_2, v''_2, n_2, l''_2, q''_2, w''_2, i''_2, o_2
  122. Translate(E''_1, Vector[(-u_1)]) → R_2
  123. Translate(O''_1, Vector[(-u_1)]) → S_2
  124. Translate(V''_1, Vector[(-u_1)]) → T_2
  125. Translate(H_2, Vector[(-u_1)]) → U_2
  126. Translate(L''_1, Vector[(-u_1)]) → V_2
  127. Translate(Q''_1, Vector[(-u_1)]) → W_2
  128. Translate(W''_1, Vector[(-u_1)]) → Z_2
  129. Translate(I''_1, Vector[(-u_1)]) → A_3
  130. Translate(I_2, Vector[(-u_1)]) → B_3
  131. Translate(R''_1, Vector[(-u_1)]) → C_3
  132. Translate(J''_1, Vector[(-u_1)]) → D_3
  133. Translate(J_2, Vector[(-u_1)]) → E_3
  134. Translate(K_2, Vector[(-u_1)]) → F_3
  135. Translate(N''_1, Vector[(-u_1)]) → G_3
  136. Translate(F''_1, Vector[(-u_1)]) → H_3
  137. Translate(D''_1, Vector[(-u_1)]) → I_3
  138. Polygon(R_2, S_2, D_3, E_3, F_3, G_3, H_3, I_3, T_2, U_2, V_2, W_2, Z_2, A_3, B_3, C_3) → poly6, r_2, c_3, d_4, e_4, f_5, g_3, h_3, i_3, s_2, t_2, u_2, v_2, w_2, z_2, a_3, b_3
  139. Translate(E''_1, Vector[(-u_1)]) → J_3
  140. Translate(O''_1, Vector[(-u_1)]) → K_3
  141. Translate(V''_1, Vector[(-u_1)]) → L_3
  142. Translate(H_2, Vector[(-u_1)]) → M_3
  143. Translate(L''_1, Vector[(-u_1)]) → N_3
  144. Translate(Q''_1, Vector[(-u_1)]) → O_3
  145. Translate(W''_1, Vector[(-u_1)]) → P_3
  146. Translate(I''_1, Vector[(-u_1)]) → Q_3
  147. Translate(I_2, Vector[(-u_1)]) → R_3
  148. Translate(R''_1, Vector[(-u_1)]) → S_3
  149. Translate(J''_1, Vector[(-u_1)]) → T_3
  150. Translate(J_2, Vector[(-u_1)]) → U_3
  151. Translate(K_2, Vector[(-u_1)]) → V_3
  152. Translate(N''_1, Vector[(-u_1)]) → W_3
  153. Translate(F''_1, Vector[(-u_1)]) → Z_3
  154. Translate(D''_1, Vector[(-u_1)]) → A_4
  155. Polygon(J_3, K_3, T_3, U_3, V_3, W_3, Z_3, A_4, L_3, M_3, N_3, O_3, P_3, Q_3, R_3, S_3) → poly7, j_3, s_3, t_3, u_3, v_3, w_3, z_3, a_4, k_3, l_3, m_3, n_3, o_3, p_3, q_3, r_3
  156. Translate(E, u) → E'_1
  157. Translate(O, u) → O'_1
  158. Translate(V, u) → V'_1
  159. Translate(B_1, u) → B_4
  160. Translate(L, u) → L'_1
  161. Translate(Q, u) → Q'_1
  162. Translate(W, u) → W'_1
  163. Translate(I, u) → I'_1
  164. Translate(E_1, u) → C_4
  165. Translate(R, u) → R'_1
  166. Translate(J, u) → J'_1
  167. Translate(D_1, u) → D_4
  168. Translate(F_1, u) → E_4
  169. Translate(N, u) → N'_1
  170. Translate(F, u) → F'_1
  171. Translate(D, u) → D'_1
  172. Polygon(E'_1, O'_1, J'_1, D_4, E_4, N'_1, F'_1, D'_1, V'_1, B_4, L'_1, Q'_1, W'_1, I'_1, C_4, R'_1) → poly5'_1, e'_1, r'_1, j'_1, d_5, e_5, n'_1, f'_1, d'_1, o'_1, v'_1, b_4, l'_1, q'_1, w'_1, i'_1, c_4
  173. Translate(E'', Vector[(-u)]) → E'''
  174. Translate(O'', Vector[(-u)]) → O'''
  175. Translate(V'', Vector[(-u)]) → V'''
  176. Translate(D_2, Vector[(-u)]) → F_4
  177. Translate(L'', Vector[(-u)]) → L'''
  178. Translate(Q'', Vector[(-u)]) → Q'''
  179. Translate(W'', Vector[(-u)]) → W'''
  180. Translate(I'', Vector[(-u)]) → I'''
  181. Translate(E_2, Vector[(-u)]) → G_4
  182. Translate(R'', Vector[(-u)]) → R'''
  183. Translate(J'', Vector[(-u)]) → J'''
  184. Translate(F_2, Vector[(-u)]) → H_4
  185. Translate(G_2, Vector[(-u)]) → I_4
  186. Translate(N'', Vector[(-u)]) → N'''
  187. Translate(F'', Vector[(-u)]) → F'''
  188. Translate(D'', Vector[(-u)]) → D'''
  189. Polygon(E''', O''', J''', H_4, I_4, N''', F''', D''', V''', F_4, L''', Q''', W''', I''', G_4, R''') → poly5''', e''', r''', j''', h_4, i_4, n''', f''', d''', o''', v''', f_6, l''', q''', w''', i''', g_4
  190. Prism(poly5'_1, h_1) → k_1, B_5, K_5, L_5, M_5, N_5, O_5, P_5, Q_5, face18, face20, face21, C_5, face22, face23, face24, face25, face26, face27, face28, face29, face30, face31, D_5, face32, face33, face19, face34, edge33, edge34, edge35, edge36, edge37, edge38, E_5, edge39, edge40, edge41, edge42, edge43, edge44, edge45, edge46, edge47, edge48, F_5, edge49, edge51, edge52, edge53, edge54, edge55, edge56, edge57, edge58, edge59, G_5, edge60, edge61, edge62, edge63, edge64, edge50, H_5, I_5, J_5
  191. Prism(poly5''', m_1) → o_1, R_5, C_6, D_6, E_6, F_6, G_6, H_6, I_6, face35, face37, face38, S_5, face39, face40, face41, face42, face43, face44, face45, face46, face47, face48, T_5, face49, face50, face36, face51, edge65, edge66, edge67, edge68, edge69, edge70, U_5, edge71, edge72, edge73, edge74, edge75, edge76, edge77, edge78, edge79, edge80, V_5, edge81, edge83, edge84, edge85, edge86, edge87, edge88, edge89, edge90, edge91, W_5, edge92, edge93, edge94, edge95, edge96, edge82, Z_5, A_6, B_6
  192. Prism(poly5''_2, p_1) → s_1, J_6, S_6, T_6, U_6, V_6, W_6, Z_6, A_7, face52, face54, face55, K_6, face56, face57, face58, face59, face60, face61, face62, face63, face64, face65, L_6, face66, face67, face53, face68, edge97, edge98, edge99, edge100, edge101, edge102, M_6, edge103, edge104, edge105, edge106, edge107, edge108, edge109, edge110, edge111, edge112, N_6, edge113, edge115, edge116, edge117, edge118, edge119, edge120, edge121, edge122, edge123, O_6, edge124, edge125, edge126, edge127, edge128, edge114, P_6, Q_6, R_6
  193. Prism(poly6, t_1) → v_1, B_7, K_7, L_7, M_7, N_7, O_7, P_7, Q_7, face69, face71, face72, C_7, face73, face74, face75, face76, face77, face78, face79, face80, face81, face82, D_7, face83, face84, face70, face85, edge129, edge130, edge131, edge132, edge133, edge134, E_7, edge135, edge136, edge137, edge138, edge139, edge140, edge141, edge142, edge143, edge144, F_7, edge145, edge147, edge148, edge149, edge150, edge151, edge152, edge153, edge154, edge155, G_7, edge156, edge157, edge158, edge159, edge160, edge146, H_7, I_7, J_7

AI Drawing Prompt Reference

Draw a three-dimensional geometric solid constructed recursively to form multiple cubes. Start by plotting the intersection point of coordinate axes and creating a quadrilateral. Find midpoints, connect them to form segments, and use rotations and translations to build complex structures. The final image should consist of interconnected cubes, demonstrating the application of recursion in geometry.
The prompt above was compiled from the original drawing commands and is for reference only.