TOC
INDEX

Getting Started with 3D-Filmstrip

 

The main steps in using the program are:

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.


Documentation Table Of Contents.
Documentation Index.