What's New in Version 10.4 of

3D-XplorMath

There have been many recent changes to 3D-XplorMath. Some that lie beneath the surface may not be obvious to a casual user, such as improved coding and the removal of a number of subtle (and a few not-so-subtle) bugs. But there are also numerous quite visible changes that we hope our users will find both interesting and beautiful. These include the addition of many new objects, new kinds of rendering methods and animations, and improved documentation. We will discuss these below, category by category, but first, here is a quick description of several of the more noteworthy new features.

Phong Shading Option. 3D-XplorMath has always used so-called flat shading to color surfaces in patch mode. This means that for each patch (always rectangular in 3DXM) the correct color is calculated from the normal at the center of the patch, and the entire patch is given that color. This is quite fast, but unless the grid-spacing is very small it leads to unaesthetic sharp color changes at patch boundaries. A much more accurate and smooth color rendition is obtained by first calculating the normals at the vertices of a patch, and then using barycentric coordinates to interpolate the correct normal at every interior pixel and using this interpolated normal to choose the color of the pixel. This method, called Phong shading, is much more computationally intensive, and the computer graphics texts of ten years ago advised that it should be reserved for off-line use when very high quality was required, since it was too slow for real-time computer graphics. But the last decade has seen an enormous rise in the popularity of computer games that for their full appreciation require very high bandwidth graphics and, for competitive reasons, this has pushed computer manufacturers and graphics card fabricators to make very substantial improvements in the performance of the graphics sub-systems of even relatively modest computers. About six months ago we decided to see if this made it possible to do Phong shading to show surfaces in patch mode in 3DXM. We were very happily surprised at the quality of the resulting images, and even more at the speed of rendering. Running on even a moderately fast machine it is quite suitable for real-time use, and on a fast dual G5 the speed difference between Phong and flat shading is barely perceptible. The program still starts up using flat shading, but the user can shift to using Phong shading (and back to flat) using the View menu.

