Cavalieri's Principle by Mike May
Loading the math board and drawing, please wait…
This example intuitively explains Cavalieri's Principle, which states that if two solid figures have equal cross-sectional areas at every level, then they have the same volume. Key concepts include solid geometry and equal areas. The construction uses GeoGebra commands such as Point, Intersect, Segment, etc. Suitable for high school solid geometry education.
GeoGebra Commands & Parameters
Point(xAxis) → BPoint(yAxis) → U_1Intersect(xAxis, yAxis) → ASegment(U_1, A) → b_3Point(b_3) → M_2Line(A, B) → aVector(A, C) → uRay(A, C) → bLine(D, a) → cPoint(c) → GCircle(G, F) → dCircle(F, G) → eOrthogonalLine(G, c) → fOrthogonalLine(F, c) → gIntersect(d, f, 2) → HIntersect(e, g, 2) → IIntersect(a, f) → JIntersect(a, g) → KTranslate(J, u4) → J'Translate(K, u4) → K'Segment(H, I) → lSegment(I, F) → mSegment(H, G) → nSegment(G, F) → pPolygon(J, K, K', J') → poly1, j, k, k', j'Polygon(G, F, I, H) → poly2, g_1, f_1, i, hPoint(c) → LPoint(c) → MPolygon(L, M, 3) → poly3, q, r, s, NDilate(poly3, sqrt(poly2 / poly3), L) → poly3'Point(c) → OPoint(c) → PPolygon(O, P, Q, R, S, T, U) → poly4, o, p_1, q_1, r_1, s_1, t, u_1OrthogonalLine(T, c) → a_1OrthogonalLine(U, o) → b_1OrthogonalLine(S, o) → c_1OrthogonalLine(R, o) → d_1OrthogonalLine(Q, c) → e_1Intersect(a_1, b_1) → C_1OrthogonalLine(P, c) → n_1OrthogonalLine(O, c) → t_1Dilate(O, sqrt(poly2 / poly4), O) → O'Dilate(P, sqrt(poly2 / poly4), O) → P'Dilate(Q, sqrt(poly2 / poly4), O) → Q'Dilate(R, sqrt(poly2 / poly4), O) → R'Dilate(S, sqrt(poly2 / poly4), O) → S'Dilate(T, sqrt(poly2 / poly4), O) → T'Dilate(U, sqrt(poly2 / poly4), O) → U'Polygon(O', P', Q', R', S', T', U') → poly4', o', p', q', r', s', t', u'OrthogonalLine(O, c) → h_1OrthogonalLine(P', c) → i_1OrthogonalLine(Q', c) → j_1OrthogonalLine(R', c) → k_1OrthogonalLine(S', c) → l_1OrthogonalLine(T', c) → m_1OrthogonalLine(U', c) → a_2Intersect(h_1, a) → VIntersect(i_1, a) → WIntersect(j_1, a) → ZIntersect(k_1, a) → A_1Intersect(l_1, a) → B_1Intersect(m_1, a) → D_1Intersect(a_2, a) → E_1Intersect(c, a_2) → F_1Segment(U', F_1) → b_2Intersect(m_1, c) → G_1Intersect(l_1, c) → H_1Intersect(k_1, c) → I_1Intersect(j_1, c) → J_1Segment(U', F_1) → c_2Segment(T', G_1) → d_2Segment(S', H_1) → e_2Segment(R', I_1) → f_2Segment(Q', J_1) → g_2Translate(E_1, ub) → K_1Translate(D_1, ud) → L_1Translate(B_1, ue) → M_1Translate(A_1, uf) → N_1Translate(Z, ug) → Z'Polygon(K_1, V, W, Z', N_1, M_1, L_1) → poly5, k_2, v, w, z', n_2, m_2, l_2Dilate(N, sqrt(poly2 / poly3), L) → N'Dilate(M, sqrt(poly2 / poly3), L) → M'OrthogonalLine(L, a) → h_2OrthogonalLine(M', a) → i_2OrthogonalLine(N', a) → j_2Intersect(j_2, a) → O_1Intersect(i_2, a) → P_1Intersect(h_2, a) → Q_1Intersect(c, j_2) → R_1Segment(N', R_1) → p_2Translate(O_1, up) → S_1Polygon(Q_1, P_1, S_1) → poly6, s_2, q_2, p_3Translate(A, u6) → A'Translate(E, u6) → E'Point(a) → T_1Vector(A, T_1) → v_1Translate(E, v_1) → E'_1Translate(E', v_1) → E''Translate(A', v_1) → A''Midpoint(E'_1, E'') → V_1Translate(U_1, u6) → W_1Midpoint(W_1, U_1) → Z_1Line(Z_1, a) → r_2Point(r_2) → A_2Point(r_2) → B_2Point(r_2) → C_2Polygon(E, E'_1, E'', E') → poly7, e_3, e'_1, e'', e'Midpoint(A, A') → D_2Segment(Z_1, D_2) → t_2Midpoint(E, E') → E_2Segment(Z_1, E_2) → a_3Dilate(Q_1, ratio, A_2) → F_2Dilate(P_1, ratio, A_2) → G_2Dilate(S_1, ratio, A_2) → H_2Dilate(J, ratio, B_2) → J'_1Dilate(J', ratio, B_2) → J''Dilate(K', ratio, B_2) → K''Dilate(K, ratio, B_2) → K'_1Dilate(V, ratio, C_2) → V'Dilate(K_1, ratio, C_2) → I_2Dilate(L_1, ratio, C_2) → J_2Dilate(M_1, ratio, C_2) → K_2Dilate(N_1, ratio, C_2) → L_2Dilate(Z', ratio, C_2) → Z''Dilate(W, ratio, C_2) → W'Polygon(F_2, G_2, H_2) → poly8, h_3, f_3, g_3Polygon(J'_1, K'_1, K'', J'') → poly9, j'_1, k'_1, k'', j''Polygon(I_2, V', W', Z'', L_2, K_2, J_2) → poly10, i_3, v', w', z'', l_3, k_3, j_3Segment(Q_1, A_2) → c_3Segment(S_1, A_2) → d_3Segment(P_1, A_2) → m_3Segment(J, B_2) → n_3Segment(J', B_2) → q_3Segment(K', B_2) → r_3Segment(K, B_2) → s_3Segment(V, C_2) → t_3Segment(K_1, C_2) → a_4Segment(L_1, C_2) → b_4Segment(M_1, C_2) → c_4Segment(N_1, C_2) → d_4Segment(Z', C_2) → e_4Segment(W, C_2) → f_4Translate(U_1, v_1) → N_2Translate(W_1, v_1) → O_2Polygon(U_1, N_2, O_2, W_1) → poly11, u_2, n_4, o_2, w_1Polygon(A, T_1, A'', A') → poly12, a_5, t_4, a'', a'Point(e'') → P_2Point(e'') → Q_2Point(e'') → R_2Vector(S_2, T_2) → v_2Translate(P_2, v_2) → U_2Translate(Q_2, v_2) → V_2Translate(R_2, v_2) → W_2Vector(A, M_2) → w_2Translate(Z_2, w_2) → B_3Translate(A_3, w_2) → C_3Vector(M_2, U_1) → u_3Translate(B_3, u_3) → D_3Translate(C_3, u_3) → E_3Polygon(Z_2, A_3, A'', A') → poly13, z_2, a_6, a''_1, a'_1Polygon(B_3, C_3, E'', E') → poly14, b_5, c_5, e''_1, e'_2Polygon(D_3, E_3, O_2, W_1) → poly15, d_5, e_5, o_1, w_3Midpoint(b_3) → F_3Vector(G_3, H_3) → v_3Translate(F_3, v_3) → I_3