If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Main content

Parametric functions, two parameters

To represent surfaces in space, you can use functions with a two-dimensional input and a three-dimensional output.

What we're building to

  • You can visualize a function with a two-dimensional input and a three-dimensional output by plotting all the output points corresponding to some region of the input space. This results in a surface, known as a parametric surface.
  • The process of going the other way around, starting with a surface in space and trying to find a function that "draws" this surface, is known as parameterizing the surface. In general, this is a tricky thing to do.

Quick review of one-parameter functions

In the last article, I talked about visualizing functions with a one-dimensional input and a two-dimensional output. For example:
f(t)=[tcos(t)sin(t)]
I talked about how because the output space has more dimensions than the input space, you can get a good feel for the function just by seeing which points in the output space are "hit" by the function as the input t ranges over some set of values.
All the points in the xy-plane that are hit by the function f(t)=(tcos(t),sin(t))
When a function is interpreted this way, it is known as a parametric function, and its input t is called the parameter

Two parameters

We can do something very similar with functions that have a two-dimensional input and a three-dimensional output.
f(s,t)=[t3ststs+t]
Both input coordinates s and t will be known as the parameters, and you are about to see how this function draws a surface in three-dimensional space.
The first step to representing a function like this is to specify a range for the input, such as
0<s<32<t<2
Here's what that region looks like in the input space.
Range of input values for parametric surface below
Next, we consider all possible outputs of the function in that range.
Input (s,t)Output (t3st,st,s+t)
(0,0)(0,0,0)
(1,0)(1,1,1)
(2,1)(6,1,3)
Okay, so we don't literally write out all possible outputs, since, you know, that involves infinitely many things. In principle, though, our goal is to represent all those values. Since the function spits out a three-coordinate output, we visualize this output in three-dimensional space.
The following animation shows what it looks like as the points (s,t) in the parameter space move to the corresponding output f(s,t) in three-dimensional space:
Khan Academy video wrapper
The resulting surface in three-dimensional space is called a parametric surface.
Warning: Surfaces like these can be confused with the graphs of functions that have a two-dimensional input and a one-dimensional output since those are also drawn as surfaces in three-dimensional space. But these parametric functions have a very different flavor. They have a two-dimensional input and a three-dimensional output. Notice, this means graphing them would require five dimensions!

Parameterizing a surface

One of the best ways to get a feel for parametric functions is to start with a surface that you want to describe, then try to find a function that will draw this as a parametric surface. This is also a necessary skill when you start learning about surface integrals later on in multivariable calculus.
Be warned, though, parameterizing surfaces is not easy. In the following example, we will parameterize a torus, the fancy word for the surface of a doughnut. As surfaces go, a torus is a relatively simple example, but it still takes some serious effort.

Example: Parameterize a torus (doughnut)

Torus
Consider the surface pictured above. You can think of it as a doughnut shape, or perhaps just as the glaze on the doughnut, since we don't care about the filling. Our goal right now is to find a function with a two-dimensional input, and a three-dimensional output, such that this doughnut shape is the output.
We imagine "drawing" the surface, although one does not simply draw a surface with a pencil and paper the way we can draw a curve.
Instead, our strategy will be to draw each circular slice of the torus. To see what I mean, here is a sample of those circular slices (drawn in blue):
Circle running through the empty portion of the torus
I also drew a large red circle on the xy-plane running through the centers of each of these slices. This is not part of the torus, but will be a useful reference point for the end goal of drawing each blue slice.
In a real problem, the radius of the red circle might be given to you, as would the radius of each blue circular slice. For now, let's choose arbitrarily that the radius of the red circle is 3, and the radius of each blue slice is 1, with the understanding that choosing different values would give different toruses (torii? torotes?).
Core idea: We will describe each point on the torus as the sum of two vectors:
  1. A vector c from the origin to a point on the red circle. To specify which point on the red circle, we will make this a vector-valued function that depends on a parameter t. As the value of t changes, the point on the red circle described by c(t) will change.
  2. A vector d from that point on the red circle to a point on the corresponding "slice" of the torus. The direction this vector points will depend on which point of the red circle it is anchored to, so the value of d should depend on the parameter t used to describe points of the red circle. Furthermore, we will use a second parameter u to determine which part of the blue torus slice d points to.
    Vector (d)(u,t) from the red circle to a point on the torus itself.
This means points on the torus will each be described as a sum.
c(t)+d(u,t)
(If you are unfamiliar with the tip-to-tail method of adding vectors, consider reviewing this video).

Why this strategy?

The idea here is that we don't immediately know how to define points on a torus, but we do know how to define circles.
Since the big red circle is flat on the xy-plane, and has radius 3, we can parameterize it as follows:
c(t)=3[cos(t)sin(t)0]=3cos(t)i^+3sin(t)j^+0k^
Now, the vector-valued function d(u,t) should also describe a circle, but it's a bit trickier. The (blue) circular slice of the torus we want d(u,t) to draw is at an angle. How do you draw a circle which is sitting at an angle in three-dimensional space?
Well, let's start from what we know. We know that in two dimensions, a unit circle centered at the origin can be described with the parametric function
g(u)=[cos(u)sin(u)]=cos(u)i^+sin(u)j^
For our desired blue circular slice, we do something similar, but we exchange i^ and j^ for different unit vectors. Take a look at this picture:
Unit vectors which help define the blue circular torus slice.
Instead of the "sideways" direction being i^, the unit vector in the x-direction, we think of it as the unit vector pointing away from the origin, which we'll call v^. Actually, since that direction might depend on where we start, v^ should​ be a vector-valued function dependent on the parameter t, so we write it as v^(t).
Similarly the "upward" direction is no longer j^, but k^, the unit vector in the z-direction. Therefore, the parameterization of the circular slice should look something like this:
d(u,t)=cos(u)v^(t)+sin(u)k^
This of course leaves us with a question: What is the formula for v^(t)?
Looking at the picture, the direction away from the origin is also described by c(t), so the formula for v^(t) should be the same as that for c(t), but scaled down to be a unit vector.
c(t)=3[cos(t)sin(t)0]Not a unit vectorv^(t)=[cos(t)sin(t)0]Unit vector
This means our full expression for d(u,t) is
d(u,t)=cos(u)v^(t)+sin(u)k^=cos(u)[cos(t)sin(t)0]+sin(u)[001]=[cos(u)cos(t)cos(u)sin(t)sin(u)]

Bring it on home

Remember, the whole reason we defined d(u,t) and c(t) was to describe each point on the torus as c(t)+d(u,t). Putting this together, we have the following vector-valued two-parameter function:
f(u,t)=c(t)+d(u,t)=3[cos(t)sin(t)0]+[cos(u)cos(t)cos(u)sin(t)sin(u)]=[3cos(t)+cos(u)cos(t)3sin(t)+cos(u)sin(t)sin(u)]
As u ranges from 0 to 2π, the output of this function f(u,t) will trace one of the blue slices, and as t ranges from 0 to 2π, the slices themselves will trace out the entire torus.
Here's what it might look like if we take the points from the parameter space where 0u2π and 0t2π, and watch them move to the output of our function f(u,t):
Khan Academy video wrapper

Summary

  • You can visualize a function with a two-dimensional input and a three-dimensional output by plotting all the output points corresponding to some region of the input space. This results in a surface, known as a parametric surface.
  • The process of going the other way around, starting with a surface in space and trying to find a function that "draws" this surface, is known as parameterizing the surface. In general, this is a tricky thing to do.

Want to join the conversation?