Getting Started with 3D-XplorMath


Starting with version 10.5.6, we have added an alternative user interface that replaces the first two of the following steps. It was designed with a touch-screen in mind, and pull-down menus are replaced by pages of icons to be clicked. One may toggle between this new "click-image" interface and the old menu-driven one using the second entry of the "3D-XplorMath" menu.

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 choosing it from the the Category menu. As soon as you have chosen a new category, the first menu to the right of the Category 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 click-image Category page has 12 icons. After clicking a category icon, the corresponding page of object icons is presented. Icons are highlighted as the cursor moves over them. If the page is inactive, click Category in the Menu Bar or click the ||Select Category|| field at the bottom of the screen. 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.
After choosing a Category as described above:
2) Select 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. (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.) In the click-image interface one ignores the Main Menu and instead chooses objects by clicking icons on the object click-image page. These pages appear after one selects a category from the Category click image page as in 1) above. Inactive pages are made active by clicking the Main Menu head in the Menu Bar or the ||Select Category|| field at the screen bottom. 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.

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.

6) 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.

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-XplorMath (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.

Check out Hints For Using 3D-XplorMath and in particular the summary of mouse and keyboard controls there.

Things to Try

If you are new to 3D-XplorMath 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
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 tori whose conformal structures change. These tori are the stereographic projections of flat, embedded submanifolds of the 3-sphere  See the ATO for details. An interesting extra thing to try here is using the Settings menu to set the Clipping Distance to 14 and then use the mouse to start the torus spinning towards you after setting CapsLock in the down position. As the torus intersects the (invisible) clipping plane, the part behind becomes invisible and allows you to see into the interesting interior of the torus.
iv) Karcher JE Saddle Tower. The so-called Associated Family Morph of this minimal surface is one of the most striking animations that 3D-XplorMath 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, even more so if you select 'Show image on Riemann Sphere' from the Action Menu and then select 'StereoVision' from the View menu.
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-XplorMath 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 .2009-07-10 16:04:21.4990ĭJWȆJJKvJ.-L0 L:10b/2009-07-10 16:04:22.0021ĮJW+UJJKvJ.-L0L:10b0)=2009-07-10 16:04:21.499 DashboardClient[40112:10b] TRACE: 81t2{įJWPxJJJbJ1{Aqua0=2009-07-10 16:04:22.002 DashboardClient[40112:10b] TRACE: 81t3İJWZJJJbJ28Aqua12009-07-10 16:04:22.4993ĴJW@JJKvJ.-L2L:10b2{2009-07-10 16:04:22.9984ĵJW;JJKvJ.-L3L:10b3=2009-07-10 16:04:22.499 DashboardClient[40112:10b] TRACE: 81t5eĶJW@JJJbJ4eAqua3=2009-07-10 16:04:22.998 DashboardClient[40112:10b] TRACE: 81t5ķJW;XJJJbJ5"Aqua42009-07-10 16:04:23.4986ĻJWJJKvJ.-L5L:10b5e2009-07-10 16:04:24.0007ļJWhJJKvJ.-L6L:10b5=2009-07-10 16:04:23.498 DashboardClient[40112:10b] TRACE: 81t8OĽJWpJJJbJ7OAqua6=2009-07-10 16:04:24.000 DashboardClient[40112:10b] TRACE: 81t8ľJWNJJJbJ8 Aqua72009-07-10 16:04:24.4979JWxJJKvJ.-L8L:10b8O2009-07-10 16:04:24.998:|JW;JJKvJyL9L:10b8=2009-07-10 16:04:24.497 DashboardClient[40112:10b] TRACE: 81t;9JWPJJJbJ:9Aqua9=2009-07-10 16:04:24.998 DashboardClient[40112:10b] TRACE: 80t;JW;PJJJbJ:Aqua:|2009-07-10 16:04:25.500<JWCJJKvJ.-L;L:10b;92009-07-10 16:04:25.999=fJWyJJKvJ.-L#JWJJJbJ=#Aqua<=2009-07-10 16:04:25.999 DashboardClient[40112:10b] TRACE: 81t>