Cylindrical Shells: Forming Solids of Revolution
Loading the math board and drawing, please wait…
In collections
GeoGebra 3D & AR: PreCalc & Calculus Resources
This GeoGebra example visually demonstrates the cylindrical shell method for computing volumes of solids of revolution. By rotating function graphs around an axis, it constructs approximating cylindrical shells using polygon rotation and surface dilation, then sums their volumes via definite integration. Core concepts include volume integration, definite integrals, function transformation, rotation geometry, and solid calculus. Construction utilizes GeoGebra commands such as Point, Polygon, Integral, Rotate, Surface, Vector, Dilate, and Sequence to model shell geometry and approximate total volume. Suitable for calculus students and educators seeking an interactive, visual approach to solid volume problems.
GeoGebra Commands & Parameters
Point(x = 0) → APoint(x = 2) → BPoint(x = 4) → CPolynomial({A, B, C}) → fIntegral(h, x(A), x(C)) → aPoint(h) → DSequence(Polygon[((i * deltax), 0), (((i + 1) * deltax), 0), (((i + 1) * deltax), h(((i + 1) * deltax))), ((i * deltax), h(((i + 1) * deltax)))], i, 0, n - 1, 1) → list1Polygon(D, (x(D) - deltax, y(D)), (x(D) - deltax, 0), (x(D), 0)) → poly1, d, i, j, kLine(E, F) → lRotate(h, α, l) → h_1Surface((t * cos(u)), h(x(D)), (t * sin(u)), t, x(D) - deltax, x(D), u, 0, α) → eVector(D, (x(D), 0, 0)) → uSurface((t * cos(u)), 0, (t * sin(u)), t, x(D) - deltax, x(D), u, 0, α) → mSurface((t * cos(u)), h(t), (t * sin(u)), t, 0, 10, u, 0, α) → bRotate(list1, (-α), l) → list1'Rotate(poly1, (-α), l) → poly1'Dilate(G, If[0 < w ≤ 1, 1 - w, 0], D) → G'Segment(G, G') → f_1Rotate(D, π, l) → D'Rotate((x(D) - deltax, y(D)), π, l) → JDilate(H, If[1 < w ≤ 2, 2 - w, 0], I) → H'Segment(H, H') → g_1Dilate(D', If[2 < w ≤ 3, 3 - w, 0], J) → J'Segment(D', J') → i_1Distance(D, yAxis) → a_1Distance(B, yAxis) → e_1Surface((x(D) * cos(t)), (v * y(D)), (x(D) * sin(t)), t, 0, α, v, 0, 1) → j_1Surface(((x(D) - deltax) * cos(t)), (v * y(D)), ((x(D) - deltax) * sin(t)), t, 0, α, v, 0, 1) → oMirror(D, x = 0) → D'_1Line(D'_1, K) → pMirror(L, D'_1) → L'Circle(yAxis, D) → qCircle(yAxis, M) → rDilate(D'_1, If[0 < s ≤ 1, 1 - s, 0], L) → PDilate(D'_1, If[0 < s ≤ 1, 1 - s, 0], L') → QVector(D'_1, P) → vTranslate(q, v) → q'Translate(A, v) → A'Translate(A, Vector[(-v)]) → A'_1Translate(q, Vector[(-v)]) → q'_1Translate(D, v) → D'_2Translate(D, Vector[(-v)]) → D'_3Line(A', yAxis) → tRotate(D'_2, If[0 < s ≤ 1, ((-s) * π), (-π)], A', t) → RMirror(R, z = 0) → R'Translate(r, v) → r'Translate(r, Vector[(-v)]) → r'_1Translate(M, v) → M'Translate(M, Vector[(-v)]) → M'_1Rotate(M', If[0 < s ≤ 1, ((-s) * π), (-π)], A', t) → M''Line(A'_1, yAxis) → k_1Rotate(M'_1, If[0 < s ≤ 1, (s * π), π], A'_1, k_1) → SCurveCartesian((x(D) * cos(t)), y(D), (x(D) * sin(t)), t, 0, α) → c_1CurveCartesian((x(M) * cos(t)), y(M), (x(M) * sin(t)), t, 0, α) → l_1Rotate(D, (-α), yAxis) → D'_4Rotate(M, (-α), yAxis) → M'_2Segment(D'_4, M'_2) → m_1CurveCartesian((x(D) * cos(t)), 0, (x(D) * sin(t)), t, 0, α) → n_1CurveCartesian((x(M) * cos(t)), 0, (x(M) * sin(t)), t, 0, α) → o_1Polygon(T, U, M'', R) → q1, t_1, u_1, m'', r_1Polygon(S, R', W, V) → q2, s_1, r'_2, w_1, v_1Mirror(M, x = 0) → M'_3Translate(M'_3, v) → ZTranslate(M'_3, Vector[(-v)]) → A_1Center(r') → B_1CircleArc(B_1, P, R) → q_1CircleArc(B_1, Z, M'') → c_2Mirror(q_1, z = 0) → d_2Mirror(c_2, z = 0) → e_2Angle(Z, B_1, M'') → βSurface(x(B_1) - (x(D) * cos(t)), (v * y(D)), z(B_1) + (x(D) * sin(t)), t, 0, β, v, 0, 1) → a_2Surface(x(B_1) - (x(M) * cos(t)), (v * y(D)), z(B_1) + (x(M) * sin(t)), t, 0, β, v, 0, 1) → b_2Surface(x(B_1) + (t * cos(u)), y(D), z(B_1) - (t * sin(u)), t, x(P), x(P) + deltax, u, 0, β) → i_2Surface(x(B_1) + (t * cos(u)), 0, z(B_1) - (t * sin(u)), t, x(P), x(P) + deltax, u, 0, β) → j_2Mirror(a_2, z = 0) → k_2Mirror(b_2, z = 0) → l_2Mirror(i_2, z = 0) → m_2Mirror(j_2, z = 0) → n_2Segment(R, M'') → p_2Segment(M'', U) → q_2Segment(U, T) → r_2Segment(T, R) → s_2Vector(D, (x(D), 0, 0)) → u_2Translate(q_1, u_2) → t_2Translate(c_2, u_2) → c_3Segment(S, R') → f_3Segment(R', W) → g_3Segment(W, V) → h_3Segment(V, S) → i_3Translate(e_2, u_2) → d_3Translate(d_2, u_2) → e_3Mirror(E_1, z = 0) → G_1Mirror(F_1, z = 0) → H_1Polygon(Q, P, E_1, G_1) → q3, q_3, p_3, e_4, g_4Polygon(A_1, H_1, F_1, Z) → q4, a_3, h_4, f_4, z_1Segment(E_1, G_1) → l_3Segment(F_1, H_1) → j_3Segment(P, Q) → p_1Segment(A_1, Z) → f_2Polygon(Q, A_1, Z, P) → q5, q_4, a_4, z_2, p_4Polygon(E_1, G_1, H_1, F_1) → q6, e_5, g_2, h_2, f_5Translate(D'_4, u_2) → I_1Translate(M'_2, u_2) → J_1Segment(I_1, J_1) → k_3Distance(L', L) → distanceL'L