Surfaces of Revolution
If the curve \(y=f(x)\) is rotated about a line, the surface area of the solid of revolution which is formed is given by the formula
\(\displaystyle 2\pi\int_a^b r(x)\sqrt{1 + \left(f'(x)\right)^2}\ dx.\)
where \(r(x)\) is the distance between the graph of \(f(x)\) and the axis of revolution. In particular, when the axis of revolution is the \(x\)-axis then \(r(x) = f(x)\); when the axis of revolution is the \(y\)-axis then \(r(x) = x\).
When working with surfaces of revolution, it is nice to be able to visualize them. The following is a custom function that you can place in a SageMath environment to give you a visualization of (any) surface of revolution that is rotated about the \(x\)-axis.
def rev(g, a, b): t = var('t') p = parametric_plot3d((x, g(x)*cos(t), g(x)*sin(t)), (x, a, b), (t, 0, 2*pi)) return p.show()
To see an example of using the function rev
above, copy-paste the lines into a SageMath environment; on a new line, define a function f(x)
that you want to use, and decide on what to make a
and b
; finally, on the next line type rev(f, a, b)
and evaluate the code block.
For example, after putting in the definition of rev
that is above, the following lines would plot the curve in the next example, Example 3.
f(x) = sin(x) rev(f, 0, pi)
Example 3. We consider the curve \(y = \sin(x)\) between \(x=0\) and \(x=\pi\), and get the surface of revolution by rotating about the \(x\)-axis.
Here we have that \(r(x) = \sin(x)\). By the formula for surface area, we need to calculate 2*pi*integral(sin(x)*sqrt(1 + (cos(x))^2), x, 0, pi)
(using SageMath syntax). Upon evaluating this, as an answer we get 2*pi*(sqrt(2) + arcsinh(1))
.
To see the approximate value (of that last output, which is a number), we could use the numerical_integral
command instead.
To plot a surface of revolution that is revolved about the \(y\)-axis, rather than the \(x\)-axis, line 3 in the definition of rev
, which has the parametric_plot3d
command, has to be adjusted to
p = parametric_plot3d((x*cos(t), x*sin(t), g(x)), (x, a, b), (t, 0, 2*pi))
In fact, to we can alter the rev
function to accept an option that indicates the axis about which the curve will be revolved. We’ll make the \(x\)-axis be the default (what gets used if the option is not put into rev
).
def rev(g, a, b, axis = 'x'): t = var('t') if axis == 'y': p = parametric_plot3d((x*cos(t), x*sin(t), g(x)), (x, a, b), (t, 0, 2*pi)) elif axis == 'x': p = parametric_plot3d((x, g(x)*cos(t), g(x)*sin(t)), (x, a, b), (t, 0, 2*pi)) return p.show()
Exercises
Find the surface area of the surface of revolution obtained when the part of the curve \(y=f(x)\) between lines \(x=a\) and \(x=b\) is rotated. Make a 3D plot of the surface in each case. Find a numerical value for the surface area.
-
-
-
- \(f(x) = \frac{8x}{1+x^2},\ a=0, b=10.\) (about the \(x\)-axis)
- \(f(x) = \ln(x),\ a=1.5, b=3.\) (about the \(x\)-axis)
- \(f(x) = \arctan(x),\ a=0, b=1.\) (about the \(y\)-axis)
-
-
Surface area of a Torus
If we rotate a circle about the \(y\)-axis, we obtain a doughnut-like shape known as a torus. We can illustrate this by rotating the top and bottom halves of the circle \((x-2)^2+y^2 = 1\). Since the upper half of the circle is given by \(y = \sqrt{1 – (x-2)^2}\), the following lines plot the upper half of this torus
def rev(g, a, b, axis = 'x'): t = var('t') if axis == 'y': p = parametric_plot3d((x*cos(t), x*sin(t), g(x)), (x, a, b), (t, 0, 2*pi)) elif axis == 'x': p = parametric_plot3d((x, g(x)*cos(t), g(x)*sin(t)), (x, a, b), (t, 0, 2*pi)) return p.show() f(x) = sqrt(1 - (x-2)^2) rev(f, 1, 3, axis='y')
There is a clear symmetry between the top and bottom halves of the surface. This means that the surface area of the entire torus is 2 times the surface area of the top half. Since the top half of the circle has \(x\) values between \(x=1\) and \(x=3\), this means that the surface area of the torus is
\(\displaystyle 2\cdot\left(2\pi\int_1^3 x\sqrt{1 + (f'(x))^2}\ dx\right)\)
where \(f(x) = \sqrt{1 – (x-2)^2}\) is what we get when solving the circle equation for positive \(y\) values (the upper half).
In general, we can rotate a circle of radius \(a\) that is centered at the point \((b,0)\) on the \(x\)-axis (making sure that \(0 < a < b\)). The equation for this circle is \((x-b)^2 + y^2 = a^2\); in the example above, \(a=1\) and \(b = 2\).
Exercise
Find the surface area of the torus when the \(a\) and \(b\) discussed above have the following values. To be able to guess a formula, it is pretty essential that you find exact values, not decimal approximations. That is, use the integral( )
command, not numerical_integral( )
. (Also, as \(a\) and \(b\) change, adjust the integration bounds as well as the function!)
\(a = 1, b = 3; \qquad a = 1, b = 4; \qquad a = 2, b = 4\)
\(a = 2, b = 7; \qquad a = 3, b = 7; \qquad a = 5, b = 7\)
After finding these values (and potentially more, if needed; stick to integers), try to guess a formula for the surface area of the torus obtained from rotating about the \(y\)-axis the circle \((x-b)^2 + y^2 = a^2\). The formula should be in terms of \(a\) and \(b\). What is your formula? After writing it down, confirm it gives the right answer for another example pair \(a, b\).