3D Graphing Software - Solid of Revolution

1.9k Views Asked by At

I'm taking AP Calc with AoPS, and we're learning how to find the volumes of some 3D solids using integration methods. In particular, we're learning about shapes called solids of revolution, which are formed by rotating the area under a 2D curve about the $x$-axis. For example:

Solid of revolution

Some solids of revolution are also formed by rotating the area under a 2D curve about the $y$-axis:

enter image description here

Is there any good software that I can use to visualize such solids formed from an arbitrary curve? Preferably even solids formed from an intersection of two such curves. GeoGebra, Math3D, and Manim all seem to be good, but I don't really see an easy option to graph such solids of revolution. I have to use parametric surfaces or something similar, which is difficult for me to do since I haven't really learnt about those. I understand that parametric surfaces give a 3D vector in terms of $u$ and $v$, but I can't figure out how to convert solids of revolution to a parametric surface. Perhaps a tip for that? Finding a good 3D graphing software would generally be useful though, since I'll probably need it anyways for future courses. GeoGebra seems to have a very poor documentation, and Manim might be too complicated for simple graphs. I just found Math3D, so I haven't really had a chance to uncover its pros and cons. Any suggestions?

3

There are 3 best solutions below

2
On BEST ANSWER

GeoGebra and WolframAlpha (thanks @user170231!) seem to work well for me right now. Here's a quick overview of how solids of revolution can be graphed using either software:

WolframAlpha

Explain the figure in as precise a language as possible. For example, "The solid formed by rotating the area bound by the functions $x^2$ and $\sqrt{x}$ about the x axis". Type this into the text field at WolframAlpha. You should get a graph!

WolframAlpha prompt

WolframAlpha graph

There is one downside to this though. The graph can't be moved or rotated, which may not allow for a good intuition all the time. Since this is powered by AI, it's not guaranteed to work all the time either. GeoGebra offers a more comprehensive graphing platform. GeoGebra's downside, however, is that it's impossible (or really difficult) to graph rotations like this. Instead, only the rotations of curves can be sketched, which means that a problem such as the one above must be split into two. Instead of graphing the rotation of the area between the functions $x^2$ and $\sqrt{x}$, we must graph the rotations of both the functions separately and mentally imagine subtracting the volume of one from the other.

GeoGebra

Go to the GeoGebra 3D Calculator. I will demonstrate the graphing functionality with the same example that was used above. Note that $0\leq x\leq 1$ should be replaced with the intersections of both the functions chosen, and the functions themselves ($x^2$ and $\sqrt{x}$) must be replaced.

  • f(x)=If(0<=x<=1,x^2)
  • g(x)=If(0<=x<=1,sqrt(x))
  • a=Surface(f,360deg)
  • b=Surface(g,360deg)

GeoGebra commands

$a$ and $b$ can be switched on or off and colors changed to give a better intuition of the solid.

GeoGebra graph

And of course, the graph can be moved around and rotated to give a better sense of what the solid really looks like! I found these tools really helpful for visualizing solids of revolution, thus helping me solve problems involving these better. They also helped me understand the intuition behind the formulas for finding the volume of such solids. I hope this was helpful for you too!

3
On

Asymptote is free and can produce high-quality plots, possibly containing some LaTeX.

settings.outformat = "png";
settings.render = 4;
import three;
size(5cm, 0);
path s = (0, 0){up} .. (1, 1) .. (2, sqrt(2));
path3 p3 = path3(s);
surface mysolid = surface(p3, c = O, axis = X, n = 64);
draw(mysolid, red);

enter image description here


EDIT

settings.outformat = "png";
settings.render = 4;
import three;
size(5cm, 0);
currentprojection = orthographic(3, 4, 2);
currentlight = light(
    diffuse = new pen[] {cyan, orange}, 
    specular = new pen[] {black, white}, 
    position = new triple[] {-Y+Z, X+Y}
);
path s1 = (0, 0){up} .. (0.5, sqrt(0.5)) .. (1, 1);
path s2 = (1, 1){down} .. (0.5, 0.5**2) .. (0, 0);
path3 p3 = path3(s1 .. s2);
surface mysolid = surface(p3, c = O, axis = X, n = 64);
draw(mysolid, green);

enter image description here

0
On

Strategy 1

Math3d.org plots your shape with this input into a parametric surface:

$[v,v^2\cos(u),v^2\sin(u)],u\in[-\pi,\pi],v\in[0,1]$

and

$$[v,v^\frac12\cos(u),v^\frac12\sin(u)],u\in[-\pi,\pi],v\in[0,1]$$

enter image description here

Also, one sees a pattern for revolving $f(x)$ about the $x$ axis:

$$[v,f(v)\cos(u),f(v)\sin(u)]$$

Where $v$ adjusts the domain and $u$ adjusts the revolution angle, like how $u\in[0,\pi]$ revolves $f(x)$ by $180^\circ$ . You can rotate the figure, zoom in, and adjust “Axes & Camera”

Strategy 2

There is another way too with the explicit/implicit surface feature shown here. To revolve $f(x)$ about the $x$ axis, you type

$$x=f\left((y^2+z^2)^\frac12\right)$$

Although the restrictions on $x,y,z$ cannot make circles:

enter image description here

Conclusion

You can plot much more than surfaces of revolution too. Clearly, strategy 1 will be best.