Solids of Revolution Student Lab

Objectives Defined:

The purpose of this module is to improve the student's conceptual and computational understanding of how a solid can be generated through the construction of disks and shells. Furthermore, the volumes of various solids will be determined through those two constructions using traditional calculus approaches. These goals will be achieved by

1. Reviewing the construction of disks/washers by revolving a representative rectangle.

2. Reviewing the construction of shells by revolving a representative rectangle.

3. Exploring each method about various axes of revolution.

4. Examining the notation involved in each process.

5. Providing student problem sets.

Review of Disk/Washer Construction Method:(partly animated)

As with the Riemann Sum Construction for determining the area beneath a curve, we can create the same representative rectangular strip and use it to generate 3-D solids. The function f(x) = sqrt(x) graphed on [0,2] shown below includes one such representative rectangle.

                                    

                                           [Plot]

When we revolve the rectangle about the x-axis, then a circular disk is formed.

Animation of a Revolving Disk

The animation below shows how when we revolve one rectangle a corresponding disk is created.

To run the animation "point and click on the figure". You can control the animation with the Animation Toolbar which appears at the top.

                                           [Plot]

                                            [Plot]               

The volume of this lone disk is given by:

                         

where f(x*) is an approximate radius for the disk                                    

As we let x* vary from 0 to 2, we can create a volume of disks.

                                        [Plot]

Animation of a Solid Filled With Disks

The animation below shows how the repeated usage of disks can create a solid of revolution. Once agian, "point and click" on the picture and then use the Animation Toolbar to control the animation.

                                        [Plot]                          

Summing up the volumes of the individual disks and letting our thickness be a limiting process, we obtain the integral notation for the volume of the solid of revolution formed. For our problem the solution is given by.

> Radius(x):=x^(1/2):
Integrand:=Pi*Radius(x)^2:

Volume:=Int(Integrand,x=0..2)=int(Integrand,x=0..2)*`  cubic units`;

Volume := Int(Pi*x, x = 0 .. 2) = 2*Pi*`  cubic units`

The general formula is given below.

>

The Volume Formula for Disks/Washers Rotated about the X-Axis

                                       

In words, the volume that is generated is the integral whose integrand is equal to pi times the radius squared where the radius is measured from the x-axis to the curve f(x). If our rectangular strip is contained between two functions f and g then we create a washer which has an "inner" and "outer" radius. We must adjust our formula accordingly. See the diagram and the accompanying formula.

                                               [Plot]

                                   [Plot]

         

The solution to this scenario is determined by the code below. Simply place the cursor anywhere in the red code and press ENTER.

> Outer(x):=x^(1/2):
Inner(x):=(1/2)*x:

Integrand:=Pi*(Outer(x)^2-Inner(x)^2):

Volume:=Int(Integrand,x=0..2)=int(Integrand,x=0..2)*`  cubic units`;

Volume := Int(Pi*(x-1/4*x^2), x = 0 .. 2) = 4/3*Pi*`  cubic units`

>

The Volume Formula for Disks/Washers Rotated about the Y-Axis

The procedure and formula for rotating about the y-axis is analogous except that our radii must be in terms of y and our limits of integration run along the y-axis. Our volume formula in this case reads.

  

note: the functions f*(y) and g*(y) represent new functions whose independent variables are y.

Student Questions:

Consider the formula shown in blue for the volume of a solid of revolution using the disk/washer method and rotating about the x- axis.

                       

1. What do a and b represent?

2. Why is the symbol Pi involved?

3. What is being summed up by the integral symbol?

4. Explain in words the process of determining the volume of a solid when generated by revolving disks.

5. Sketch the curves 4*x - x^2 and 8x - 2x^2 .

6. Determine where these two graphs intersect and then focus on the enclosed region bewteen them.

7. Use the disk method to generate a volume about the x-axis and determine that volume's value.

8. Repeat the problem but this time revolve the enclosed region about the line y = 5.

9. Explain why disks will not work if you wish to generate the solid about the y-axis.

10. Challenge(Stewart, 5ed, page 454): A bowl is shaped like a hemisphere with diameter 30 cm. A ball with diameter 10 cm is place in the bowl and water is poured into the bowl to a depth of h centimeters. Find the volume of water in the bowl using the disk/washer method.

Final Thoughts:

Here is a list of items to keep in mind when selecting the disk/washer method:

1. Your representative rectangle is perpendicular to the axis of revolution.

2. Identify the outside and inside radii. Sometimes there is no inside radius. Do you know why?

3. Take time to always sketch an accurate drawing and include the 180-degree shadow.

4. Your limits of integration run along the axis of revolution.

5. Remember: a^2 -b^2 is not equal to (a-b)^2!

6. Never rule out that shells might be easier. Look at both possibilities.

Review of Shell Construction Method:

The function f(x) = sqrt(x) graphed on [0,2] shown below displays a representative rectangle which is parallel to the x-axis. If we rotate the rectangle about the x-axis then a "shell" is created.

                                               [Plot]

When we revolve the rectangle about the x-axis, then a circular shell is formed which has thickness

                                                [Plot]

