Cylindrical Coordinate Plotting with Maple

The interactive version of this worksheet is in the Math 210 folder in the Workspace volume in MSB 203. For instructions on accessing that remotely, see the Space Curves worksheet.

1. Plots via cylinderplot . The plots library has the command cylinderplot that directly plots surfaces with cylindrical-coordinate equations r = f ( , z ) . (For more general surfaces, see Section 2 below.) The syntax is

cylinderplot( f( , z), = .. , z = c..d ) ;

This command thus works for surfaces lying above a basic "polar rectangle" [
c , d ] ´ [ , ] in the xy -plane: that is it consists of points whose polar coordinates satisfy c ² r ² d , ² ² . In particular, it can handle only one of the three basic equations coordinate variable = constant , namely the right circular cylinder r = k. The next routine illustrates this for the case k = 4 . As usual, execute it by placing your cursor after the last semicolon and hitting the Enter key.

> with (plots):
cylinderplot (4, theta = 0..2*Pi, z = 0..5, axes = boxed);

```Warning, the name changecoords has been redefined
```

As before it is often helpful to include plots of the three Cartesian coordinate axes. The following routine generates such a plot.

> with (plots):
surf := cylinderplot (4, theta = 0..2*Pi, z = 0..5, axes = boxed):
xaxis := spacecurve([t, 0, 0, t = -5..5, color = magenta]) :
yaxis := spacecurve([0, t, 0, t = -5..5, color = magenta]) :
zaxis := spacecurve([0, 0, t, t = -1..6, color = magenta]) :
labx := textplot3d([5.1, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,5.1, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 6.1, `z`], color = magenta):
display(surf, xaxis, yaxis, zaxis, labx, laby,labz);

Despite its limitations, the
cylinderplot command is powerful enough to provide plots of many simple regions.

Example 1 . Plot the ice cream cone that lies above the graph of z = and below the graph of = 4.

Solution . The following routine, which is a slight modification of the preceding one, plots the region. In coding it, the first step was finding the curve C of intersection of the cone and the sphere. To get the equation of C , square the first equation and then substitute = into the second:

= 4 Þ ,

which is the circle of radius
with center at the origin. In polar coordinates that is r = . The equation of the cone transforms to the cylindrical-coordinate equation z = r , and the equation of the sphere transforms to = 4. Since all the ice cream lies above the cone Ñ in particular, above the xy- plane Ñ in solving the equation of the sphere for r, only the positive square root r = is therefore needed. Letting range just from 0 to ¹ lets us peek inside the interior the region, which later will help reveal the proper limits of integration. (Note that the plot makes clear that the roof of the region is the green spherical surface.) Rotation of the default plot again gives a better image. Experiment with rotation until you get a good view.

> with (plots):
surf1 := cylinderplot (z, theta = 0..Pi, z = 0..sqrt(2), axes = boxed, color = red):
surf2 := cylinderplot (sqrt(4 - z^2), theta = 0..Pi, z = 0..2):
xaxis := spacecurve([t, 0, 0, t = -2..2, color = magenta]) :
yaxis := spacecurve([0, t, 0, t = -2..2, color = magenta]) :
zaxis := spacecurve([0, 0, t, t = -1..3, color = magenta]) :
labx := textplot3d([2.1, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,2.1, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 3.1, `z`], color = magenta):
display(surf1, surf2, xaxis, yaxis, zaxis, labx, laby,labz);

2. More general surfaces and regions . The basic cylinderplot command can graph a surface only if its cylindrical-coordinate equation has the form r = f ( , z ). However, there is a more general version of cylinderplot . It can plot any cylindrical-coordinate equation for which you can express z or as a function of the remaining two variables. The extended command requires entry of the formulas for all three of r , , and z (in that order and within square brackets) as well as specification of the range of the two independent variables. Using the generic symbols u and v for those, the syntax of the extended command is thus

cylinderplot( [r, , z], u = a..b, v = c..d ) ;

For example, the next routine plots the two simple cylindrical surfaces with equations
z = c and = . (In the second plot, if you change to multiples of ¹, the initial rendering appears edge-on, so click and rotate the plot slightly to see the plane.)

> with (plots):
cylinderplot( [r, theta, 3], r = 0..2, theta = 0..2*Pi, axes = boxed );
cylinderplot( [r, 2, z], r = 0..2, z = 0..3, axes = boxed );

The concluding example of this document involves a region whose bounding surfaces need the extended cylinderplot command.
Example 2 . Plot the region E in the first octant between the graphs of = and .

Solution . The first equation transforms to the simple polar equation , that is, . (Cancelling r does not lose the origin, because it occurs with coordinates [0, ¹/2].) The second equation transforms to the pair of cylindrical-coordinate equations z = r and z = Ð r . Since E lies in the first octant, only the first applies here. The following routine plots E , with coordinate axes, and again provides a look inside the region. Again, after executing the command, you can rotate the initial plot to get a good view of E 's interior.

> with (plots):
surf1 := cylinderplot (2*cos(theta), theta = 0..Pi/2, z = 0..2, axes = boxed):
surf2 := cylinderplot ( [r, theta, r], r = 0..2, theta = 0..Pi/2, color = red):
xaxis := spacecurve([t, 0, 0, t = 0..2, color = magenta]) :
yaxis := spacecurve([0, t, 0, t = 0..2, color = magenta]) :
zaxis := spacecurve([0, 0, t, t = 0..2.5, color = magenta]) :
labx := textplot3d([2.1, 0, -.2, `x`], color = magenta):
laby := textplot3d([0, 2.1, -.2, `y`], color = magenta):
labz := textplot3d([0, .2, 2.2, `z`], color = magenta):
display(surf1, surf2, xaxis, yaxis, zaxis, labx, laby,labz);

>

From the figure, observe that the roof of the region is the red conical surface. (Such observations are the key to finding correct limits of integration later.)