Arsalan Box: Geometric Construction and Dynamic Folding of a Box

Arsalan Box: Geometric Construction and Dynamic Folding of a Box
Loading the math board and drawing, please wait…
2020-05-19 13:37
This GeoGebra example demonstrates how to construct a three-dimensional box by folding a flat net using geometric tools, visually illustrating the transition from 2D to 3D. The core mathematical concepts involve points, segments, polygons, perpendicular lines, circles, angle bisectors, midpoints, distance measurement, and transformations such as rotation. The construction uses commands like Point, Segment, OrthogonalLine, Circle, Intersect, Polygon, LineBisector, Distance, If, Rotate, Line, and Midpoint, with numerous auxiliary objects (a, b, A, B, f, g, c, C, h, i, D, q1, etc.) and a variable xvar controlling the fold anglecars. Distance variables (distanzaAE, distanzaDJ, distanzaJH) adjust the box dimensions dynamically. Suitable for high school or early college students learning geometric construction, transformations, and spatial reasoning, as well as for math labs or origami-based geometry explorations.

GeoGebra Commands & Parameters

  1. Point(Circle[A, b]) → B
  2. Segment(A, B) → f
  3. OrthogonalLine(B, f) → g
  4. Circle(B, a) → c
  5. Intersect(c, g, 2) → C
  6. OrthogonalLine(C, g) → h
  7. OrthogonalLine(A, f) → i
  8. Intersect(h, i) → D
  9. Polygon(A, B, C, D) → q1, a_1, b_1, c_1, d
  10. Circle(D, xvar) → e
  11. Intersect(f, a_1) → F
  12. Circle(A, xvar) → k
  13. Intersect(k, d, 1) → E
  14. OrthogonalLine(E, d) → j
  15. Intersect(j, b_1) → G
  16. Segment(E, G) → l
  17. LineBisector(D, E) → m
  18. Intersect(m, d) → H
  19. Intersect(m, b_1) → I
  20. Segment(H, I) → n
  21. Circle(D, xvar) → p
  22. Intersect(p, d, 1) → J
  23. OrthogonalLine(J, d) → q
  24. Intersect(q, b_1) → K
  25. Segment(J, K) → r
  26. LineBisector(J, A) → s
  27. Intersect(d, s) → L
  28. Intersect(s, b_1) → M
  29. Segment(L, M) → t
  30. Distance(A, E) → distanzaAE
  31. Distance(D, J) → distanzaDJ
  32. Distance(J, H) → distanzaJH
  33. Distance(H, L) → distanzaHL
  34. Distance(L, E) → distanzaLE
  35. Circle(C, b - a + xvar) → d_1
  36. Intersect(d_1, c_1, 1) → N
  37. OrthogonalLine(N, c_1) → f_1
  38. Intersect(f_1, f) → O
  39. Segment(N, O) → g_1
  40. LineBisector(D, N) → h_1
  41. Intersect(h_1, c_1) → P
  42. Intersect(h_1, f) → Q
  43. Segment(P, Q) → i_1
  44. Circle(D, b - a + xvar) → e_1
  45. Intersect(e_1, c_1, 1) → R
  46. OrthogonalLine(R, c_1) → j_1
  47. Intersect(j_1, f) → S_2
  48. LineBisector(R, C) → k_1
  49. Intersect(k_1, c_1) → T
  50. Intersect(k_1, f) → U
  51. Segment(T, U) → l_1
  52. Segment(R, S_2) → m_1
  53. Distance(D, P) → distanzaDP
  54. Distance(H, E) → distanzaHE
  55. Distance(J, L) → distanzaJL
  56. Distance(T, C) → distanzaTC
  57. Distance(D, R) → distanzaDR
  58. Intersect(n, i_1) → V_1
  59. Intersect(i_1, t) → W
  60. Intersect(t, l_1) → Z
  61. Intersect(l_1, n) → A_1
  62. LineBisector(T, C) → n_1
  63. LineBisector(D, P) → p_1
  64. LineBisector(D, H) → q_1
  65. LineBisector(L, A) → r_1
  66. If(xvar < a, Polygon[W, Z, A_1, V_1], q1) → q2
  67. Intersect(q_1, d) → B_1
  68. Intersect(q_1, b_1) → C_1
  69. Intersect(r_1, d) → D_1
  70. Intersect(b_1, r_1) → E_1
  71. Intersect(p_1, c_1) → F_1
  72. Intersect(p_1, f) → G_1
  73. Intersect(n_1, c_1) → H_1
  74. Intersect(n_1, f) → I_1
  75. Segment(B_1, C_1) → t_1
  76. Segment(D_1, E_1) → f_2
  77. Segment(F_1, G_1) → g_2
  78. Segment(H_1, I_1) → h_2
  79. Intersect(n, g_2) → J_1
  80. Intersect(t, g_2) → K_1
  81. Intersect(i_1, f_2) → L_1
  82. Intersect(l_1, f_2) → M_1
  83. Intersect(t, q1) → N_1, N_2
  84. Intersect(h_2, t) → O_1
  85. Intersect(n, h_2) → P_1
  86. Intersect(l_1, t_1) → Q_1
  87. Intersect(i_1, t_1) → R_1
  88. Polygon(L_1, M_1, Z, W) → q3, i_2, j_2, z_2, w_1
  89. Polygon(Z, O_1, P_1, A_1) → q4, z_3, o_1, k_2, l_2
  90. Polygon(A_1, Q_1, R_1, V_1) → q5, m_2, n_2, p_2, v_3
  91. Polygon(V_1, J_1, K_1, W) → q6, v_2, q_2, r_2, w_2
  92. Segment(A_1, C) → s_2
  93. Segment(Z, B) → t_2
  94. Segment(W, A) → a_2
  95. Segment(V_1, D) → b_2
  96. Distance(A_1, P_1) → distanzaA1P1
  97. Rotate(A_1, (-(90°)), m) → S_1
  98. Rotate(Q_1, (-(90°)), m) → T_1
  99. Rotate(R_1, (-(90°)), m) → U_1
  100. Rotate(V_1, (-(90°)), m) → W_1
  101. Polygon(S_1, T_1, U_1, W_1) → q5', c_2, d_2, u_1, e_2
  102. Rotate(L_1, 90°, s) → Z_1
  103. Rotate(M_1, 90°, s) → A_2
  104. Rotate(Z, 90°, s) → Z'
  105. Rotate(W, 90°, s) → W'
  106. Polygon(Z_1, A_2, Z', W') → q3', g_3, h_3, z', w'
  107. Line(P, Q) → i_3
  108. Line(T, U) → j_3
  109. Rotate(V_1, (-(90°)), i_3) → B_2
  110. Rotate(J_1, (-(90°)), i_3) → C_2
  111. Rotate(K_1, (-(90°)), i_3) → D_2
  112. Rotate(W, (-(90°)), i_3) → W'_1
  113. Polygon(B_2, C_2, D_2, W'_1) → q6', k_3, l_3, m_3, w'_1
  114. Rotate(Z, 90°, j_3) → Z'_1
  115. Rotate(O_1, 90°, j_3) → E_2
  116. Rotate(P_1, 90°, j_3) → F_2
  117. Rotate(A_1, 90°, j_3) → G_2
  118. Polygon(Z'_1, E_2, F_2, G_2) → q4', z'_1, n_3, p_3, q_3
  119. Midpoint(V_1, A_1) → H_2
  120. Midpoint(V_1, W) → I_2
  121. Midpoint(A_1, P_1) → J_2