Re: v.6 RevolutionPlot3D

• To: mathgroup at smc.vnet.net
• Subject: [mg75983] Re: v.6 RevolutionPlot3D
• From: Helen Read <hpr at together.net>
• Date: Mon, 14 May 2007 03:47:04 -0400 (EDT)
• References: <200705120700.DAA23589@smc.vnet.net> <f26p3f\$57r\$1@smc.vnet.net>

```Andrzej Kozlowski wrote:
> On 12 May 2007, at 16:00, Helen Read wrote:
>
>> I see that SurfaceOfRevolution (which was in an add on package) has
>>  been replaced by RevolutionPlot3D. Sounds great, except that
>> RevolutionPlot3D only revolves around the vertical axis. We (my
>> calculus students) used the old SurfaceOfRevolution all the time
>> for visualizing surfaces of revolution for computing volume and
>> surface area, and we need to be able to revolve around both the
>> vertical axis and the horizontal axis.
>
> First of all, you can still use SurfaceOfRevolution in Mathematica 6:
>
> << Graphics`SurfaceOfRevolution`
>
> (ignore the compatibility message)

Well, it would be a shame to have to load a legacy package to do
something that 6.0 *should* do. Frankly, I'm a bit baffled as to why
RevolutionPlot3D does not have an option to set the revolution axis.
Clearly it is intended as a replacement for the old SurfaceOfRevolution,
which did have an option for setting the revolution axis. Why would they
take that out?

> Another possibility is simply to forget about RevolutionPlot3D and
> use ParametricPlot3D:
>
> ParametricPlot3D[Evaluate[{X, Y, Z} /. Solve[RotationMatrix[{{1, 1,
> 1}, {0, 0, 1}}].{X, Y, Z} == {t Cos[=CE=B8],  t Sin[=CE=B8], t^2 }, =
> {X, Y,
> Z}]], {t, 0, 1}, {=CE=B8, 0, 2 =CF=80}]

That would be a bit much for Calculus I or II students.

I think what I'm going to have my students do is the following.

To revolve around the vertical axis just use RevolutionPlot3D:

RevolutionPlot3D[f[x], {x, 0, 2}]
(or RevolutionPlot3D[{x[t],y[t]},{t,0,2}] in the case of a parametric
curve).

To revolve around the horizontal axis, interchange x and y, and set
ViewVertical like this.

RevolutionPlot3D[{f[x],x}, {x, 0, 2},ViewVertical->{-1,0,0}]
or RevolutionPlot3D[{y[t],x[t]},{t,0,2},ViewVertical->{-1,0,0}]

--