MathGroup Archive 2007

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

Search the Archive

Re: Fast interactive graphics

  • To: mathgroup at smc.vnet.net
  • Subject: [mg77946] Re: Fast interactive graphics
  • From: Helen Read <read at math.uvm.edu>
  • Date: Wed, 20 Jun 2007 05:34:27 -0400 (EDT)
  • Organization: Aioe.org NNTP Server
  • References: <f58d3p$8cl$1@smc.vnet.net>

John Fultz wrote:
> On Mon, 18 Jun 2007 06:50:42 -0400 (EDT), Helen Read wrote:
>> 
>> On a somewhat related note,
>> I find that rotating 3D graphics with the mouse in some situations
>> completely freezes up my 5-year-old PC (2.26 GHz, 1 GB RAM). It's quick
>> for a Plot3D or ParametricPlot3D of a simple surface, but if I combine
>> multiple graphics, the response is incredibly slow to the point of
>> freezing up. I ran into this when making up illustrations of
>> approximating the volume of a surface of revolution with 8 or so disks /
>> washers / cylindrical shells, which I put together with Table and Show.
>> The graphic renders pretty quickly (a lot faster than 5.2, on the same
>> PC), but it's pretty much impossible to rotate with the mouse. Hopefully
>> it will be more responsive in the classrooms where I teach, which have
>> newer computers.
> 
> Feel free to send me some of the examples you're seeing problems with, and 
> perhaps I can help you out.  Since you weren't very specific in this email, I 
> can't say too much.  You did, though, mention that you were plotting cylinders, 
> and so I should mention Cylinder[] and the Method->{"CylinderPoints"} option.  
> "CylinderPoints" is documented right at the end of this tutorial...

Thanks for point me to Cylinder[]. I had been constructing everything 
with ParametricPlot3D, and didn't know about the knew Cylinder[] 
graphics primitive. Cylinder[] works quite well, and I now have some 
lovely illustrations of approximating volumes with disks (a Table of 
stacked, opaque cylinders) and with cylindrical shells (a Table of 
transparent, nested cylinders). They look great, render in a reasonable 
time even on my old PC, and rotate easily with the mouse, without having 
to use the Method->{"CylinderPoints"} option.

The one graphic that's been causing the most trouble is the following.
The idea is to illustrate the use of washers (stacked on top of each 
other) to approximate the volume of a solid of revolution. For example:

f[y_]=1/12(18-y+9y^2-3y^4);
g[y_]=1-y/12-(y^2)/8;
RevolutionPlot3D[{{f[y], y}, {g[y], y}}, {y, -2, 2}]

Because of the "hole" in the middle of each washer, I was unable to come 
up with a way to do what I needed with Cylinder[]. (I tried concentric 
cylinders, with the idea of having the inner cylinder acting as negative 
space -- the hole -- but after much fiddling around with Opacity, Color, 
etc., I couldn't find a way to make it look right.) So here's what I 
have instead.

n=10;
dy=4/n;
Show[Table[RegionPlot3D[g[-2+(k+1/2)dy]^2 <= x^2+y^2 <= 
f[-2+(k+1/2)dy]^2,{x,-3,3},{y,-3,3},{z,-2+k*dy,-2+(k+1)dy}, 
PlotPoints->25,Mesh->False],PlotRange->Automatic]

Until I tried setting Mesh->False, this thing would freeze up my PC 
completely if I tried to rotate it with the mouse. With Mesh->False it's 
a lot better -- it's still a bit sluggish, but it will rotate with the 
mouse as long as n (and the number of PlotPoints) isn't too large. I 
think it will be fine on the newer computers in the classroom, but if 
you can think of a way to make it a little less sluggish and still look 
OK, let me know.

--
Helen Read
University of Vermont



  • Prev by Date: Re: Three problems with V. 6.0
  • Next by Date: Re: Maximum memory accessible by Mathematica 6.0 in Windows XP
  • Previous by thread: Re: Re: Fast interactive graphics
  • Next by thread: Re: Fast interactive graphics