Euler's Relation for Platonic Solids
Loading the math board and drawing, please wait…
This interactive 3D GeoGebra example demonstrates Euler's formula V - E + F = 2 for all five Platonic solids (tetrahedron, cube, octahedron, dodecahedron, icosahedron). It visually verifies the relationship between the number of vertices (V), edges (E), and faces (F) of each regular polyhedron. The construction uses GeoGebra's built-in commands Tetrahedron, Cube, Octahedron, Dodecahedron, and Icosahedron to generate the solids, along with Random, Rotate, Sequence, Midpoint, Polygon, Segment, and Textfield to create interactive controls and dynamic displays. Users can select different solids and see the counts update, confirming Euler's formula. This resource is suitable for high school and undergraduate students studying solid geometry, graph theory, or mathematical proof, and serves as an effective visual aid for classroom demonstrations.
GeoGebra Commands & Parameters
Random(1, 5) → nVector(C, Z) → wVector(C, Y) → vVector(C, X) → uRotate(w, β) → w'Rotate(v, β) → v'Rotate(u, β) → u'Random(3, 10) → SidesSequence(A + ((R * cos(((i * 360) * ° / Sides))) * u') + ((R * sin(((i * 360) * ° / Sides))) * v') + (h / 2 * w'), i, 1, Sides) → liste1Sequence(A + ((R * cos(((i * 360) * ° / Sides))) * u') + ((R * sin(((i * 360) * ° / Sides))) * v') - (h / 2 * w'), i, 1, Sides) → liste2Sequence(A + ((R * cos(((i * 360) * ° / Sides))) * u') + ((R * sin(((i * 360) * ° / Sides))) * v') + (h / 2 * w'), i, 1, Sides) → liste3Sequence(A + ((R * cos(((i * 360) * ° / Sides))) * u') + ((R * sin(((i * 360) * ° / Sides))) * v') - (h / 2 * w'), i, 1, Sides) → liste4Join({liste1, First[liste1]}) → liste5Join({liste2, First[liste2]}) → liste6Join({liste3, First[liste3]}) → liste7Join({liste4, First[liste4]}) → liste8Sequence(If[Angle[Element[liste5, i], Element[liste6, i], Element[liste6, i + 1]] < 180°, Polygon[Element[liste5, i], Element[liste5, i + 1], Element[liste6, i + 1], Element[liste6, i]]], i, 1, Sides) → liste9Sequence(If[Angle[Element[liste5, i], Element[liste5, i + 1], Element[liste7, i + 1]] < 180°, Polygon[Element[liste5, i], Element[liste5, i + 1], Element[liste7, i + 1], Element[liste7, i]]], i, 1, Sides) → liste10Sequence(If[Angle[Element[liste8, i], Element[liste8, i + 1], Element[liste6, i + 1]] < 180°, Polygon[Element[liste6, i], Element[liste6, i + 1], Element[liste8, i + 1], Element[liste8, i]]], i, 1, Sides) → liste11Sequence(If[Angle[Element[liste7, i], Element[liste7, i + 1], Element[liste8, i + 1]] < 180°, Polygon[Element[liste8, i], Element[liste8, i + 1], Element[liste7, i + 1], Element[liste7, i]]], i, 1, Sides) → liste12Midpoint(A, B) → ICurveCartesian(x(I + ((2 * cos(i)) * u) + ((2 * sin(i)) * v)), y(I + ((2 * cos(i)) * u) + ((2 * sin(i)) * v)), i, -0.5235987755982988, 0.5235987755982988) → cPolygon(liste1) → poly1Polygon(liste2) → poly2Polygon(liste2) → poly3Polygon(liste1) → poly4Sequence(If[Angle[Element[liste5, i], Element[liste6, i], Element[liste6, i + 1]] < 180°, Polygon[Element[liste5, i], Element[liste5, i + 1], Element[liste6, i + 1], Element[liste6, i]]], i, 1, Sides) → liste13Midpoint(L, D) → NMidpoint(D, M) → OVector(D, O) → zVector(D, Q + (0.25 * u)) → bMidpoint(D, Q) → SPolygon(View3D, AA, BB, CC) → poly5, view3d, aa, bb, ccTextfield(Faces) → ChampTexte1Textfield(Sommets) → ChampTexte2Textfield(Aretes) → ChampTexte3If(n ≟ 1, 4, If[n ≟ 2, 6, If[n ≟ 3, 8, If[n ≟ 4, 12, 20]]]) → Rep1If(n ≟ 1, 4, If[n ≟ 2, 8, If[n ≟ 3, 6, If[n ≟ 4, 20, 12]]]) → Rep2If(n ≟ 1, 6, If[n ≟ 2, 12, If[n ≟ 3, 12, If[n ≟ 4, 30, 30]]]) → Rep3Polygon(T, U, V, W) → poly6, t, u_1, v_1, w_1Point(t) → A_1Point(v_1) → B_1Segment(A_1, B_1) → fPoint(t) → C_1Segment(C_1, D_1) → gPoint(w_1) → E_1Point(u_1) → F_1Segment(E_1, F_1) → iPolygon(G_1, H_1, 3, xOyPlane) → poly7, j, k, l, I_1Tetrahedron(poly7, true) → m, J_1, face3, face1, face2, arête2, arête3, arête1Polygon(L_1, K_1, 4, xOyPlane) → poly8, p, q, r, s, M_1, N_1Cube(poly8, true) → o, O_1, arête5, arête7, arête9, arête8, arête4, arête10, arête6, arête11, P_1, Q_1, R_1, face6, face4, face5, face7, face8Polygon(T_1, S_1, 3, xOyPlane) → poly9, f_1, g_1, h_1, U_1Octahedron(poly9, true) → a_1, V_1, face15, arête13, arête17, arête12, arête19, arête14, arête15, arête18, arête16, arête20, W_1, Z_1, face10, face11, face9, face13, face12, face14Polygon(A_2, B_2, 5, xOyPlane) → poly10, i_1, j_1, k_1, l_1, m_1, C_2, D_2, E_2Dodecahedron(poly10, true) → b_1, F_2, O_2, P_2, Q_2, R_2, S_2, T_2, face17, face16, face18, face19, G_2, face20, face24, face25, face21, face22, face23, face26, arête21, arête25, arête33, H_2, arête35, arête34, arête26, arête22, arête27, arête28, arête23, arête29, arête30, arête24, I_2, arête31, arête32, arête39, arête45, arête40, arête42, arête36, arête41, arête37, arête43, J_2, arête38, arête44, K_2, L_2, M_2, N_2Polygon(U_2, V_2, 3, xOyPlane) → poly11, n_1, p_1, q_1, W_2Icosahedron(poly11, true) → c_1, Z_2, face28, face30, face29, face27, face32, face33, face31, face34, face35, face38, A_3, face39, face44, face41, face43, face45, face42, face40, face37, face36, arête47, B_3, arête53, arête48, arête61, arête46, arête55, arête49, arête51, arête56, arête50, arête58, C_3, arête52, arête54, arête59, arête62, arête60, arête67, arête68, arête69, arête72, arête63, D_3, arête70, arête66, arête71, arête65, arête64, arête57, E_3, F_3, G_3, H_3
AI Drawing Prompt Reference
Draw the five Platonic solids (tetrahedron, cube, octahedron, dodecahedron, and icosahedron) to demonstrate Euler's formula V-E+F=2. Use a slider to select different solids, dynamically displaying the number of vertices, edges, and faces for each polyhedron. Color-code the faces of each solid and label key vertices and edges. The solids should be in perspective view for a 3D effect.
The prompt above was compiled from the original drawing commands and is for reference only.