From: Scott Guth <71652.2564@Compuserve.com> Subject: SURF ver. 1.2 SURF.UUE must be decoded with UUDECODE and then unzipped with PKUNZIP. "SURF" a SysRPL Hidden Line 3D Surface Plotter for HP48SX/GX by Scott A. Guth Compuserve address: 71652,2564 Internet: 71652.2564@COMPUSERVE.COM This program is FREEWARE -- but if you like it PLEASE drop me a note! Version 1.2 -- November 16, 1994 -- around 7K in size. This version handles discontinuous functions Z=F(X,Y). Well folks, this is a second release of my hidden line 3D surface plotter. I know that the GX already plots surfaces, but it doesn't know how to hide lines which should be hidden. This one DOES -- and it's written in speedy SysRPL. (I'm working on making it faster still). Note that hidden line removal is a cumbersome process -- when HIDE?=0 the program really flies, but takes a little more than a minute to plot a 7x7 grid with hidden line removal, when HIDE?=1) Variables in SURFN directory: SURFR - A Menu Program for defining equation & parameters. SURF - A Hidden Line 3D Surface Plotter written in SysRPL. HELP - An intro screen and help screen. Press any key EXCEPT to clear intro screen, Press to clear help screen. Z - A symbolic, F(X,Y), describing the surface to be plotted. VIEW - A command to view the plot - soon to have a trace mode. D3PAR - 3D Plot parameters vector: [xmin,xmax,xstepsize,ymin,ymax,ystepsize,HIDE?] (HIDE? = 0 means don't do hidden line removal.) PPAR - Regular 48 PPAR variable - defines 2D screen coordinates. Load the directory SURFN onto your GX or SX, go inside and everything will be there! I'm still working on the program to add more features. I plan on adding a feature for changing the viewing angle, as well as a trace mode. Try it out and let me know what you think. If you have any suggestions, I'd love to hear from you, and possibly include them in future upgrades. Note that, being a math professor at a So. Cal. Community College, I chose the positive x-axis to be the one pointing out at you, while the positive y-axis points to the right. Some surface plotters do not follow this convention, but most math books do, so that's what I chose to do as well. Note also that the program checks for errors in Z or D3PAR before running. This version now traps "Undefined Result/Infinite Result" errors, so it's possible to plot surfaces with discontinuities. Try plotting Z='-INV(X^2+Y^2)' using D3PAR: [-3 3 .5 -3 3 .5 1 ]. Note for GX users: I've included file SURFR which is a menu program with a nice interface for setting D3PAR and Z, and launching SURF. Note for SX users: You'll need to delete the menu program SURFR -- it won't run on the SX (it uses the INFORM command). I never use SURFR personally -- the INFORM command is way too slow! Just execute SURF to run the program. As always, it's important to remember that running SysRPL programs can cause memory loss, although this shouldn't happen, and never has happened to me when running this program. Nevertheless, I make no guarantees of any kind about this program -- YOU'RE ON YOUR OWN! ;-) Enjoy, Scott Guth Version 1.2 Change: Update to handle overflow/infinite result/undefined result errors, 1/17/95. Version 1.1 Change: Added title screen identifying program and author, 12/94.