The volume of this lone shell is given by:

               

As we let y vary from 0 to sqrt(2), we can get as many shells as we like creating an approximation to the true volume that would be generated.The animation below creates the generated solid through multiple shells. As before, use the Animation Toolbar after clicking on the figure to control the animation.

Animation Showing Shells Creating A Solid

                                           [Plot]

Summing up the volumes of the individual disks and letting our thicknesses be a limiting process we obtain the integral notation for the volume of the solid formed. For our problem the solution is given by.

> Radius(y):=y:
Circum(y):=2*Pi*Radius(y):

Length(y):=2-y^2:

Integrand:=Circum(y)*Length(y):

Volume:=Int(Integrand,y=0..sqrt(2))=int(Integrand,y=0..sqrt(2))*`  cubic units`;

Volume := Int(2*Pi*y*(2-y^2), y = 0 .. sqrt(2)) = 2*Pi*`  cubic units`

>

The Volume Formula for Shells Rotated about the X-Axis

                                     

In words the volume is aquired by summing up the volumes of an infinite number of nested shells whose radii vary with y and whose heights(lengths) vary according to the curve.

Similarily, if we rotate a strip around the y-axis we obtain the following:

                                              

                                                      [Plot]

                                               [Plot]

       Our volume formula changes as follows:

The Volume Formula for Disks/Washers Rotated about the Y-Axis

   

                                        

Student Questions:

Final Thoughts:

         

Further Examples:

The figure below shows a partially filled half-circle. If we rotate this figure we will get a hemisphere which is partially filled.

                                   [Plot]

                                 

The intagral to determine the volume generated is given by (disk method);

                                                              

This simple MAPLE code will evaluate this integral. Place your cursor in the red restart word and press ENTER.

> restart:
Volume:=int(Pi*(r^2-y^2),y=-r..h-r);

Volume := -1/3*Pi*((h-r)^3+r^3)+Pi*r^2*h

The answer can be written cleanly as:

                                                             

You should verify that algebraically.

Major Source Code:

