The following source files were discussed in "3D-Surface Generation," by Gregory K. Landheim, Micro Cornucopia, No. 50, November/December 1989, and "3D-Surface Generation, Part 2," Micro Cornucopia, No. 50, January/ February, 1990. The source has been released to the public domain by the author, Greg Landheim. The author assumes no liability for its use, or abuse, and does not warrant it in any way. The files contain the following: test3d.c - a demo program in Turbo C 2.0 that will output a Mandelbrot surface to either a PC Video Display or to an IBM Graphics printer, depending on the switch provided at execution time. The Borland Graphics Interface driver for the video card must be locatable. As written, the demo program expects to find the .BGI file using a call to: initgraph(&g_driver,&g_mode,"c:\\turboc\\bgi"); arrays.c - a pair of routines to dynamically allocate two dimensional arrays of any size and type (subject to memory availability), and to subsequently free the dynamically allocated memory. mandel.c - a Mandelbrot generator based on one published in Micro Cornucopia, No. 39, Jan-Feb 1988. This is used to generate the surface used by the demo program. threed.c - 3-D surface functions with hidden line removal. Will draw an optional box about the maximum surface volume. grafprt.c - Scaling and print support routines to do printer graphics on an IBM Graphics Printer, or compatible. Supports both Landscape and Portrait modes. The functions transf(), itransf() and the global Maxheight are used for CRT displays as well as printer graphics, to transform to device coordinates. grafstr.c - A module for scalable, rotatable, justifiable (left, right and center) strings for use with grafprt.c. And of course, the associated header files: arrays.h mandel.h threed.h grafprt.h grafstr.h Gregory K. Landheim November 9, 1990 Internet: landheim@bbn.com