Surfaces and Surface Area  

Copyright © 1995, 1997, 2003 by James F. Hurley, Department of Mathematics, University of Connecticut, Storrs, CT 06269-3009. All rights reserved

1.  Simple Parametrization. Think of a parametric surface in R 3 as a quilt consisting of many smooth patches. A smooth surface patch is the 2-dimensional analogue in R 3 of a 1-dimensional curve in the plane, namely, a continuous function f: D -> R 3 ,  where D is a region in R 2 . A parametric surface is the union of a collection of smooth surface patches.  

Example 1. It is simple to parametrize a plane with scalar equation ax + by + cz = d,  Consider such a plane with c != 0.  It is then possible to solve for z in terms of x and y: z = d - ax - by c . A natural parametrization of the plane is then

(1)                             
x = u, y = v, z = f(u, v) = d au bv c .
                   
In terms of a parametric vector function
r: R 2 -> R 3 this takes the form

(2)                             
r(u, v) = u i + v j + d au bv c k.

     
Mathematica can graph a parametric surface by means of its built-in graphics command ParametricPlot3D. The following routine illustrates this for the plane 2x + 4y - 5z = 20. To plot other planes, simply change the assignments of the coefficients a, b, c, and d. (See the notebook Planes as Surfaces.) To see Mathematica's default plot, execute the following routine.

In[1]:=

a := 2;
b := 4;
c := -5;
d := 20;
plane = ParametricPlot3D[{u, v, (d - a*u - b*v)/c},
                         {u, -2, 2}, {v, -2, 2},
                          AxesLabel -> {x, y, z}]

[Graphics:HTMLFiles/ParametricSurfs_1.gif]

     As before, coordinate axes provide additional orientation. The following routine creates a graphics object called coordaxes with red coordinate axes over a portion of R 3 appropriate to the graph of 2x + 4y - 5z = 20. Activate the routine as usual by hitting the Enter key after placing the cursor at the end.

In[6]:=

coordaxes = Graphics3D[{ RGBColor[1, 0, 0],
               Line[{{-2, 0, 0}, {2, 0, 0}}],
               Text["x", {2.2, 0, 0}],
               Line[{{0, -2, 0}, {0, 2, 0}}],
               Text["y", {0, 3, 0}],
               Line[{{0, 0, -6}, {0, 0, 2}}],
               Text["z", {0, 0, 2.2}] }]
                                  

To obtain a plot of the plane with the coordinate axes, ask Mathematica to show both plots. The following command carries that out. Try it!

In[8]:=

Show [ plane , coordaxes ]

[Graphics:HTMLFiles/ParametricSurfs_2.gif]


2.  More general surfaces. A slight extension of the last section's approach provides a parametric representation for the graph of a function f: R 2 -> R. Just let x = u, y = v, and z = f(u, v). The vector parametrization is then

r(u, v) = u i + v j + f(u, v) k,

where u and v range over an appropriate domain D of the xy-plane.

Example 2. Parametrize the part of the plane z = 2x  + 2y that lies inside the cylinder x 2 + y 2 = 1.
Solution. It is natural to use cylindrical coordinates to describe the cylinder. So let x = r cos θ, y = r sin θ, and then z = 2 r cos θ + 2 r sin θ, since z = 2 x + 2 y. The part of the plane of interest lies inside the cylinder, so the parameter r should vary over the interval [0, 1] while the parameter θ varies over the interval [0, 2π]. This gives

r(r, θ) = r cos θ i +r sin θ j + 2 (r cos θ  + r sin θ) k, r [0, 1], θ ∈ [0, 2π].    

To plot the surface, use Mathematica's ParametricPlot3D command again. To draw this surface by hand without including the enclosing cylinder is challenging, but for Mathematica it is actually better to omit the cylinder -- which would hide much of the plane. Note also that you can use r and θ as parameters just as well as u and v. Execute the following routine to generate the plot.  

In[9]:=

ParametricPlot3D[{r*Cos[θ], r*Sin[θ], 2*(r*Cos[θ] +
                  r*Sin[θ])}, {r, 0, 1},
                  {θ, 0, 2*Pi}]

