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 expensive, 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 the same kind. Of course, there are quite a few 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 myself was to construct a view of the Dandelin spheres. This construction can be used 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 in question are:
- 2D packages that create 3D objects from views (E.g. C.a.R.)
- Plot packages showing objects in 3D (E.g. MyPad)
- CAGD programs for techical 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 around by the user.
C.a.R. is even able to use transparent polygons, so the user can look through the object. However, this is a rather classical construction, projecting points from 2D to the space with macros. Moreover, it does not use light effects. While this is useful and often sufficient, it does not count as a true 3D solution.
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 even create, handle and display objects composed by triangles. My own software Euler 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 this page (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 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 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.
Let us now discuss the two programs designed for interactive, dynamic 3D geometry. This means:
- We can construct and modify using the mose (interactive, visual).
- We can change the construction and view the results by dragging a basic point (dynamic).
Archimedes Geo 3D is currently my favourite for 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 non standard 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. However, 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.
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. In fact, 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 seems not to provide conics through 5 points in a plane.
- 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 should make possible plots of 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 developped. 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.







if the transparency have the actual thickness…there are some changes in your report???