Proof without words: volume of a pyramid
Loading the math board and drawing, please wait…
This example dynamically demonstrates the proof of the volume formula for a pyramid, involving core concepts like volume, geometric solids, and proportional relationships. It utilizes GeoGebra commands such as Midpoint, Polygon, Line, Vector, If, Sort, Segment, Intersect, RotateText, and Translate. Suitable for high school students and math enthusiasts studying solid geometry volume calculations.
GeoGebra Commands & Parameters
Midpoint(Z_1, N) → I_2Polygon(W_1, Z_1, Q, N) → poly18, w_2, z_2, q_1, n_2Polygon(R, S, Q, N) → poly7, r, s, q, n_1Line(I_2, s) → b_2Vector(C, X) → uVector(C, Y) → vVector(C, Z) → wIf(Animation < 0, 0, If[Animation > 1.5, 1.5, Animation]) → mSort(CellRange(J1,J6,"numeric")) → liste1If(Angle[E1, F1, G1] < 180°, Polygon[CellRange(E1,H1,"point")]) → L1If(Angle[E2, F2, G2] < 180°, Polygon[CellRange(E2,H2,"point")]) → L2If(Angle[E3, F3, G3] < 180°, Polygon[CellRange(E3,H3,"point")]) → L3If(Angle[E4, F4, G4] < 180°, Polygon[CellRange(E4,H4,"point")]) → L4If(Angle[E5, F5, G5] < 180°, Polygon[CellRange(E5,H5,"point")]) → L5If(Angle[E6, F6, G6] < 180°, Polygon[CellRange(E6,H6,"point")]) → L6If(Angle[E1, H1, I1] < 180° ∧ m > 0, Polygon[E1, H1, I1]) → M1If(Angle[H1, G1, I1] < 180° ∧ m > 0, Polygon[H1, G1, I1]) → N1If(Angle[G1, F1, I1] < 180° ∧ m > 0, Polygon[G1, F1, I1]) → O1If(Angle[F1, E1, I1] < 180° ∧ m > 0, Polygon[F1, E1, I1]) → P1If($K1 ≟ 1, M1) → Q1If($K1 ≟ 1, N1) → R1If($K1 ≟ 1, O1) → S1If($K1 ≟ 1, P1) → T1If($K1 ≟ 2, M1) → U1If($K1 ≟ 2, N1) → V1If($K1 ≟ 2, O1) → W1If($K1 ≟ 2, P1) → X1If($K1 ≟ 3, M1) → Y1If($K1 ≟ 3, N1) → Z1If($K1 ≟ 3, O1) → AA1If($K1 ≟ 3, P1) → AB1If($K1 ≟ 4, M1) → AC1If($K1 ≟ 4, N1) → AD1If($K1 ≟ 4, O1) → AE1If($K1 ≟ 4, P1) → AF1If($K1 ≟ 5, M1) → AG1If($K1 ≟ 5, N1) → AH1If($K1 ≟ 5, O1) → AI1If($K1 ≟ 5, P1) → AJ1If(Angle[E2, H2, I2] < 180° ∧ m > 0, Polygon[E2, H2, I2]) → M2If(Angle[H2, G2, I2] < 180° ∧ m > 0, Polygon[H2, G2, I2]) → N2If(Angle[G2, F2, I2] < 180° ∧ m > 0, Polygon[G2, F2, I2]) → O2If(Angle[F2, E2, I2] < 180° ∧ m > 0, Polygon[F2, E2, I2]) → P2If($K2 ≟ 1, M2) → Q2If($K2 ≟ 1, N2) → R2If($K2 ≟ 1, O2) → S2If($K2 ≟ 1, P2) → T2If($K2 ≟ 2, M2) → U2If($K2 ≟ 2, N2) → V2If($K2 ≟ 2, O2) → W2If($K2 ≟ 2, P2) → X2If($K2 ≟ 3, M2) → Y2If($K2 ≟ 3, N2) → Z2If($K2 ≟ 3, O2) → AA2If($K2 ≟ 3, P2) → AB2If($K2 ≟ 4, M2) → AC2If($K2 ≟ 4, N2) → AD2If($K2 ≟ 4, O2) → AE2If($K2 ≟ 4, P2) → AF2If($K2 ≟ 5, M2) → AG2If($K2 ≟ 5, N2) → AH2If($K2 ≟ 5, O2) → AI2If($K2 ≟ 5, P2) → AJ2If(Angle[E3, H3, I3] < 180° ∧ m > 0, Polygon[E3, H3, I3]) → M3If(Angle[H3, G3, I3] < 180° ∧ m > 0, Polygon[H3, G3, I3]) → N3If(Angle[G3, F3, I3] < 180° ∧ m > 0, Polygon[G3, F3, I3]) → O3If(Angle[F3, E3, I3] < 180° ∧ m > 0, Polygon[F3, E3, I3]) → P3If($K3 ≟ 1, M3) → Q3If($K3 ≟ 1, N3) → R3If($K3 ≟ 1, O3) → S3If($K3 ≟ 1, P3) → T3If($K3 ≟ 2, M3) → U3If($K3 ≟ 2, N3) → V3If($K3 ≟ 2, O3) → W3If($K3 ≟ 2, P3) → X3If($K3 ≟ 3, M3) → Y3If($K3 ≟ 3, N3) → Z3If($K3 ≟ 3, O3) → AA3If($K3 ≟ 3, P3) → AB3If($K3 ≟ 4, M3) → AC3If($K3 ≟ 4, N3) → AD3If($K3 ≟ 4, O3) → AE3If($K3 ≟ 4, P3) → AF3If($K3 ≟ 5, M3) → AG3If($K3 ≟ 5, N3) → AH3If($K3 ≟ 5, O3) → AI3If($K3 ≟ 5, P3) → AJ3If(Angle[E4, H4, I4] < 180° ∧ m > 0, Polygon[E4, H4, I4]) → M4If(Angle[H4, G4, I4] < 180° ∧ m > 0, Polygon[H4, G4, I4]) → N4If(Angle[G4, F4, I4] < 180° ∧ m > 0, Polygon[G4, F4, I4]) → O4If(Angle[F4, E4, I4] < 180° ∧ m > 0, Polygon[F4, E4, I4]) → P4If($K4 ≟ 1, M4) → Q4If($K4 ≟ 1, N4) → R4If($K4 ≟ 1, O4) → S4If($K4 ≟ 1, P4) → T4If($K4 ≟ 2, M4) → U4If($K4 ≟ 2, N4) → V4If($K4 ≟ 2, O4) → W4If($K4 ≟ 2, P4) → X4If($K4 ≟ 3, M4) → Y4If($K4 ≟ 3, N4) → Z4If($K4 ≟ 3, O4) → AA4If($K4 ≟ 3, P4) → AB4If($K4 ≟ 4, M4) → AC4If($K4 ≟ 4, N4) → AD4If($K4 ≟ 4, O4) → AE4If($K4 ≟ 4, P4) → AF4If($K4 ≟ 5, M4) → AG4If($K4 ≟ 5, N4) → AH4If($K4 ≟ 5, O4) → AI4If($K4 ≟ 5, P4) → AJ4If(Angle[E5, H5, I5] < 180° ∧ m > 0, Polygon[E5, H5, I5]) → M5If(Angle[H5, G5, I5] < 180° ∧ m > 0, Polygon[H5, G5, I5]) → N5If(Angle[G5, F5, I5] < 180° ∧ m > 0, Polygon[G5, F5, I5]) → O5If(Angle[F5, E5, I5] < 180° ∧ m > 0, Polygon[F5, E5, I5]) → P5If($K5 ≟ 1, M5) → Q5If($K5 ≟ 1, N5) → R5If($K5 ≟ 1, O5) → S5If($K5 ≟ 1, P5) → T5If($K5 ≟ 2, M5) → U5If($K5 ≟ 2, N5) → V5If($K5 ≟ 2, O5) → W5If($K5 ≟ 2, P5) → X5If($K5 ≟ 3, M5) → Y5If($K5 ≟ 3, N5) → Z5If($K5 ≟ 3, O5) → AA5If($K5 ≟ 3, P5) → AB5If($K5 ≟ 4, M5) → AC5If($K5 ≟ 4, N5) → AD5If($K5 ≟ 4, O5) → AE5If($K5 ≟ 4, P5) → AF5If($K5 ≟ 5, M5) → AG5If($K5 ≟ 5, N5) → AH5If($K5 ≟ 5, O5) → AI5If($K5 ≟ 5, P5) → AJ5If(Angle[E6, H6, I6] < 180° ∧ m > 0, Polygon[E6, H6, I6]) → M6If(Angle[H6, G6, I6] < 180° ∧ m > 0, Polygon[H6, G6, I6]) → N6If(Angle[G6, F6, I6] < 180° ∧ m > 0, Polygon[G6, F6, I6]) → O6If(Angle[F6, E6, I6] < 180° ∧ m > 0, Polygon[F6, E6, I6]) → P6If($K6 ≟ 1, M6) → Q6If($K6 ≟ 1, N6) → R6If($K6 ≟ 1, O6) → S6If($K6 ≟ 1, P6) → T6If($K6 ≟ 2, M6) → U6If($K6 ≟ 2, N6) → V6If($K6 ≟ 2, O6) → W6If($K6 ≟ 2, P6) → X6If($K6 ≟ 3, M6) → Y6If($K6 ≟ 3, N6) → Z6If($K6 ≟ 3, O6) → AA6If($K6 ≟ 3, P6) → AB6If($K6 ≟ 4, M6) → AC6If($K6 ≟ 4, N6) → AD6If($K6 ≟ 4, O6) → AE6If($K6 ≟ 4, P6) → AF6If($K6 ≟ 5, M6) → AG6If($K6 ≟ 5, N6) → AH6If($K6 ≟ 5, O6) → AI6If($K6 ≟ 5, P6) → AJ6Midpoint(G6, E6) → BMidpoint(F4, H4) → DMidpoint(F5, H5) → EMidpoint(E3, G3) → FMidpoint(E2, G2) → GMidpoint(I2, G) → HPolygon(D7, D8, D5, D6) → poly1, d7, d8, d5, d6Polygon(D8, D4, D1, D5) → poly2, d8_1, d4, d1, d5_1Polygon(D7, D3, D2, D6) → poly3, d7_1, d3, d2, d6_1Polygon(D6, D5, D1, D2) → poly4, d6_2, d5_2, d1_1, d2_1Polygon(D7, D8, D4, D3) → poly5, d7_2, d8_2, d4_1, d3_1Polygon(D3, D4, D1, D2) → poly6, d3_2, d4_2, d1_2, d2_2Midpoint(O, J) → KMidpoint(S, R) → UPolygon(M, J, I) → poly10, i, m_1, jPolygon(M, O, I) → poly12, i_2, m_2, o_1Polygon(O, P, M) → poly13, m_3, o_2, p_1Polygon(P, J, M) → poly14, m_4, p_2, j_2Vector(V, W) → aVector(W, V) → bMidpoint(V, W) → A_1Midpoint(B_1, C_1) → D_1Vector(B_1, C_1) → cVector(C_1, B_1) → dVector(F_1, E_1) → eVector(E_1, F_1) → fMidpoint(F_1, E_1) → G_1Segment(M, K) → gLine(O, g) → b_1Vector(H_1, I_1) → w_1Vector(I_1, H_1) → z_1Midpoint(I_1, H_1) → M_1Polygon(I, J, P, O) → poly11, i_1, j_1, p, oPolygon(I, J, P, O) → poly15, i_3, j_3, p_3, o_3Polygon(J_1, K_1, P_1, L_1) → poly16, j_4, k_1, p_4, l_1Midpoint(K_1, L_1) → Q_1Polygon(J_1, L_1, P_1, K_1) → poly17, j_5, l_2, p_5, k_2Line(M, m_3) → kLine(K, k) → a_1Intersect(k, b_1) → R_1Intersect(a_1, b_1) → S_1Segment(R_1, M) → c_1Segment(S_1, K) → d_1Midpoint(R_1, S_1) → T_1Vector(S_1, R_1) → u_1Vector(R_1, S_1) → v_1RotateText("B", 330°) → texte11Midpoint(N, Q) → B_2Midpoint(R, S) → C_2Vector(B_2, C_2) → g_1Translate(W_1, g_1) → D_2Translate(Z_1, g_1) → E_2Translate(Q, g_1) → Q'Translate(N, g_1) → N'Polygon(D_2, E_2, Q', N') → poly18', d_2, e_2, q', n'Segment(E_2, Z_1) → t_1Segment(D_2, W_1) → a_2Midpoint(E_2, R) → N_1Midpoint(N_1, I_2) → O_1Polygon(R, S, O_1) → poly8, o_4, r_1, s_1Vector(O_1, N_1) → zTranslate(R, Vector[(If[Animation < 0, 0, Animation] * z)]) → R'Translate(S, Vector[(If[Animation < 0, 0, Animation] * z)]) → S'Translate(O_1, Vector[(If[Animation < 0, 0, Animation] * z)]) → U_1Polygon(R', S', U_1) → poly8', u_2, r', s'Midpoint(R', S') → V_1Vector(U, V_1) → tTranslate(D_2, t) → F_2Translate(E_2, t) → G_2Translate(Q', t) → Q''Translate(N', t) → N''Polygon(F_2, G_2, Q'', N'') → poly18'', f_2, g_2, q'', n''Polygon(O_1, N, Q) → poly9, q_2, o_5, n_3Vector(O_1, I_2) → e_1Translate(O_1, Vector[(If[Animation < 0, 0, Animation] * e_1)]) → H_2Translate(N, Vector[(If[Animation < 0, 0, Animation] * e_1)]) → N'_1Translate(Q, Vector[(If[Animation < 0, 0, Animation] * e_1)]) → Q'_1Polygon(H_2, N'_1, Q'_1) → poly9', q'_1, h_2, n'_1Midpoint(N'_1, Q'_1) → J_2Vector(B_2, J_2) → f_1Translate(W_1, f_1) → K_2Translate(Z_1, f_1) → L_2Translate(Q, f_1) → Q'_2Translate(N, f_1) → N'_2Polygon(K_2, L_2, Q'_2, N'_2) → poly18'_1, k_3, l_3, q'_2, n'_2Polygon(H_2, L_2, Q'_1) → poly19, q'_3, h_1, l_4Polygon(H_2, K_2, N'_1) → poly20, n'_3, h_3, k_4Polygon(H_2, K_2, L_2) → poly21, l_5, h_4, k_5Polygon(K_2, L_2, Q'_1, N'_1) → poly22, k_6, l_6, q'_4, n'_4Polygon(F_2, U_1, R') → poly23, r'_1, f_3, u_3Polygon(F_2, G_2, U_1) → poly24, u_4, f_4, g_3Polygon(G_2, S', U_1) → poly25, u_5, g_4, s'_1Polygon(F_2, G_2, U_1) → poly26, u_6, f_5, g_5Polygon(F_2, G_2, S', R') → poly27, f_6, g_6, s'_2, r'_2Midpoint(G_2, R') → N_2Midpoint(L_2, N'_1) → O_2Segment(N_2, U_1) → c_2Segment(O_2, H_2) → r_2Vector(I_1, H_1) → v_2Midpoint(h_2) → P_2Segment(Q_2, R_2) → s_2Midpoint(d_2) → S_2Midpoint(p_4) → T_2Midpoint(r_2) → U_2Segment(V_2, W_2) → t_2Segment(Z_2, A_3) → a_3Polygon(View3D, B_3, C_3, D_3) → q1, view3d, b_3, c_3, d_3
AI Drawing Prompt Reference
Draw a pyramid and demonstrate its volume formula proof. Start by drawing the base polygon and the apex, then connect the apex to each vertex of the base to form several triangles. Use the animation parameter to dynamically show the volume calculation process, and finally rotate and move text to label key geometric relationships.
The prompt above was compiled from the original drawing commands and is for reference only.