A LOOK AT MATHVISION Introduction - Computers and Mathematical Art Without doubt, one of the most exciting applications of the new generation of personal computers is in the field of mathematical visualisation. We have all admired the photorealistic products of ray-traced rendering, the humourous results of "morphing", and the ingenious picture wipes used by video producers; not to mention the astounding images of the fractal art that have become an icon of today's computing lore. This once arcane and remote subject, strictly for the technically minded, has now captured almost everyone's attention. Powerful graphics computers have allowed some impressive stabs at computer art, including computer (virtual) sculpture and animation; and it is only natural for computer enthusiasts to look for a general-purpose programming package, that will be flexible enough to allow them to try out ANY mathemnatical visualisation. A. Overview of MathVision One of the strongest contenders to fit this bill on the Amiga, is the program "MathVision" from Seven Seas Software. It is a general-purpose mathematical visualisation program, which means it is not specialised for any particular task; with a little work just about any image with a corresponding mathematical formula can be created. Operations can also be performed on existing IFF pictures. The program started life many years ago as a basic 2d-3d-contour plotter, but has gained many enhancements and is now an extremely powerful graphics prototyping tool. 1.Speed Interactive graphics are hardly a new idea; languages like LOGO were specifically designed to allow for the representation of mathematical ideas, especially in education. The trouble with most interactive systems, however, is that they are slow.... Very Slow. This is due to the fact that interactive languages have to be based on slow interpreters, rather than fast compilers. Mathematical rendering is time-consuming at best, and simple interpreters like LOGO or BASIC just cannot handle any degree of complexity, unless you are willing to render your images overnight! This is where MathVision makes a radical and brilliant innovation. The formulas are still entered interactively, and can even be altered in mid-plot, but before they are actually plotted, they are converted into a special compiled form. This process is totally transparent to the user, and the resultant code is very fast indeed. I tested MathVision's speed against a number of interpreted languages - none came anywhere near it. It was also faster than some compiled BASICs and comparable to compiled C. Not bad for an interactive system. Two versions of the program are provided, one of which makes use of the FPU if you have one. Even so, users with serious graphical demands shouldn't expect wonders from unaccelerated machines. 2.Interface MathVision's formulas are entered on the 10 lines provided on the control screen. You may think that 10 lines is not much for a complex picture, but in reality it is more than enough. Each line is a full 256 characters long, and MathVision's programming syntax is very concise. (For you programmers out there, the parser is operator precedence based, and there is a hint of the language LISP.) The main tool is recursion, rather than iteration (DO/FOR Loops). In case you do not know how recursion works, the manual has an excellent tutorial on it, and how to use it for iterative purposes. Prototyping of ideas is very fast. Each line represents a function, and may be called from anywhere else. There is the choice of a large number of different plotting methods, and it is easy to change parameters quickly and view the results in a number of different ways. 3.Expandability This is by far the strongest point of MathVision. Expandability is catered for in two ways. Firstly the program has got an ARexx port (as all good Amiga programs should). This means that all sorts of impressive automation techniques can be used, and also allows MathVision to interact with other Amiga programs. The level of ARexx support is absolutely outstanding and includes programs that allow the ARexx facilities to be used (e.g. for animation) even by people that do not know ARexx! We will see more of ARexx below. MathVision also has "hooks" which make part of its internal code public, and experienced C programmers can write their own extensions. A number of interesting "hooks" are already available free with MathVision, including some unusual plot methods, special Mandelbrot functions, buffers for storing and combining pictures, and a sound utility. A special package for complex and polar arithmetic is available separately. B. Applications Education  Mathvision will probably find two main areas of application. The first is in the area of scientific, experimental and educational work. Using MathVision is much easier and faster than writing a custom program each time you want to create a visual mathematical model. It is also much more fun, and can almost be addictive. It is truly "serious software that feels like a game". Educators will also find it invaluable for injecting some fun into mathematics, and encouraging pupils to want to learn. The opportuniy to create impressive graphics is an excellent incentive for learning. Enthusiasts will find that they can easily reproduce any of the fractal generators available in PD and elsewhere. In fact many of the formulas from James Gleick's book "Chaos" are included with MathVision. There is nothing quite like MathVision out there, but there should be! Professional graphics prototyping MathVision's ARexx interface adds a whole new dimension to the program. It means that repetitive and complicated sequences can be automated and allowed to run unattended. The main use of this is in the production of animated sequences, which are notoriously time-consuming. All sorts of animated sequences can be created, from special "wipes", to 3-d models such as moving waves etc. These can be combined with existing pictures to produce fascinating distortions. All the spirals, page-flips and other transformations of commercial television are fairly easy to reproduce with a bit of mathematical ingenuity. You can even process data that you have collected externally. A hook is provided to allow the application of convolutions with a matrix kernel to a given picture. This feature is useful for highlighting, sharpening edges, and many other effects, as found in most top graphics programs. C. Improvements It is not easy to be hard on a program like MathVision. One of the things that I did notice, however, was the "feel" of the interface which seemed a bit dated. Even though it works fine, it still does not have the Workbench 2.0 look. I also disliked having to click on each field before I could enter a formula. I like to be able to move between fields using the arrow keys. The authors have assured me that these improvements will happen soon. As you can see I really liked MathVision very much. With the arrival of the new AGA chipset it has the potential to become an absolutely stunning program. Mathvision is available from Seven Seas Software, P.O.Box 1451,Port Townsend, WA 98368, USA. Tel: (206) 385-1956 ; Fax: (206) 385-4874 .... UK distributors are currently being sought.