Within this section are the coding routines to produce the images conatined in this lab. The /*Creates... prompt describes the routines purpose.

> restart:with(plots):/*Creates a vertical rectangle.
h:=PLOT(POLYGONS([[0.8,0.4],[0.9,0.4],[0.9,sqrt(0.9)],[0.8,sqrt(0.9)]],COLOR(HUE,0.8)),TEXT([0.85,-0.50],'delta_x_thick',COLOR(HUE,5.9)),     AXESSTYLE(NORMAL),VIEW(0..2,-1..1.5),AXESTICKS(4,4)):

g:=plot({0.5*x,sqrt(x)},x=0..2,thickness=3,color=[gray,brown]):

k:=textplot({[1.1,1.4,'f(x)=sqrt(x)'],[1.3,0.35,'g(x)=x/2']}):

display(h,g,k);

Warning, the name changecoords has been redefined

> restart:with(plots):with(plottools):/*Creates a vertical Washer.disk1:=(a,b,c,r,h)->rotate(cylinder([a,b,c],r,h,color=magenta),0,-Pi/2,0):disk2:=(a,b,c,r,h)->rotate(cylinder([a,b,c],r,h,color=white),0,-Pi/2,0):
myfunction1:=(x,y)->plot3d(sqrt(x),x=0..2,y=0..2,thickness=3,color=brown):

myfunction2:=(x,y)->plot3d((1/2)*x,x=0..2,y=0..2,thickness=3):

display({disk1(0,0,0.9,1,0.1),disk2(0,0,0.91,0.5,0.1),myfunction1(x,y),myfunction2(x,y)},scaling=unconstrained,style=patchnogrid,axes=normal,orientation=[-80,90], title="Rotated Rectangle\nCreates a Washer",titlefont=[TIMES,ROMAN,14],lightmodel=light4,TEXT([0.6,1,1.4],`f(x)=sqrt(x)`),TEXT([1.6,1,0.4],`g(x)=0.5x`));

Warning, the name changecoords has been redefined

> restart:with(plots):with(plottools):/*Creates a sequence of Disks.
washer:=(a,b,c,r,h)->rotate(cylinder([a,b,c],r,h),0,-Pi/2,0):

Disks:=(f,a,b,n)->display(seq(washer(0,0,a+k*(b-a)/n,f(a+k*(b-a)/n),(b-a)/n),k=0..n),scaling=unconstrained,style=patchnogrid,axes=normal,lightmodel=light2,orientation=[-83,90], title="Multiple Disks",titlefont=[TIMES,ROMAN,14]):

Disks(sqrt,0,2,15);

> restart:with(plots):/*Animates one revolving Disk.
f:=y^2:

F:=unapply(f,y):

Frame:=1:

for n from 1 to 64 do

Graph:=plot3d([f,y*cos(t),y*sin(t)],y=0..sqrt(2),t=0..-2*Pi,color=khaki):

rotaxis:=pointplot3d([[0,0,0],[2,0,0]],style=line,color=green,thickness=6):

disks:=seq(pointplot3d([[F(1),0,0],[F(1),(1)*sin(k*Pi/32),(1)*cos(k*Pi/32)]],style=line,thickness=10,color=blue),k=1..n):

pic||Frame:=display(Graph,rotaxis,disks):

Frame:=Frame+1:od:

display(pic||(1..Frame-1),insequence=true,style=wireframe,orientation=[-82,93],axes=normal);

Warning, the name changecoords has been redefined

> restart:with(plots):with(plottools):/*Animates the filling of a solid with Disks.
radi:=x->x^(1/2):

First:=NULL:

Frame:=1:

for k from 1 to 21 do

Cur:=tubeplot([x,0,0,x=0..2],radius=radi(x),color=khaki,style=wireframe,tubepoints=24):

rotaxis:=pointplot3d([[0,0,0],[2,0,0]],style=line,color=green,thickness=6):

L:=line([(k-1)/10,0,0],[(k-1)/10,((k-1)/10)^(1/2),0],thickness=9):

disk:=seq(rotate(L,n*Pi/32,[[0,0,0],[2,0,0]]),n=0..64):

First:=First,disk:

gr||Frame:=display(Cur,rotaxis,First,color=blue):

Frame:=Frame+1:od:

display(gr||(1..Frame-1),insequence=true,orientation = [-82,93]);

> restart:with(plots):/*Creates a horizontal strip.
h:=PLOT(POLYGONS([[0.8,sqrt(0.7)],[2,sqrt(0.7)],[2,sqrt(0.9)],[0.8,sqrt(0.9)]],COLOR(HUE,0.8)),TEXT([0.4,0.9],'delta_y_thick',COLOR(HUE,5.9)),     AXESSTYLE(NORMAL),VIEW(0..2,-1..1.5),AXESTICKS(4,4)):

g:=plot(sqrt(x),x=0..2,thickness=3,color=[brown]):

k:=textplot([1.1,1.4,'f(x)=sqrt(x)']):

display(h,g,k,title="Horizontal Rectangle\nfor Shell Method",titlefont=[TIMES,BOLD,14]);

> restart:with(plots):with(plottools):/*Creates a Shell.
disk1:=(a,b,c,r,h)->rotate(cylinder([a,b,c],r,h,color=magenta),0,-Pi/2,0):disk2:=(a,b,c,r,h)->rotate(cylinder([a,b,c],r,h,color=white),0,-Pi/2,0):

myfunction1:=(x,y)->plot3d(sqrt(x),x=0..2,y=0..0.2,thickness=8,color=brown):test:=rotate(plot3d(x^(1/2),x=0..2,y=0..sqrt(2)),Pi,1,0):

myfunction2:=(x,y)->plot3d(-sqrt(x),x=0..2,y=0..0.2,thickness=8,color=khaki,style=wireframe):

display({disk1(0,0,0.9,1,1),disk2(0,0,0.91,0.8,1.001),myfunction1(x,y),myfunction2(x,y)},scaling=unconstrained,style=patchnogrid,axes=normal,orientation=[-71,90], title="Rotated Rectangle\nCreates a Shell",titlefont=[TIMES,ROMAN,14],lightmodel=light4,TEXT([0.6,1,1.5],`f(x)=sqrt(x)`));

> with(plottools):/*Animates the creation of one Shell.
r[0]:=POLYGONS([[0,0.8,0],[0,0.9,0.0],[0,0.9,sqrt(0.9)],[0,0.8,sqrt(0.9)]],COLOR(HUE,0.8)):

l := [[0,0,0],[0,0,1]]:

a := Pi/50: c := 1:

while evalf(a-2*Pi) < 0 do

 r[c] := rotate(r[0],a,l);

 a := a+Pi/50;

 c := c+1;

end do:

display([seq(r[i],i=0..c-1)],title="Shell Construction\nY-Axis Rotation\nMultiple Views", titlefont=[TIMES,BOLD,14],axes=normal,view=[-1..1,-1..1,0..2],orientation=[5,66]);

> restart:with(plots):with(plottools): /*Animates filling with Shells.
radi:=y->y^2:

height:=x->sqrt(x):

First:=NULL:

Frame:=1:

param1:=blue:

param2:=red:

for k from 1 to 10 do

if irem(k,2)=0

  then

    param:=param2

  else

    param:=param1

fi:

Cur:=tubeplot([x,0,0,x=0..2],radius=height(x),color=khaki,style=wireframe,tubepoints=24):

rotaxis:=pointplot3d([[0,0,0],[2,0,0]],style=line,color=green,thickness=6):

L:=line([2*(k-1)/9+.01,sqrt(2)*((k-1)/9)^(1/2),0],[2,sqrt(2)*((k-1)/9)^(1/2),0],thickness=3,color=param):

disk:=seq(rotate(L,n*Pi/32,[[0,0,0],[2,0,0]]),n=0..64):

First:=First,disk:

gr||Frame:=display(Cur,rotaxis,First):

Frame:=Frame+1:od:

display(gr||(1..Frame-1),insequence=true,orientation = [-76,83],axes=normal);

Warning, the name changecoords has been redefined

>