MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Solids of revolution

  • To: mathgroup at
  • Subject: [mg116600] Re: Solids of revolution
  • From: Alexei Boulbitch <alexei.boulbitch at>
  • Date: Mon, 21 Feb 2011 05:34:54 -0500 (EST)

Dear Tom,

you may use RevolutionPlot3D together with Amimate or Manipulate. I think that manipulate is better, since
  there you can move the slider and explain your students what happens. For example, assume you would like
to chose to visualize a function like r*sin(r). Then copy to your notebook and evaluate the following simple code:

  f[r_] := Sin[r]*r;

  RevolutionPlot3D[f[r], {r, 0, 20}, {\[CurlyPhi], 0., \[CurlyPhi]max}],
  {{\[CurlyPhi]max, 0.1,
        "\!\(\*SubscriptBox[\(\[CurlyPhi]\), \(max\)]\)= ", 14, Blue],
       Style[NumberForm[\[CurlyPhi]max/(2 \[Pi])*360, {3, 1}], 14,
        Blue], Style["\[Degree]", 14, Blue]}]]}, 0, 2 \[Pi], 0.01,
   Appearance ->  Labeled}, ControlPlacement ->  Top]

This may already show what you need. It has however, some drawbacks. The main is that the image is coarse-grained when you pull
the slider and only becomes fine upon stopping it.

You may also use Animate instead of Manipulate with the same code (only Appearence->Labeled should be dropped):

f[r_] := Sin[r]*r;

  RevolutionPlot3D[f[r], {r, 0, 20}, {\[CurlyPhi], 0., \[CurlyPhi]max}],
  {{\[CurlyPhi]max, 0.1,
        "\!\(\*SubscriptBox[\(\[CurlyPhi]\), \(max\)]\)= ", 14, Blue],
       Style[NumberForm[\[CurlyPhi]max/(2 \[Pi])*360, {3, 1}], 14,
        Blue], Style["\[Degree]", 14, Blue]}]]}, 0, 2 \[Pi], 0.01},
  ControlPlacement ->  Top]

This will play the same image as a movie. But in this case the whole movie will be coarse-grained.

The way around would be for example, to make a list of images and then to play it. Try this:

table = Table[
     f[t], {t, 0, 20}, {\[CurlyPhi],
      0., \[CurlyPhi]max}], {\[CurlyPhi]max, 0.1, 2 \[Pi], 0.2}];

ListAnimate[table, 5]

The number 5 in the second argument of the ListAnimate operator is the number of frames fer second. You may play with it. Check
Help/ListAnimate for other available parameters to play with. Note that in the Table operator the very last parameter defines
how smooth the movie will be played. The smaller it is chosen, the smoother it will rotate, but the price is the time the evaluation
will take. I have chosen it 0.2 to make evaluation faster, but for the purposes of a presentation you may wish to make it smaller.

Ok, this again has a drawback, it takes too long to wait before (i) the list of images will be created, and (ii) the
animation will start. The first problem may be avoided, if you in the very beginning of the lesson will evaluate the notebook
with the cell containing the table operator marked as Initialization Cell (Menu/Cell/Cell Properties/Initialization Cell). However,
the evaluation of the operator ListAnimate anyway takes too long.

The way around is to save this animation as the avi file (before yore lesson) and play during the lesson this ready-to-use file.
Evaluate this:

table = Table[
     f[t], {t, 0, 20}, {\[CurlyPhi],
      0., \[CurlyPhi]max}], {\[CurlyPhi]max, 0.1, 2 \[Pi], 0.05}];
Export[NotebookDirectory[]<>  "tom.avi", table]

Note that the evaluation of these two commands should take some time, the more time the smaller the parameter in the
end of Table is. Here I specified it 0.05 to be smoother. You do it however, once and before the lesson. These operators will save
the movie file entitled "tom.avi" in the same directory where you have your Mathematica file. Then you can move this file
to whatever place you like and play it fast during the lesson.

I should add that the problems here (I mean the too long duration of evaluation)  may partially be due to complexity
of the function). With a different function it may be faster. Thogh I am not sure, I have a feeling that another source
of slow speed is the use of the RevolutionPlot.

Best, Alexei

Hello,  I'm a high school math teacher,  currently working on some
lessons to teach the volume of solids formed by revolution.

I have some good starting points, a few animations and
demonstrations,  but if anyone would be willing to share any of their
nice illustrations/graphics/commands  I would welcome that.  It would
be helpful for my students and helpful for me to learn to use
Mathematica more effectively.

There are some nice examples at this website
that are done with Mathematica but the author has not published the
code so I am not sure how to create similar results.

I apologize for a very generic request.   For many on this group,
these are simple ideas to teach and program.  For me,  this is at the
limit of my mathematical and Mathematica knowledge and I'd like to
better understand and present these concepts.

If you have anything to share that might be more than a simple post to
this group,  you can email me at tidetabletom at

Sincerely,  Tom De Vries

Alexei Boulbitch, Dr. habil.
Senior Scientist
Material Development

ZAE Weiergewan
11, rue Edmond Reuter

Tel: +352 2454 2566
Fax: +352 2454 3566
Mobile: +49 (0) 151 52 40 66 44

e-mail: alexei.boulbitch at


This e-mail may contain trade secrets or privileged, undisclosed or
otherwise confidential information. If you are not the intended
recipient and have received this e-mail in error, you are hereby
notified that any review, copying or distribution of it is strictly
prohibited. Please inform us immediately and destroy the original
transmittal from your system. Thank you for your co-operation.

  • Prev by Date: Re: Color grid with x and y args to visualize effects of 2D
  • Next by Date: Re: Odd behaviour of solution of PDE
  • Previous by thread: Re: Solids of revolution
  • Next by thread: DatabaseLink and 64bit MSAccess ODBC driver woes