Thank you both so much! I’ll give it a try over the winter break.
Mathematica includes much of C among its commands, and very long time ago I was quite good at Pascal. I didn’t use directly Java, but a very talented young fellow from Germany, Martin Kraus, now computer science prof at TU Munchen, wrote a very small compiler which takes a simple kind of instructions in Mathematica, of type x becomes y (no cycles allowed) depending on a few dragged points, and graphics with parameters turned on or off, no lighting or anything fancy, and makes out of this a Java applet. http://www.vis.uni-stuttgart.de/~kraus/LiveGraphics3D/
I made with it a program showing the action of the quaternions as symmetry, interpreting every point 4D regular bodies as special symmetries of 3D regular bodies.
Until a few weeks ago the browsers on Apple computers were giving Java about 256k of RAM, so my Leonardo Machine (as I called it - it used the tetrahedron as drawn by Leonardo) was crashing the browser window every 5 minutes or so. This was apparently remedied in MacOS 10.5 and Java is finally extremely stable and snappy. I can send anyone interested the Leonardo Machine: it works in any browser.
Besides the 4D graphics game I was speaking about (which has modest needs: about 2000 rectangles) I have now finished the design stage of a mechanical device - old fashioned, with 25 spherical cogwheels, The Quaternion Machine in the Quaternion Room. In the 11 x 11 x 11 ft cubical room the visitor moves around the room a point P, which is a quaternion projected into 3D space. In the middle of the room a 5 ft diameter spherical machine turns a 2.5 ft cube, a model of the room, which lies inside the sphere, precisely as rotated by the quaternion in the hand of the viewer - the axis is OP and the angle is 4 arctan |OP|. When your hand with P is at the vertices of a hypercube, the inner cube aligns with the room; when you are on the edges of the hypercube, a diagonal of the inner cube aligns with the room.
Again I have the machine in Mathematica, I just made a short movie of it in motion, and would like to implement it (25 wheels @ 600 rectangles each + extras = 20k rectangles - not too bad.)
I love the fact that quaternions, which fell out fashion in math 100 years ago, are back in a big way in 3D animation and games. The Quaternion Machine would be the first mechanical device which transforms a point - the quaternion - which you move around into the corresponding rotation. What is tricky is that the rotation axis as well as the angle are variable. I am looking now for a donor for the Machine - as people are quite fascinated by 4 dimensions, I hope I’ll have a chance to have it made (non-virtually), just like the sculpture was made.
In more practical terms, I have bought a while ago “Teach yourself Java 2 in 21 days” Is that book OK? Is there anything with exercises online?
Many thanks,
Adrian