Puzzle Cube Demonstration

Puzzle Cube Demonstration
Loading the math board and drawing, please wait…
2019-07-16 16:16
This example demonstrates the process of observing the internal structure of a puzzle cube through interactive tools. It involves core mathematical concepts such as solid geometry, polygons, vectors, rotation, and symmetry. Key GeoGebra commands used in construction include Intersect, Point, Cube, Midpoint, Mirror, Vector, Line, Polygon, Rotate, Centroid, Segment, OrthogonalLine, Translate, OrthogonalPlane, IntersectPath, Plane, and Pyramid. It is suitable for high school students studying solid geometry, spatial visualization, and geometric transformations.

GeoGebra Commands & Parameters

  1. Intersect(xAxis, zAxis) → A
  2. Point(xAxis) → B
  3. Point(Circle[B, Distance[A, B], Segment[A, B]]) → C
  4. Cube(A, B, C) → a, D, faceCDHG, faceEFGH, edgeAD, edgeAB, edgeBC, edgeCD, edgeAE, edgeDH, edgeEH, edgeEF, E, edgeBF, edgeFG, edgeCG, edgeGH, F, G, H, faceABCD, faceADHE, faceABFE, faceBCGF
  5. Midpoint(edgeAD) → O
  6. Midpoint(edgeEH) → I
  7. Midpoint(H, I) → J
  8. Midpoint(F, B) → A_1
  9. Midpoint(edgeCG) → C_1
  10. Midpoint(C_1, A_1) → J_2
  11. Midpoint(edgeDH) → D_1
  12. Midpoint(D_1, D) → F_1
  13. Midpoint(edgeAE) → E_1
  14. Mirror(A, E_1) → A'
  15. Midpoint(D_1, E_1) → G_1
  16. Midpoint(G_1, J_2) → K_2
  17. Vector(K_2, A') → u
  18. Line(A', K_2) → p_4
  19. Midpoint(G_1, E) → T_1
  20. Midpoint(G_1, O) → H_1
  21. Midpoint(F_1, H_1) → I_1
  22. Midpoint(E_1, A) → J_1
  23. Midpoint(H_1, J_1) → U_1
  24. Polygon(E, T_1, U_1, I_1, J) → poly1, e_1, t_1, u_1, i_1, j_1
  25. Rotate(poly1, (-(120°)), p_4) → poly1'
  26. Midpoint(C_1, C) → V_1
  27. Midpoint(F_1, V_1) → W_1
  28. Midpoint(F_1, W_1) → Z_1
  29. Midpoint(A_1, B) → K_1
  30. Midpoint(J_1, K_1) → L_1
  31. Midpoint(J_1, L_1) → M_1
  32. Midpoint(Z_1, M_1) → A_2
  33. Midpoint(A_2, M_1) → B_2
  34. Midpoint(edgeEF) → N
  35. Midpoint(E, N) → O_1
  36. Midpoint(edgeGH) → L
  37. Midpoint(H, L) → P_1
  38. Midpoint(P_1, O_1) → Q_1
  39. Midpoint(P_1, Q_1) → S_1
  40. Line(S_1, edgeDH) → k_2
  41. Intersect(k_2, faceABCD) → A_3
  42. Midpoint(S_1, A_3) → B_3
  43. Midpoint(B_3, S_1) → C_3
  44. Midpoint(I, E) → K
  45. Midpoint(edgeFG) → M
  46. Midpoint(edgeCD) → P
  47. Midpoint(edgeBC) → Q
  48. Midpoint(edgeAB) → R
  49. Midpoint(D, P) → S
  50. Midpoint(P, C) → T
  51. Midpoint(C, Q) → U
  52. Midpoint(Q, B) → V
  53. Midpoint(B, R) → W
  54. Midpoint(R, A) → Z
  55. Midpoint(A_1, F) → B_1
  56. Midpoint(L_1, K_1) → N_1
  57. Midpoint(Q_1, O_1) → R_1
  58. Polygon(R_1, E, J, S_1) → q1, r_1, e, j, s_1
  59. Midpoint(O, A) → D_2
  60. Midpoint(Z, S) → E_2
  61. Midpoint(E_2, Z) → F_2
  62. Midpoint(R_1, F_2) → C_2
  63. Line(S_1, edgeDH) → f
  64. Line(I_1, edgeCD) → g
  65. Intersect(g, f) → G_2
  66. Polygon(S_1, G_2, I_1, J) → q2, h, g_2, i, j_2
  67. Polygon(R_1, B_2, C_3, S_1) → q3, k_5, l, m, b_2
  68. Midpoint(R_1, C_2) → H_2
  69. Polygon(T_1, E, H_2) → t2, p, q, e_3
  70. Polygon(T_1, H_2, B_2, U_1) → q4, r, s, t, b
  71. Centroid(faceABFE) → L_2
  72. Midpoint(J_2, Q) → I_2
  73. Midpoint(I_2, K_1) → M_2
  74. Midpoint(U_1, M_2) → N_2
  75. Midpoint(K_2, J_2) → O_2
  76. Segment(C_3, B_2) → d
  77. Midpoint(N, F) → T_2
  78. Midpoint(G, E) → Q_2
  79. Midpoint(Q_2, G) → R_2
  80. Polygon(G, R_2, T_2, F) → q5, g_1, r_2, t_2, f_1
  81. Polygon(F, B, C, G) → q6, f_2, b_1, c_1, g_3
  82. Line(R_2, c_1) → h_1
  83. Intersect(h_1, faceABCD) → U_2
  84. Midpoint(R_2, U_2) → W_2
  85. Midpoint(W_2, U_2) → Z_2
  86. Polygon(N_1, B, C, Z_2) → q8, n_1, b_3, c_3, l_1
  87. Polygon(T_2, R_2, Z_2, N_1) → q9, m_1, p_1, q_1, a_1
  88. Polygon(T_2, F, B, N_1) → q10, d_1, f_3, b_4, i_2
  89. Midpoint(d) → D_3
  90. Line(O_2, d) → l_2
  91. Intersect(l_2, p_1) → E_3
  92. Midpoint(W_2, B_3) → P_2
  93. Polygon(G_2, P_2, W_2, E_3, C_3) → poly2, c, p_2, w_2, m_2, n_2
  94. Polygon(B_2, K_2, O_2, E_3, C_3) → poly3, q_2, s_2, o_2, a_2, d_2
  95. Polygon(P_2, K_2, O_2, W_2) → q11, h_3, i_3, j_3, k_3
  96. Polygon(P_2, G_2, B_2, K_2) → q12, l_3, m_3, n_3, p_3
  97. Polygon(G_2, I_1, U_1, B_2) → q13, q_3, r_3, s_3, t_3
  98. Polygon(R_2, E_3, O_2, W_2, Z_2, N_1, T_2) → poly4, a_3, d_3, f_4, h_4, i_4, j_4, k_4
  99. OrthogonalLine(G_1, poly1) → l_4
  100. OrthogonalLine(Q_2, q5) → m_4
  101. OrthogonalLine(L_2, q10) → n_4
  102. Rotate(q1, (-(120°)), p_4) → q1'
  103. Rotate(q5, (-(120°)), p_4) → q5'
  104. Rotate(poly4, (-(120°)), p_4) → poly4'
  105. Rotate(q10, (-(120°)), p_4) → q10'
  106. Rotate(q6, 240°, p_4) → q6'
  107. Rotate(q8, (-(120°)), p_4) → q8'
  108. Rotate(q3, (-(120°)), p_4) → q3'
  109. Translate(poly1', Vector[(k * u)]) → poly1''
  110. Translate(poly4', Vector[(k * u)]) → poly4''
  111. Translate(q1', Vector[(k * u)]) → q1''
  112. Translate(q3', Vector[(k * u)]) → q3''
  113. Translate(q10', Vector[(k * u)]) → q10''
  114. Translate(q5', Vector[(k * u)]) → q5''
  115. Translate(q6', Vector[(k * u)]) → q6''
  116. Translate(q8', Vector[(k * u)]) → q8''
  117. Rotate(poly3, (-(120°)), p_4) → poly3'
  118. Translate(poly3', Vector[(k * u)]) → poly3''
  119. Rotate(q12, (-(120°)), p_4) → q12'
  120. Translate(q12', Vector[(k * u)]) → q12''
  121. Rotate(q11, 120°, p_4) → q11'
  122. Rotate(q4, (-(120°)), p_4) → q4'
  123. Translate(q4', Vector[(k * u)]) → q4''
  124. Rotate(t2, (-(120°)), p_4) → t2'
  125. Translate(t2', Vector[(k * u)]) → t2''
  126. Rotate(q13, (-(120°)), p_4) → q13'
  127. Translate(q13', Vector[(k * u)]) → q13''
  128. Rotate(poly1, 120°, p_4) → poly5
  129. Mirror(A', N) → A''
  130. Vector(K_2, A'') → v
  131. Translate(poly5, Vector[(k * v)]) → poly5'
  132. Rotate(q11, (-(120°)), p_4) → q11'_1
  133. Translate(q11'_1, Vector[(k * u)]) → q7
  134. Translate(q11', Vector[(k * v)]) → q11''
  135. Rotate(q2, 120°, p_4) → q2'
  136. Translate(q2', Vector[(k * v)]) → q2''
  137. Rotate(q2, (-(120°)), p_4) → q2'_1
  138. Translate(q2'_1, Vector[(k * u)]) → q14
  139. Rotate(poly2, 240°, p_4) → poly2'_1
  140. Rotate(poly2, 120°, p_4) → poly2'
  141. Translate(poly2', Vector[(k * v)]) → poly2''
  142. Translate(poly2'_1, Vector[(k * u)]) → poly6
  143. Mirror(A'', M) → A'''
  144. Mirror(A''', C_1) → S_2
  145. Polygon(A''', S_2, Z_2, R_2) → q15, a''', k_1, z_2, c_2
  146. Rotate(q15, 120°, p_4) → q15'
  147. Translate(q15', Vector[(k * v)]) → q15''
  148. Rotate(q15, (-(120°)), p_4) → q15'_1
  149. Translate(q15'_1, Vector[(k * u)]) → q16
  150. Rotate(q5, 120°, p_4) → q5'_1
  151. Rotate(q6, 120°, p_4) → q6'_1
  152. Translate(q6'_1, Vector[(k * v)]) → q17
  153. Translate(q5'_1, Vector[(k * v)]) → q18
  154. Rotate(q8, 120°, p_4) → q8'_1
  155. Rotate(q10, 120°, p_4) → q10'_1
  156. Translate(q8'_1, Vector[(k * v)]) → q19
  157. Translate(q10'_1, Vector[(k * v)]) → q20
  158. Rotate(poly4, 120°, p_4) → poly4'_1
  159. Translate(poly4'_1, Vector[(k * v)]) → poly7
  160. Rotate(q12, 120°, p_4) → q12'_1
  161. Translate(q12'_1, Vector[(k * v)]) → q21
  162. Rotate(q13, 120°, p_4) → q13'_1
  163. Translate(q13'_1, Vector[(k * v)]) → q22
  164. Rotate(q4, (-(120°)), p_4) → q4'_1
  165. Rotate(t2, (-(120°)), p_4) → t2'_1
  166. Translate(t2'_1, Vector[(k * v)]) → t1
  167. Intersect(e, r_1) → V_2
  168. Polygon(V_2, R_1, H_2) → t3, h_2, v_2, n
  169. Rotate(q1, 120°, p_4) → q1'_1
  170. Translate(q1'_1, Vector[(k * v)]) → q24
  171. Rotate(poly3, 120°, p_4) → poly3'_1
  172. Translate(poly3'_1, Vector[(k * v)]) → poly8
  173. Rotate(q4, 120°, p_4) → q4'_2
  174. Translate(q4'_2, Vector[(k * v)]) → q25
  175. Rotate(t2, (-(120°)), p_4) → t2'_2
  176. Translate(t2'_2, Vector[(k * v)]) → t4
  177. Rotate(q3, 120°, p_4) → q3'_1
  178. Rotate(t2, 120°, p_4) → t2'_3
  179. Translate(t2'_3, Vector[(k * v)]) → t5
  180. Translate(q3'_1, Vector[(k * v)]) → q23
  181. Point(a''') → F_3
  182. OrthogonalPlane(F_3, a''') → q_4
  183. IntersectPath(q_4, q6) → e_2
  184. IntersectPath(q_4, q10) → g_4
  185. Intersect(q_4, q10) → I_3, J_3
  186. IntersectPath(q_4, poly4) → r_4
  187. IntersectPath(q_4, q15) → s_4
  188. Intersect(q_4, q15) → M_3, N_3
  189. Polygon(I_3, M_3, F_3, J_3) → q26, t_4, a_4, c_4, d_4
  190. IntersectPath(q_4, q2) → e_4
  191. Intersect(q_4, q2) → G_3, H_3
  192. IntersectPath(q_4, poly1) → f_5
  193. Intersect(q_4, poly1) → K_3, L_3
  194. IntersectPath(q_4, q4) → g_5
  195. Intersect(q_4, q4) → O_3, P_3
  196. IntersectPath(q_4, q3) → h_5
  197. Intersect(q_4, q3) → Q_3, R_3
  198. Polygon(P_3, H_3, G_3, K_3) → q27, i_5, j_5, l_5, m_5
  199. IntersectPath(q_4, t2) → n_5
  200. Intersect(q_4, t2) → S_3, T_3
  201. IntersectPath(q_4, t3) → p_5
  202. Intersect(q_4, t3) → U_3, V_3
  203. Polygon(R_3, H_3, G_3, K_3, T_3) → poly9, q_5, r_5, s_5, t_5, a_5
  204. IntersectPath(q_4, q12) → b_5
  205. Intersect(q_4, q12) → W_3, Z_3
  206. Polygon(Q_3, W_3, Z_3, H_3) → q28, c_5, w_3, z_3, d_5
  207. Intersect(q_4, poly2) → A_4, B_4
  208. IntersectPath(q_4, poly3) → e_5
  209. Intersect(q_4, poly3) → C_4, D_4
  210. IntersectPath(q_4, poly4) → f_6
  211. Intersect(q_4, poly4) → E_4, F_4
  212. Intersect(z_2, q_4) → G_4
  213. Intersect(d_3, q_4) → H_4
  214. Intersect(d_2, q_4) → I_4
  215. Intersect(n_2, q_4) → J_4
  216. Polygon(H_4, G_4, J_4, I_4) → q29, g_6, h_6, i_6, j_6
  217. IntersectPath(q_4, q6'') → k_6
  218. Intersect(q_4, q6'') → K_4, L_4
  219. IntersectPath(q_4, q5'') → l_6
  220. Intersect(q_4, q5'') → M_4, N_4
  221. IntersectPath(q_4, q8'') → m_6
  222. Intersect(q_4, q8'') → O_4, P_4
  223. IntersectPath(q_4, poly4'') → n_6, q_6
  224. IntersectPath(q_4, q16) → p_6
  225. Intersect(q_4, q16) → Q_4, R_4
  226. Polygon(O_4, L_4, K_4, M_4) → q30, o_4, r_6, s_6, t_6
  227. Rotate(t3, (-(120°)), p_4) → t3'
  228. Translate(t3', Vector[(k * u)]) → t3''
  229. Intersect(q14, q4) → S_4, T_4, U_4, V_4
  230. IntersectPath(q_4, poly1'') → a_6
  231. Intersect(q_4, poly1'') → W_4, Z_4
  232. IntersectPath(q_4, q13'') → b_6
  233. Intersect(q_4, q13'') → A_5, B_5
  234. IntersectPath(q_4, q1'') → c_6
  235. Intersect(q_4, q1'') → C_5, D_5
  236. IntersectPath(q_4, poly3'') → d_6
  237. Intersect(q_4, poly3'') → E_5, F_5, I_7
  238. IntersectPath(q_4, q7) → e_6
  239. Intersect(q_4, q7) → G_5, H_5
  240. IntersectPath(q_4, q12'') → f_7
  241. Intersect(q_4, q12'') → I_5, J_5
  242. IntersectPath(q_4, q3'') → g_7
  243. Intersect(q_4, q3'') → K_5, L_5
  244. Polygon(W_4, B_5, C_5, Z_4) → q31, w_4, h_7, i_7, z_4
  245. Polygon(B_5, G_5, H_5, E_5, F_5) → poly10, j_7, k_7, l_7, m_7, n_7
  246. Polygon(B_5, E_5, F_5) → t6, p_7, q_7, r_7
  247. IntersectPath(q_4, t3'') → s_7
  248. Intersect(q_4, t3'') → M_5, N_5
  249. IntersectPath(q_4, t2'') → t_7
  250. Intersect(q_4, t2'') → O_5, P_5
  251. IntersectPath(q_4, poly1'') → a_7
  252. Intersect(q_4, poly1'') → Q_5, R_5
  253. Polygon(W_4, M_5, C_5, R_5) → q32, b_7, c_7, d_7, e_7
  254. IntersectPath(q_4, q19) → f_8
  255. Intersect(q_4, q19) → S_5, T_5
  256. IntersectPath(q_4, q15'') → g_8
  257. Intersect(q_4, q15'') → U_5, V_5
  258. IntersectPath(q_4, q20) → h_8
  259. Intersect(q_4, q20) → W_5, Z_5
  260. IntersectPath(q_4, q18) → i_8
  261. Intersect(q_4, q18) → A_6, B_6
  262. Polygon(V_5, S_5, T_5, Z_5) → q33, v_5, j_8, k_8, z_5
  263. IntersectPath(q_4, q11'') → l_8
  264. Intersect(q_4, q11'') → C_6, D_6
  265. IntersectPath(q_4, poly8) → m_8
  266. Intersect(q_4, poly8) → E_6, F_6
  267. IntersectPath(q_4, poly2'') → n_8
  268. Intersect(q_4, poly2'') → G_6, H_6
  269. Polygon(F_6, C_6, D_6) → t7, p_8, q_8, r_8
  270. IntersectPath(q_4, q21) → s_8
  271. Intersect(q_4, q21) → I_6, J_6
  272. IntersectPath(q_4, poly2'') → t_8
  273. Intersect(q_4, poly2'') → K_6, L_6
  274. IntersectPath(q_4, poly8) → a_8
  275. Intersect(q_4, poly8) → M_6, N_6
  276. Polygon(L_6, I_6, J_6) → t8, b_8, c_8, d_8
  277. IntersectPath(q_4, q2'') → e_8
  278. Intersect(q_4, q2'') → O_6, P_6
  279. IntersectPath(q_4, q22) → f_9
  280. Intersect(q_4, q22) → Q_6, R_6
  281. IntersectPath(q_4, q25) → g_9
  282. Intersect(q_4, q25) → S_6, T_6
  283. IntersectPath(q_4, t5) → h_9
  284. Intersect(q_4, t5) → U_6, V_6
  285. IntersectPath(q_4, t1) → i_9
  286. Intersect(q_4, t1) → W_6, Z_6
  287. IntersectPath(q_4, q24) → j_9
  288. Intersect(q_4, q24) → A_7, B_7
  289. Polygon(P_6, O_6, R_6, T_6, V_6, W_6) → poly11, k_9, o_6, l_9, m_9, v_6, w_6
  290. Segment(P_2, O_2) → n_9
  291. Mirror(K_2, n_9) → C_7
  292. Cube(Z_2, C_7, P_2) → o, D_7, face5, face6, edge1, edge2, edge3, edge4, edge5, edge6, edge7, edge8, E_7, edge9, edge10, edge11, edge12, F_7, G_7, H_7, face1, face2, face3, face4
  293. Polygon(R_3, K_3, G_3, H_3) → q34, p_9, q_9, r_9, s_9
  294. Plane(K_2, q1) → p_{10}
  295. Intersect(s, p_{10}) → J_7
  296. Intersect(d_2, p_{10}) → K_7
  297. Segment(J_7, K_2) → t_9
  298. Mirror(K_7, t_9) → L_7
  299. Pyramid(J_7, K_7, K_2, L_7, B_2) → w, face11, edge16, edge17, edge13, edge18, face9, face7, face8, face10, edge19, edge14, edge15, edge20
  300. Plane(E_3, q5) → q_{10}
  301. Plane(J_7, L_7, B_2) → r_{10}
  302. IntersectPath(r_{10}, q_{10}) → a_9
  303. Intersect(a_9, poly4) → M_7
  304. Intersect(a_9, v_2) → N_7
  305. Polygon(K_7, K_2, C_3) → t9, b_9, c_9, d_9
  306. Polygon(M_7, K_2, C_3) → t10, e_9, f_{10}, g_{10}
  307. Polygon(M_7, N_7, C_3) → t11, h_{10}, i_{10}, j_{10}
  308. Polygon(C_3, K_7, J_7, N_7) → q35, k_{10}, l_{10}, m_{10}, n_{10}
  309. Polygon(M_7, K_2, L_7) → t12, s_{10}, t_{10}, a_{10}
  310. Polygon(N_7, J_7, L_7, M_7) → q36, b_{10}, c_{10}, d_{10}, e_{10}
  311. Polygon(M_7, K_2, C_3) → t13, f_{11}, g_{11}, h_{11}
  312. Polygon(K_2, C_3, K_7) → t14, i_{11}, j_{11}, k_{11}
  313. Polygon(C_3, K_7, J_7, N_7) → q37, l_{11}, m_{11}, n_{11}, p_{11}
  314. Polygon(K_2, C_3, K_7) → t15, q_{11}, r_{11}, s_{11}
  315. Polygon(C_3, K_7, J_7, N_7) → q38, t_{11}, a_{11}, b_{11}, c_{11}