- 1) Choose a Category to work
with.
- When the program starts up, the Surfaces
category is chosen by default. However, you can change to a
different category by selecting it from
the Category menu. As soon as you have
chosen a new category, the first menu to the right of the Edit
Menu changes to the name of that category, and we will refer to it
as the Main
menu; so that when the program starts
up, the Main menu is the Surfaces menu, but
as soon as you choose say Planar Curves from the Category menu
then the Main menu becomes the Planar Curves menu. The
Documentation Menu contains an item
About This
Category, This brings up a window
that explains some mathematical and programming features of the
currently selected category, what facilities are provided by the
program to help visualize objects of the category, and how to
access these facilities.
-
- 2) Choose a particular object
from the Main menu.
- For example, if the current category is
Surfaces, you might choose Paraboloid, Hyperboloid, Monkey Saddle,
Whitney Umbrella, etc., or an item from one the several submenus
of the Surface Menu (Non-orientable, Pseudospherical, Minimal).
This will produce a default view of this object. Instead of
choosing one of these pre-programmed objects you can, for most
categories, also choose User
Defined... from the Main menu, which
will bring up a dialog permiting you to enter formulas describing
some other object of the category. You can then click OK to get a
default view of the object described by your formulas, and then go
on to set various parameters and viewing options as described
below. But if you hold down the Option key as you select an
object, you will be spared waiting for the default view to be
drawn, and can go right to setting these parameters and options.
Selecting Create from the Action menu will cause the program to
redraw the current object with the current choices of parameters
and options.
-
- 3) Read the ATO (About This
Object).
- When you select a pre-programmed object
from a Main menu for the first time, you should get into the habit
of selecting About This Object
(ATO)
from the Documentation menu. This will bring up a window providing
more or less detailed information about that object. At the least
this window will show the formulas used by the program to create
the object, and thus in particular how the object depends on the
nine parameters aa,bb,...,ii.. This is the what is required in
order to see how to change the parameters or how to set up
morphing animations. Gradually more detailed information is being
added to the ATOs, explaining features of various objects and what
makes them of special interest. Objects with such a detailed ATO
are singled out by a blue diamond to their left in the Main
menu.
-
- 4) Optionally, use the
Settings
menu.
- This will permit you to change (from
their default values) various parameters
that determine the shape of the object, its resolution
and scale,
etc. (These are explained in more detail elsewhere.) Curves and
surfaces can be specified in a number of different ways, but one
of the primary ways is "parametrically", as certain functions of a
variable t for curves and of variables u,v for surfaces. Another
item in the Settings menu brings up a dialog that permits the user
to set the minimum and maximum values of these variables. For the
differential equations categories there is a Settings menu item
that allows the user to set the initial conditions and length of
time for which the solution will be traced, and also the step-size
that will be used in the Runge-Kutta algorithm that computes the
solution.
The Custom... item of the
Set
Light Sources submenu of the Settings
menu brings up one of the more complex dialogs of the program.
This lets the user set the color of the five light
sources (Source0, Source1, Source2,
Source3, and AmbientSource) and the direction of the light rays
from Source1, Source2, Source3. The two parameters that determine
the how shiny a surface is (SpecularExponent and SpecularRatio)
are also set using this dialog. When SpecularRatio is zero the
surface has a matte appearance, and when it is one the surface is
mirror-like (see Phong
Shading for details). This dialog is
also used in combination with the Set Coloration submenu of the
Action menu to determine the color of a surface when the Color
item of the View menu is chosen. See the documentation on
Color for
more details.
There is a Set
Monitor submenu of the Settings menu to
set the number of available colors. This has the same
functionality as the Monitors Control Panel, but it is preferable
to use this menu since the program will know immediately about the
change you make and take steps to optimize for the new setting,
but if you should use the Monitors Control Panel then the program
will figure it out after a while, and do the right thing. Any
change made using the Set Monitors menu will be reversed when you
quit 3D-Filmstrip. If possible you should use "Thousands of
colors" (i.e., 16-bit color). Millions of colors will give even
better quality, but it will require much more
memory.
-
- At any time, after you have made changes
using the Settings menu, you can select Create from the Action
menu to see what the selected objects looks like with these
modifications.
-
- Details of the Settings menu
appear elsewhere.
-
- 5) Optionally, use the
Action and
View
menus.
- The View menu lets you select among
options that determine how an object will be displayed. For
example, it has selections that allow a user to choose whether
axes will be displayed, whether a surface will be "oriented" (and
if so its orientation), whether it will have the same or different
color on both sides, whether it will be seen in perspective or
orthographic projection, whether wire-frame or patches will be
used, whether coordinate axes will be displayed, etc. The View
menu also lets you choose between a white or black background, And
if you have a color monitor and the proper red/green glasses then
you choose Stereo
Vision from the View menu to switch
between a normal and a stereo display of a 3D object such as a
surface, space curve, polyhedron, or orbit of a 3D ODE. (If you
don't have a pair of these glasses, click
here for directions on how to obtain
them.) Using the stereo vision features of the program is
particularly important, in fact almost essential, for the Space
Curves Category, since it is nearly impossible to get a feel for
the geometry of a space cuve from a projection of it onto a
plane.
There are some important differences
between the Settings, View, and Action menus. Selecting an item
from the Settings menu usually brings up a dialog that lets you
alter values of certain numeric parameters while, as just
mentioned, the View menu let you choose between various viewing
options. Making a change using the Settings menu does not result
in an immediate redisplay of a selected object, while choosing an
item from the View menu usually causes an immediate
redisplay---unless the option key is pressed while selection is
made. (Depressing the option key will also prevent an object from
being drawn when it is chosen from the Main menu. So it is
possible to choose a new object and then make various changes
using the Action, View and Settings menus before displaying it for
the first time.) Finally, the Action menu is context sensitive,
i.e., its items are determined just at the moment it is pulled
down, depending on the current category, the specifics of the
current object, and the other choices that have been made from the
View and Settings menu. For exzmple, in some ODE categories you
can select the items Show Direction Fields and Project ODE Orbits
in the View menus to turn these features on and off.
- 6) Change the
Aspect.
- If the object is three-dimensional, you
can use the many items in the Aspect
menu to change the "aspect
parameters" (viewpoint, viewdirection
and focal length,...) in various combinations to allow you to see
many different views of the object.
But there is also a much easier and more
convenient way to rotate 3D objects using the mouse, called
"Virtual Sphere Mode". See Manipulating
3D Objects for details.
In the Plane Curve Category or the
Conformal Map category, if you click and drag then the object in
the Graphics Window will follow the mouse around. If you now
depress the Shift key and move the cursor up or down then the
object gets smaller or larger. Morever, in these two categories,
if you hold down Command and then drag out a rectangle in the
usual Mac way, then when you release the mouse (with Command still
down) your selection rectangle will zoom to the entire
window.
WARNING: The last two items of the Aspect
menu are called "Look at Origin From..." and "Set Aspect
Parameters...". The former is fairly innocuous and behaves more or
less as expected. However, do not play with the latter unless you
know exactly what you are doing (except perhaps to change the
"EyeSeparation"
if the stereo effect is exaggerated or insufficient). If you don't
understand the way the viewing mechanism works, then changing the
Aspect parameters in this way can have surprising and
non-intuitive results. If you get in trouble using Set Aspect
Parameters..., just re-select the object you are working with in
the Main menu to get back to the defaults. For more detail see the
Aspect
Menu
-
- 7) Animation.
- For those categories where it makes
sense, you will be able create various kinds of animations of an
object. To create a "filmstrip"
type of animation, first select Filmstrip Animation from the
Animate menu and then select either
Morph,
Rotate, or Oscillate from that menu to start creating the
"filmstrip".
As soon as the filmstrip is created it will start to play back. To
abort
the playback either type Escape or Command period, or hold down
the mouse button until the end of the filmstrip is reached. (You
can also temporarily Pause
the playback by holding down the spacebar.)
- [Initially, playback speed is as
fast as possible---and on a fast machine this may be too fast.
The program controls the playback speed by adding a certain
number of "ticks" (i.e., sixtieths of a second) between
successive frames. To change
the playback speed while a filmstrip is being played back,
press the right-arrow key to add ticks, or the left arrow key
to subtract ticks.
-
- In many cases default morphing
parameters have been chosen that emphasize some interesting but
perhaps non-obvious geometric properties of the object, so when
you start experimenting with a new object, it is a good idea to
try out the default morph. Other morphs are sometimes suggested
by the
ATO.
-
- When the playback of a filmstrip is
interrupted at a particular frame (by typing Escape or Command
period), it can be restarted at the same frame by typing
Command P. The Settings menu has an item to permit the user to
set the the number of frames in a filmstrip. There is also an
item that lets the user change the way an object is deformed
during a Morphing filmstrip. These are explained in more detail
in the discussion of the Settings
menu.
-
- As well as this "filmstrip" type of
animation there is also another type called "real-time" animation,
and you also choose between them using the Animate menu. For
real-time animation each "frame" is created on the fly, as needed.
This works fast enough to be quite acceptable on most recent
machines, except that for Surfaces in "patch" mode it is a little
slow, so the program shifts temporarily to wire-frame display mode
during real-time animation of surfaces (unless the caps-lock key
is down). While filmstrip animation is capable of higher quality,
the advantage that real-time animation has over it is that a
filmstrip with more than a few frames requires lots of RAM. (And,
you don't have to wait while the program makes up the
filmstrip.)
After creating a filmstrip, you can save
it as a QuickTime movie by choosing "Save Animation as Movie..."
from the File menu. There are several important advantages to
doing this. First, a movie can be started up almost
instantaneously, while creating a complicate animation from
scratch may take several minutes, and secondly a QuickTime movie
can easily be converted to a format that will play on other
platforms (Unix and Windows in particular). The main disadvantage
is that even a fairly short movie can take several hundred Kb of
disk space. Movies can be played back using any of a number of
movie player utilities, and there is even a primitive player built
in to 3D-Filmstrip (choose Open Movie... from the File
menu).
-
- There is also a Grand
Tour submenu of the Animate menu. This
allows the user to create a custom filmstrip by using the Aspect
menu to choose a sequence of different views of a
three-dimensional object---essentially "flying around" in the
virtual mathematical space that the program creates---and snapping
frames as one goes.
-
- .
-
- Hints
-
Check out Hints For Using
3D-Filmstrip and in particular the
summary of mouse and keyboard controls there.
-
-
-
-
Things to
Try
-
If you are new to 3D-Filmstrip and would
like to get a feeling for some of its capabilities, here is a list
of suggestions for you to try out.
Examples that are particularly recommended are marked by
*
Examples that require stereo glasses are marked by
(STEREO!).
Each time you start working with a new category, it is a good idea
to select About This Category from the Documentation menu. This
will give you some basic training in the use of the category.
Similarly, each time you start looking at a new object, it is a
good idea to select About This Object from the Documentation menu
(or click the ATO button in the small Special ATO! window
if it is showing.).
In the Plane Curve and Conformal Map categories, there is a
lot of mathematical linkage between various objects, and this is
reflected by numerous cross-references in the corresponding
ATOs.
-
- A) Plane Curve Category:
- i)
*
The first six objects in the
menu are the conic sections, and here are instructions for a
"short course" on these wonderful curves. Start by selecting
the
Circle,
and then select Show Generalized
Cycloids from the Action menu.
Stop the action by clicking the mouse and then select About
This Object from the Documentation menu. After perhaps
following some of the suggestions in the ATO, select
Ellipse,
Parabola,
and
Hyperbola
and for each of them read the ATO.
For the Parabola
select Show Normals Through Mouse
Point from the Action menu, click on any point, then without
releasing, drag the mouse around in the graphics window. Next
select Conic
Sections and read its ATO. Finally
select Kepler Orbits,
and after the animation stops,
read the ATO, and then choose "Show Derivation of Inverse
Square Law" from the bottom of the Action menu.
- ii) For another short course, this
one on "rolling curves", select Cardioid, Cycloid, Astroid,
Limacon, and Nephroid, and as usual, read their
ATOs.
-
- iii) Take a third short course,
this one on Addition on Cubic Curves, by first selecting
that title from the Topics submenu of the Documentation
menu. After reading that document, select
Cubic
Polynomial Graph, Cuspidal
Cubic, Cubic As Rational Graph I, Cubic As Rational Graph
II,
and
Elliptic Cubic.
-
- B) Space Curve Category:
- i)
Torus
Knot.*
(STEREO!)
After selecting Torus Knot from
the Space Curve menu, rotate the curve by dragging the cursor
in the Graphics window, and note how it gives you some feeling
for the 3d character of the knot. Now, put on your stereo
glasses, select Stereo Vision from the View menu and the knot
should jump out of the screen. Once again rotate the knot with
the mouse. Next, select Show Repere Mobile in the Action menu,
and then select Show Projection on Normal Plane. Switch back to
Monocular viewing in the View menu, and then select Show As
Tube in the Action menu. Note that the colored lights shining
on the tube from different directions now gives your eyes the
clues it needs to see the 3d structure of the knot, almost as
well as stereo viewing does.
-
- C) Surface Category:
- i)
Planes, Cones, and
Spheres!*
(STEREO!)
After selecting, choose Morph from
the Animate menu. Click the mouse to stop the animation, then
choose Show Dandelin
Spheres at the bottom of the
Action menu. Click in the title bar to stop the animation, and
then select About This Object from the Documentation menu to
read an explanation of what you have just seen.
- ii)
Klein Bottle
First select
Moebius
Strip from the Non-Orientable
submenu to recall what that surface looks like, then select
Klein
Bottle from the same menu. Next
choose Filmstrip Animation followed by Rotate, both from the
Animate menu. Stop the rotation (either instantly, by typing
Command <period>, or at the end of the next full
rotation by holding down the mouse button. Finally, select
Morph from the Animate menu to see a Moebius strip grow into
a Klein Bottle. If you have stereo glasses, you may want to
repeat these experiments in stereo vision.
-
- iii)
Pinkall's Flat Tori
(This involves some fairly
advanced mathematical concepts.) After selecting Pinkall's
Flat Tori from the Surface menu, select Filmstrip Animation
followed by Morph, both from the Animate menu. You will see
a family of embedded flat tori whose conformal structures
change. See the ATO for details.
-
- iv)
Karcher JE Saddle Tower. The
so-called Associated Family Morph of this minimal surface is
one of the most striking animations that 3D-Filmstrip
produces, But first, to prepare for it, let's look at a
simpler example. Choose Helicoid-Catenoid from the Minimal
Surface submenu, and then select first Filmstrip Animation
and then Morph from the Animate menu. Observe the surprising
fact that, even though the surface is changing its shape
radically, the intrinsic metric geometry of the surface
(lengths of curves and angles between curves) is unaffected!
This is a little like what happens when unrolling a cylinder
or a cone, but it is much more surprising here since these
surfaces are not flat. It is a general fact of minimal
surface theory that minimal surfaces come in one-parameter
families (called associated families) and the Helicoid and
Catenoid are in one such family. Now choose Karcher JE
Saddle Tower from the Minimal Surface menu, and select
Associated Family Morph from the Animate menu. If you have
stereo glasses, try switching to stereo vision in the View
menu and again choose Associated Family Morph from the
Animate menu.
-
- D) Conformal Map Category:
- As mentioned earlier, the
ATOs in this category are
highly cross-referenced. In fact, taken together they
provide an abbreviated intoduction to conformal mapping.
After selecting About This Category from the
Documentation menu and looking at the resulting file,
perhaps start by selecting z
---> z^2 from the Conformal map menu and
practice drawing a few lines and
circles (by choosing Choose Line By Mouse and Choose
Circle By Mouse from the Action menu). In particular, try
drawing a circle with center on the positive real axis
that is tangent to the imaginary axis. Can you guess what
its image is? Next select About This Object from
the Documentation menu (or click the ATO button in the
small Special ATO! window), and start experimenting with
the various suggestions you will find there and in the
ATOs of other conformal maps that are mentioned in the
ATO..
-
- i)
z ---> e^(aa z).
The exponential map is
actually implemented as exp(aaa z), where aaa is a
complex parameter, say aaa = a + i b. Note that this
amounts to precomposing z ---> exp(z) with the map
that stretches z by a factor r = sqrt(a^2 + b^2) and
rotate it by an angle theta = arctan (b/a). In the
default morph, a is 1 and b varies from 0 to 0.4, so the
standard parameter lines---circles and straight
lines---are gradually deformed into
spirals...
-
- ii)
z ---> (z + cc) / (1 +
conj(cc) z) The unit disk in
the complex plane is one model for the famous hyperbolic
geometry. In this model the isometries are represented as
certain fractional linear maps that map the interior of
the unit disk to itself. One example is the family of
maps z ---> (z + cc)/(1 + conj(cc) z), which represent
translations in the hyperbolic geometry. The default
morph is a fascinating movie that shows how the real
diameter gets ''translated'' inside the unit
disk.
-
- iii)
Elliptic
Functions.
These are functions of
degree 2 from a torus to the Riemann sphere. These are
angle preserving, and we map a grid whose meshes are
similar to a parallelogram fundamental domain of the
torus, so each image shows which torus has been mapped.
The default morph shows how the covering of the sphere
changes as the torus changes. While the details of these
pictures are not really elementary, the view is certainly
beautiful in a very straightforward way.
-
- E) Polyhedra Category:
-
- i)
Icosahedron.
Try rotating the Icosahedron by
dragging it with the mouse. Put on your stereo glasses,
select Stereo Vision from the View menu and rotate again.
Next, select Wireframe Display from the View menu and again
try rotating. Now select Morph from the Animate menu, and
watch the Icosahedron deform to a Buckyball and back. Now go
back to the default view by selecting Patch Display and then
Monocular Vision from the View menu, and then select Create
Stellated from the Action menu and rotate this stellated
form of the Icosahedron.
-
- F) ODE Category:
- a) 1D 1st Order
- i)
Logistic
Click at various points in
the window to draw the orbits through these points, and
in this way get a feeling for the phase
diagram.
- b) 1D 2nd Order
- i)
Pendulum (Second
Order).
Again map out the phase
diagram by clicking at various points to draw the
orbits through those points.
-
- ii)
Forced
Oscillator.
Notice the difference! This is
a non-autonomous system, i.e., the vector field defining the
ODE is time dependent. In particular, different orbits can
cross.
-
- c) 2D 1st Order
- i)
Volterra-Lotka.
This is the famous original predator-prey model of
ecology.
-
- d) 2D 2nd Order
- i)
Foucault
Pendulum. This models the
way the plane of a bob pendulum will precess due to
the rotation of the Earth..
-
- e) 3D 1st Order
- i)
Lorentz.
*
(STEREO!)
This is the equation that
started Chaos Theory. Watching the evolution in stereo
vision is a major improvement. The parameter aa is
related to the Reynold's number and is usuually set to
28. The standard morph varies aa from 12 to 32 and
exhibits two bifurcations, the second of which appears
in the eighth frame and is the transition to the
chaotic regime. It is also interesting to create a
rotation filmstrip animation, which shows more clearly
the 3d nature of the Lorenz attractor.
-
- f) 3D 2nd Order
- i)
Magnetic Dipole
Field.*
(STEREO!)
This is one of the most
remarkable and striking visualizations that 3D-Filmstrip
produces. What you are seeing is a representation of a
charged particle from the Sun's plasma that has become part
of the Van Allen Belt and is moving under the Lorentz force
from the Earth's dipole magnetic field. The field lines of
the dipole field are also shown.
-
-
- g) Central Force
- i)
Power Law
Look at the ATO, and note
that bb is the exponent. Select Set Parameters in the
Settings menu, and set the exponent bb to - 2. Then,
first choose Erase and then Create from the Action
menu. Note that the orbit no longer precesses (the
force law is now just the inverse square law of the
Kepler case). Next set bb to -1.99 and then Erase and
create again, and note that the precession is in the
opposite direction. Erase again and choose Slow Orbit
Drawing and then Create from the Action menu. Select
IC By Mouse (Drag) from the Action menu, and then
click and drag in the Graphics Window to set an
initial position and velocity vector. Now, think up
your own experiments.
h) Lattice Models
- i)
Fermi-Pasta-Ulam.
Notice how the wave
profile at first evolves just like the fundamental
mode of a vibrating elastic string. But gradually the
profile deforms as the non-linearities of the
underlying lattice model perturb the motion. What is
remarkable is that in a surprisingly short time the
profile returns again very nearly to its initial
state. Fermi, Pasta, and Ulam had expected that the
non-linearities would quickly "thermalize" the
lattice, which would mean that the string would have
the shape of a nearly random superposition of
high-frequency modes. The mystery of why
thermalization did not occur led to the discovery of
the soliton by Zabusky and Kruskal. (See KdV Two
Soliton in the Wave category, below.)
-
- ii)
Toda.
This is another famous
experiment where thermalization does not occur. Whereas
the Fermi-Pasta-Ulam experiment was set up
to investigate wave motion, the
Toda lattice represents the motion of a row of particles
connected by springs (a one-dimensional lattice). To
observe this, choose Toda from the Lattice Models menu,
then choose Set Lattice Parameters from the Action menu.
Click the button for Longitudinal Display, then choose
Create from the Action Menu. The particles initially move
"in unison" but soon the motion appears to become quite
random. Again, the surprising feature of this experiment
is that the random motion does not persist, but returns
to something close to the original state. It is probably
easier to observe this by using the (default) Transverse
Display, however, in which the displacements of the
particles are represented vertically. This shows,
incidentally, how the motion of a lattice approximates
the motion of a wave and indeed the Fermi-Pasta-Ulam
experiment was set up in exactly this way. The lattice
version of the latter can be observed by selecting
Longitudinal Display in the same way as for
Toda.
-
- G) Wave Category:
-
- i)
KdV Two-Soliton.
This animation replicates the
results of some numerical experiments of Zabusky and Kruskal,
coming from interesting theoretical investigations they made in
an attempt to understand and explain the anomalous behavior
found by Fermi, Pasta, and Ulam (see above under Lattice
Models).Simple as it is, this example of a computer generated
mathematical visualization is not only one of the earliest, but
it is also one of the most famous and important of all time,
for it shows with great clarity the remarkable nature of the
new phenomenon of soliton interactions, In fact the name
Soliton was invented by Zabusky and Kruskal based on this
experiment.
-
- ii)
Cubic Schrodinger Two Soliton.
(STEREO!)
This visualization is not only
striking and beautiful in its own right, but it also has a
remarkable interpretation: it models two bits of information
travelling past each other in opposite directions on an
optical fiber.
-
- iii) Wave
Group and Envelope. This illustrates
the distinction between phase
velocity, the speed of the short
wavelength waves in the wavetrain, and
group
velocity, the speed with which the
envelope of the wavetrain (shown in blue) is moving.