Solid Fragmentation Demo

Solid Fragmentation Demo
Loading the math board and drawing, please wait…
2020-01-10 04:53
In collections Color 3D surfaces
This example demonstrates the fragmentation of a cube through geometric transformations, involving linear programming, polygon construction, centroid calculation, and vector operations. Key GeoGebra commands like Midpoint, Mirror, and Translate are used to create the effect. Suitable for high school and above to explore solid geometry and optimization concepts.

GeoGebra Commands & Parameters

  1. Midpoint(A, B) → E_3
  2. Polygon(A, B, 4) → poly1, f, g, h_3, i, C, D
  3. Midpoint(D, B) → E
  4. Midpoint(C, B) → D_3
  5. Polygon(A, E, B) → t1, b, a, e
  6. Midpoint(b) → G
  7. Mirror(F, G) → F'
  8. Centroid(t1) → H
  9. Midpoint(E, B) → L
  10. Mirror(K, L) → K'
  11. Segment(M, F) → m
  12. Mirror(M, G) → M'
  13. Segment(E, I) → j
  14. Segment(J, I) → p
  15. Mirror(I, L) → I'
  16. Mirror(J, L) → J'
  17. Polygon(A, M, K', J', I', B, F, G, F', M', E, I, J, K) → poly2, a_1, k, k', j', i', b_1, m_1, f_1, g_1, f', m', e_1, i_1, j_1
  18. Mirror(L, E) → L'
  19. Mirror(I, E) → I'_1
  20. Mirror(J, E) → J'_1
  21. Mirror(K, E) → K'_1
  22. Mirror(K'_1, L') → N
  23. Mirror(I'_1, L') → P
  24. Mirror(J'_1, L') → O
  25. Polygon(E, I'_1, F, G, F', M', J'_1, K'_1, N, O, P, D, A, M) → poly3, e_2, m_2, f_2, g_2, l, q, i'_1, j'_1, k'_1, n, o_2, p_1, d, a_2
  26. Mirror(G, E) → G'
  27. Mirror(M, E) → M'_1
  28. Mirror(F, E) → F'_1
  29. Mirror(M'_1, G') → Q
  30. Mirror(F'_1, G') → R
  31. Polygon(E, Q, K', K, J, I, R, G', F'_1, M'_1, C, B, I', J') → poly4, e_3, t, h_1, k_1, j_2, i_2, q_1, r, g', f'_1, m'_1, c, b_2, s
  32. Polygon(D, C, K'_1, L', N, O, P, M'_1, F'_1, G', R, Q, E, I'_1, J'_1) → poly5, d_1, t_1, h_2, l', n_2, o_1, p_2, c_1, l_1, n_1, r_1, r_2, q_2, e_4, s_1
  33. Prism(poly2, h) → u, S, D_1, E_1, F_1, G_1, H_1, faceAMTS, faceFMTU, faceFGVU, faceF'GVW, faceF'M'ZW, T, face4, face3, face5, face6, face7, face8, face9, face2, face1, face10, U, arêteAS, arêteMT, arêteFU, arêteGV, arêteF'W, arêteM'Z, arête2, arête3, arête4, arête5, V, arête6, arête8, arête7, arête1, arêteST, arêteTU, arêteUV, arêteVW, arêteWZ, arête10, W, arête11, arête12, arête13, arête14, arête15, arête16, arête17, arête9, Z, A_1, B_1, C_1
  34. Prism(poly3, h) → v, I_1, R_1, S_1, T_1, U_1, V_1, face15, face20, face21, face22, face23, J_1, face24, face13, face11, face12, face17, face16, face18, face19, face14, face25, K_1, arête20, arête26, arête27, arête28, arête29, arête31, arête30, arête19, arête18, arête24, L_1, arête21, arête22, arête23, arête25, arête32, arête34, arête35, arête36, arête37, arête38, M_1, arête39, arête40, arête41, arête42, arête43, arête44, arête45, arête33, N_1, O_1, P_1, Q_1
  35. Prism(poly4, h) → w, W_1, H_2, I_2, J_2, K_2, L_2, face30, face39, face37, face36, face38, Z_1, face28, face26, face27, face35, face34, face33, face32, face31, face29, face40, A_2, arête48, arête58, arête59, arête55, arête57, arête56, arête47, arête46, arête53, arête54, B_2, arête52, arête51, arête50, arête49, arête60, arête62, arête63, arête64, arête65, arête66, C_2, arête67, arête68, arête69, arête70, arête71, arête72, arête73, arête61, D_2, E_2, F_2, G_2
  36. Prism(poly5, h) → u_1, M_2, V_2, W_2, Z_2, A_3, B_3, C_3, face41, face42, face54, face52, N_2, face53, face55, face45, face44, face48, face49, face46, face47, face50, face51, O_2, face43, face56, arête75, arête74, arête85, arête86, arête84, arête88, arête87, arête76, P_2, arête78, arête79, arête80, arête77, arête81, arête83, arête82, arête89, arête91, arête92, Q_2, arête93, arête94, arête95, arête96, arête97, arête98, arête99, arête100, arête101, arête102, R_2, arête103, arête90, S_2, T_2, U_2
  37. Vector(E, E_3) → v_1
  38. Translate(u, Vector[(Expand / 10 * v_1)]) → u'
  39. Translate(u_1, Vector[(((-Expand)) / 10 * v_1)]) → w_1
  40. Vector(E, E + (0, 0, Distance[A, B])) → u_2
  41. Translate(w, Vector[(Expand / 10 * u_2)]) → w'
  42. Translate(v, Vector[(((-Expand)) / 10 * u_2)]) → v'