Dual Image Stereo Modes. 3D-XplorMath has always used the anaglyph technique to create stereo images of 3D objects. This means that the left-eye and the right-eye images are rendered on the monitor in different colors and are superimposed. They are then seen separately by the two eyes through the use of a different colored filters over each eye. This is remarkably effective and also has the advantage of being very inexpensive, since the bi-colored glasses required are both cheap and easily available. The major drawback to the anaglyph technique is that the color filters preclude having high quality color rendition. Over a hundred years ago, before anaglyph stereo, it was already common to take photographs of the same scene from slightly different viewpoints and then view these with a so-called stereopticon. That is, the left and right eye images are placed side by side and lenses or prisms used to focus the two images appropriately on the left and right retina. Of course this method works just as well in color as in black-and-white. In mathematical visualization, the objects do not have any intrinsic color, so anaglyph stereo is fine for most purposes, but it is still desireable to have the option of showing full-color stereo images of 3D objects, and we have now implemented this. In fact there are two so-called "dual-image" stereo modes now in 3DXM. The View menu, in addition to the former "Monocular Vision" and "Anaglyph Stereo Vision" items also has two new items, namely "Cross-Eyed StereoVision" and "Parallel-View Stereo Vision". In the first, the left-eye view and right-eye view are widely separated, with the left-eye view on the right and right-eye view on the left. With a little practice, most people can learn to fuse the two images by crossing their eyes (but don't do it for too long; it causes eye strain). In parallel view stero mode the images are closer together and not reversed, and must be viewed with some sort of stereopticon. Suitable inexpensive stereopticons can be found at several places on the web (for example, here ).

The 3D-XplorMath Web-Site and Gallery   The 3D-XplorMath project has had its own Website for nearly ten years. Originally it was a place from which one could download the latest version, and later a modest Gallery was added where various images created by the program were on display. Recently, the Gallery has been given a very major face-lift and upgrade by the new 3DXM Webmaster, Xah Lee, and it has now been expanded to a complete gallery of images of all surfaces in the 3DXM Surface menu. Each image can be rotated with the mouse, and has explanatory documentation, and many of them have accompanying animations in the form of Quicktime movies. Over time, we expect to expand this to include the other 3DXM categories (plane and space curves, polyhedra, conformal maps, ODE, lattice models, waves, fractals) so that gradually it will become a museum and explanatorium of mathematics.

The Plane Curve Category

The Plane Curve menu has been rearranged into more logical groupings.

The User Graph item has a new feature that shows approximations to the graph using Taylor series, Lagrange polynomials, and Fourier series.

It is now possible to choose to have tick marks on the x and y axes, using the final item on the View menu

There is a new animation mode for plane curves that we call Color Morphing. When this is selected, instead of a series of curves being created on different canvases that are "played back" as a motion picture, all the curves are drawn on the the same canvas but in different colors. In effect, color replaces time to distinguish the different stages of the morph. This can be very striking and show features that are not easily evident in the animated version since it allows careful comparisons between the various stages. We recommend trying this on the Cassinian Ovals.

There is now much improved descriptions of the various plane curves. Xah Lee has imported much of the material from his Famous Curves website into the ATOs for a number of the plane curves. As an example, select Astroid from the Plane Curve menu and then select About This Object from the Documentation menu.

A new Epi- and Hypocycloids selection has been added to the Plane Curves menu.

The default morphs for many of the plane curves have been improved.

The constructions that 3DXM shows (automatically) for Ellipses, the Epi-and Hypocyloids can now be compared with analogous constructions on the sphere associated to two new items in the Space Curves category, Spherical Ellipse and Spherical Cycloid. See below.

The Space Curve Category

While this category has been relatively unchanged for a long time, in Version 10.3 there are a number of significant and interesting changes.

The Space Curves menu has a new group of Spherical Curves, i.e., curves that lie on the Sphere. Two of these, the Spherical Ellipse and the Spherical Cycloid are close analogs of the planar ellipse and planar cycloid, and their demos are conceived with the goal of emphasizing the close analogies between Euclidean and Spherical Geometry. When the Spherical Ellipse is the selected object, choose Show Spherical Ellipse Demo from the Action menu, and when the Spherical Cycloid is selected, choose Show Rolling Circle.With both, be sure to select About This Object and About Spherical Curves from the Documentation menu. Show Osculating Circles with Evolutes is pretty and interesting for the Spherical curves and several of the other space curves as well. The Stereo View enhances this section a lot.

The family of torus knots is no longer alone: we have added the connected sums of two torus knots, placed on a genus 2 surface.

The Surface Category

As usual, perhaps the most striking and important changes have been in the Surface category. In particular there are now two new rendering modes, one for parametric surfaces (Phong Shading---see the detailed discussion above) and one for implicit surfaces which we call Dot Cloud Rendering. For the latter, we have developed an algorithm that we believe is new (although the mathematical idea behind it is very old!) to sprinkle dots randomly on an implicit surface with a density that makes the number of dots in any region of the surface proportional to its area. This works particularly well in stereo where it gives a method for seeing all sheets of a complex immersed surface at once and detecting the structure of the self-intersections. It also displays the contours of the surface well. One can also use this to do interesting vision experiments with the dot-clouds in the dual stereo modes mentioned above.

There are two new surface coloring options, color by Gauss curvature and color by mean curvature. These are available only for parametric surfaces, and are turned on from the Surface Coloration submenu of the Action menu:

   Action>Surface Coloration>Hue = Gauss Curvature   and   Action>Surface Coloration>Hue = Mean Curvature 

There have been very significant additions and improvements to the ATOs of many of the surfaces.

In the minimal surface subcategory, additional dihedral symmetries have been added to DoubleEnneper and Symmetric4Noids, and "wavy" perturbations have been added to the ends of PlanarEnneper and Riemann.

Twisted Scherk now allows deformations almost to the degenerate limits.

An entry Show Normals, has been added to the Action menu. This can be used to illustrate that the Gauss map of a minimal surface does not depend on the associate family parameter.

A new sub-category called Surfaces of Revolution has been added. It displays surfaces of revolution having constant curvature in various different senses. Be sure to check out the CMC (constant mean curvature ) case---namely the so-called Unduloid, and its About This Object.

Chuu-lian Terng has programmed in a remarkable collection of surfaces (the Ward Solitons) that show graphs of energy density as a function of time for a class of two-dimensional solitons. The animations associated with these surfaces are striking---and a little mysterious too. Since they are rather sophisticated and not easy to explain in a few words, we recommend choosing one of them and then selecting About Ward Solitons from the Documentation menu.

With the help of Paul Bourke and Luc Benard, we have made it possible to export surfaces created in 3D-XplorMath directly (using the File menu) as either .inc files (readable by POVRay) or as .obj files (readable by Bryce and other 3D programs).

The Conformal Map Category

No changes.

The Polyhedron Category

For each of the regular polyhedra (except for the cube itself) there is now an item "Show Relation to Cube" at the bottom of the Action menu. Selecting this brings up a graphic that shows the polyhedron incscribed in or circumscribed about a cube in a way that suggests how the polyhedron can in fact be created from the cube.

The ODE Categories

Only the Lattice Model subcategory has been changed significantly. We have in particular gone over the numerical algorithms with considerable care since we have plans to do a careful rerun of the famous Fermi-Pasta-Ulam experiments of half a century ago that both ushered in the use of computers as an experimental tool in mathematics and theoretical physics, and also led indirectly to the discovery of solitons. There is one new viewing mode that is connected to these plans: during the display of a lattice model evolution in transverse mode, if the Shift key is depressed then the display will shift to a graph of the energy distribution among the various modes as a function of time (corresponding to the graph on page 12 of the research report on the FPU experiments).

The Wave Category

No significant changes.

 

The Fractals & Chaos Category

The accuracy of computations of Julia sets has been improved.