Solid Fragmentation Demo
Loading the math board and drawing, please wait…
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
Midpoint(A, B) → E_3Polygon(A, B, 4) → poly1, f, g, h_3, i, C, DMidpoint(D, B) → EMidpoint(C, B) → D_3Polygon(A, E, B) → t1, b, a, eMidpoint(b) → GMirror(F, G) → F'Centroid(t1) → HMidpoint(E, B) → LMirror(K, L) → K'Segment(M, F) → mMirror(M, G) → M'Segment(E, I) → jSegment(J, I) → pMirror(I, L) → I'Mirror(J, L) → J'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_1Mirror(L, E) → L'Mirror(I, E) → I'_1Mirror(J, E) → J'_1Mirror(K, E) → K'_1Mirror(K'_1, L') → NMirror(I'_1, L') → PMirror(J'_1, L') → OPolygon(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_2Mirror(G, E) → G'Mirror(M, E) → M'_1Mirror(F, E) → F'_1Mirror(M'_1, G') → QMirror(F'_1, G') → RPolygon(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, sPolygon(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_1Prism(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_1Prism(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_1Prism(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_2Prism(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_2Vector(E, E_3) → v_1Translate(u, Vector[(Expand / 10 * v_1)]) → u'Translate(u_1, Vector[(((-Expand)) / 10 * v_1)]) → w_1Vector(E, E + (0, 0, Distance[A, B])) → u_2Translate(w, Vector[(Expand / 10 * u_2)]) → w'Translate(v, Vector[(((-Expand)) / 10 * u_2)]) → v'