[Graphics:HTMLFiles/ParametricSurfs_3.gif]

As before, you may want to include coordinate axes. The following routine is just the above coordaxes, with some slight editing to display a more appropriate part of the axes. Execute it to create the axes.

In[10]:=


coords2 = Graphics3D[{RGBColor[1,0,0],
                      Line[{{-1, 0, 0}, {1, 0, 0}}],
                       Text["x", {1.2, 0, 0}],
                      Line[{{0, -1, 0}, {0, 2, 0}}],
                       Text["y", {0, 2.2, 0}],
                      Line[{{0, 0, -3}, {0, 0, 3}}],
                       Text["z", {0, 0, 3.2}]
                                  }]

As before, display the plot of the part of the plane inside the cylinder with the axes by asking Mathematica to show you the second-to-last plot (of the plane) and the object coords2.

In[11]:=

Show[%%, coords2]

[Graphics:HTMLFiles/ParametricSurfs_4.gif]

3. Surface Area. Mathematica is a convenient tool for checking calculations of || r u × r v ||, whose integral gives the surface area of a paraametric surface patch S with parametrizing vector function r: D ->   R 3 . The following examples illustrate that.

Example 3. Find the area of the part of the plane z = 3 x - 2 y that lies inside the cylinder x 2 + y 2 = 4.

Solution. As in Exercise 4 above, it is natural to parametrize the surface as

X(r, θ) = r cos θ i +r sin θ j + (3 r cos θ  - 2 r sin θ) k, r [0, 2], θ ∈ [0, 2π].

     The following Mathematica routine calculates X r = X r and r θ = X θ . Try it!

In[12]:=

X[r_, θ_] := {r*Cos[θ], r*Sin[θ],
              3*r*Cos[θ] - 2*r*Sin[θ]}
Xr = D[X[r, θ], r]
Xtheta = D[X[r, θ], θ]

Out[13]=

{ Cos [ θ ] , Sin [ θ ] , 3 Cos [ θ ] - 2 Sin [ θ ] }

Out[14]=

{ - r Sin [ θ ] , r Cos [ θ ] , - 2 r Cos [ θ ] - 3 r Sin [ θ ] }

To calculate the cross product of the two partial derivatives of X with respect to r and θ, previous versions of Mathematica required use of a special package, but now the built-in command Cross is available without further work. The next routine carries out the calculation. Execute it and compare to your hand calculation.

In[15]:=

dS := Cross[Xr, Xtheta]
dS             

Out[16]=

{ - 3 r Cos [ θ ] 2 - 3 r Sin [ θ ] 2 , 2 r Cos [ θ ] 2 + 2 r Sin [ θ ] 2 , r Cos [ θ ] 2 + r Sin [ θ ] 2 }

The output is not in simplest form, so ask Mathematica to simplify it as much as it can by executing the following command:

In[17]:=

Simplify[dS]

Out[17]=

{ - 3 r , 2 r , r }

Finally, the area of the given surface is the double integral of the length of that cross product over the rectangular domain D = [0, 2] × [0, 2π]. The following little routine uses the fact that the length of the vector dS is just dS · dS . Try it!

In[18]:=

dA := Sqrt[Dot[dS, dS]]
dA

Out[19]=

( - 3 r Cos [ θ ] 2 - 3 r Sin [ θ ] 2 ) 2 + ( r Cos [ θ ] 2 + r Sin [ θ ] 2 ) 2 + ( 2 r Cos [ θ ] 2 + 2 r Sin [ θ ] 2 ) 2

Again, the complexity of this expression prompts a request for simplication:

In[20]:=

Simplify[dA]

Out[20]=

14 r 2

Impressive programming, isn't it?  Since we have not specified an allowable range of values for the variable r, Mathematica can't express the square root of r 2 in a simpler form. Once we specify the region of integration over which to evaluate the double integral of dA, Mathematica can and does provide a simple answer. Try the following!

In[21]:=

Integrate[dA, {r, 0, 2}, {θ, 0, 2 Pi}]

Out[21]=

4 14 π


Converted by Mathematica  (June 24, 2003)