Geometry in 3D
Recently I tried my skills on two dynamic 3D geometry programs, Cabri 3D and Archimedes Geo 3D. Both are reasonably priced packages, affordable for school teachers.The Cabri school license is a bit on the expensive side, however. While there are numerous programs for 2D geometry (one of them written by the author of this blog) there are very few 3D programs. Of course, there are quite a lot CAGD (computer aided geometric design) programs, even free ones, but I will explain here why these programs do not satisfy the needs of the geometry teacher.
The job I posed to myself was to construct a view of the Dandelin spheres. The mathematical content of this construction is to prove that the intersection of a plane with a cone is actually an ellipse.
We need to compare the two programs with other 3D programs offering a similar scope of features. The categories to be considered here are:
- 2D packages that create 3D objects from views (e.g. C.a.R.)
- Plot packages showing objects in 3D (e.g. MuPad)
- CAGD programs for technical design of 3D objects (e.g. Blender)
- Raytracing programs rendering virtual worlds (e.g. PovRay)
There are 2D geometry programs, which can be used to construct and view 3D objects. E.g., my own program C.a.R. can be used for this purpose. View this example to see a full 3D object with hidden sides in vanishing point projection that can be turned by the user.
C.a.R. is even able to use transparent polygons, so the user can look through the sides of the object. However, this is a rather classical construction, projecting points from 2D to the space with macros. Moreover, it does not show the effects of light. While this is useful and often sufficient, it does not count as a true 3D solution. It is a two dimensional trick.
The variety of plot packages, which can produce 3D plots is rather large. Most numerical packages can also do 3D plots of functions, data sets or points in space. Algebra packages like Maple can usually create, handle and display objects composed by triangles. My own software Euler Math Toolbox can plot functions in 3D in anaglyph mode. View the following plot with red/cyan glasses. For more examples, look at the home page of Euler.
The Dandelin spheres have been done (for a cylinder) on a page at the Univ. Lüneburg by Prof. D. Haftendorn using the Algebra software MuPad. To create such a plot in an algebra program, coordinates for the various objects have to be computed. Of course, the Algebra system itself can help to compute these coordinates. The expressions and the programming can get rather involved, however.
Blender is an example of a CAGD program. The following model is from their homepage and typical for the objects this category of software can do. The main problem when using this for 3D geometry is the enormous complexity the user is facing. And yet, some of the simple, but important things we need for mathematical demonstrations are still missing, or can only be emulated with difficulties. CAGD is designed to hide mathematics from the user, not to explain mathematics.
Raytracing tools are directed towards an even more realistic view of scenes. PovRay is an example using a programming language to describe scenes. The language can define basic objects, including color and shading. It can even intersect or unite these objects. This is rather mighty, and can solve our problem. However, it is pretty complicated. Moreover, it is not interactive.
Since about Version 18, Euler Math Toolbox can call Povray to generate photo realistic images. This is convenient, since Euler can be used to do the necessary mathematical computations. See this page for details. In fact, I think this is the most easy to used and the most pleasant solution. It does not have the capabilities and the interactivity of true geometry programs.
Let us now discuss the two programs designed for interactive, dynamic 3D geometry. This means:
- We can construct and modify using the mouse (interactively, visually).
- We can change the construction by dragging a basic point (dynamically).
Archimedes Geo 3D is currently my favorite for dynamic geometry in 3D. Almost the only weak spot is the interface, which is a bit out of touch with GUI standards, and does not often work as expected. It must be said, however, that one can do what needs to be done. It just take some time to get used to. On the other hand, the interface has been ported to Windows, Linux and Macintosh, which might explain the nonstandard approach.
This is my solution to the construction problem in Archimedes Geo 3D. In this construction, the cubed red point can be moved around the green circle. The other points on the ellipse and on the other circle, and the segments will follow.
As you see, one of the problems of this type of graphics is transparency. The cone and the plane intersecting it can be recognized in the construction, since they are transparent planes. However, it is not quite clear that the spheres really touch the plane and the cone. The „thickness“ of transparent objects can be changed. I had to struggle to get a setting, which shows that the focal point of the ellipse really is the point where the sphere touches the intersecting plane.
Note, that you can turn the construction interactively. Of course, this is an enormous help when trying to understand the 3D layout of the objects. It will also make the touching obvious, whenever the ellipse is viewed directly from the side. Archimedes Geo 3D can also show anaglyphs for red/cyan glasses, and some other stereo projections. Of course, such 3D views are a great help to understand the geometry too.
Let me talk about the construction, which is rather involved.
- The cone is not an object, but a track. In fact it is a track of a line with one fixed point and another point running around a circle. Archimedes 3D comes with a macro for a cone, which I could have used. By the way, the program can do very nice tracks. E.g., it can create the parabolic surface with equal distance to a point and a plane! It can even intersect with tracks, which is a very powerful feature!
- The ellipse is the intersection of a plane and the cone (a track). The program does not provide conics through 5 points in a plane, as does the 2D program C.a.R.
- The construction of the spheres is rather complicated. I use the included macro „middle surface between two points“ to find the angle bisector in a triangle (the blue line is one side of this triangle). This yields the centers on the symmetry axis. Then the touching points are constructed easily using the perpendicular line tool.
The program has much more to offer. E.g., it allows computations with expressions. This allows to plot functions of two variables or parametric curves.
The other program I tried was Capri 3D. Cabri is well known for its 2D dynamic geometry. In fact, it was the first dynamic geometry program I ever saw, and may be the first ever developed. The 3D version comes with a very clean, clear interface, following the usual standards.
Here is my solution in Cabri 3D.
One of the obvious problems is missing or at least deficient transparency. Instead, Cabri uses patterns on the surfaces creating holes you can look through. There is indeed some transparency, as you can see through the ball in the magnification below. But if the cone surface is filled, the balls will be hidden. The problem with this kind of presentation is that many people find it difficult to see correctly which side of the cone is the front, and which is the back. Things get much better, if you turn the object yourself, but the image is certainly unsatisfactory.
Despite this shortcoming in visual appearance, I find the program very nicely done. Construction went smooth, and I could do all I wanted to do easily. It is not as powerful as Archimedes 3D. E.g., it does not have tracks (so the cone is an object here). But it makes up for this with a clearer GUI, which is important for the average user.
For me, it will not be the program of choice unless it catches up in features a bit.
I would like to see other solutions to this done in other systems. Searching the Net reveals a lot of pictures of the Dandelin spheres. However, I could not find much explanation on how these images were done.