Path: seq!spell From: David D Jansen Subject: v01i049: sface - surface plotter 3D v1.0, Part01/01 Newsgroups: comp.sources.hp48 Followup-To: comp.sys.hp48 Approved: spell@seq.uncwil.edu Checksum: 1866833180 (verify with brik -cv) Submitted-by: David D Jansen Posting-number: Volume 1, Issue 49 Archive-name: sface/part01 BEGIN_RDME sface.rdme [ If you have Jim Donnelly's library TLLIB loaded you will probably have problems downloading the rpl source. His library has a program MAT and the rpl has a varable MAT which causes the download to fail. To get arround this just download either the asc or uuencoded source. -chris] END_RDME BEGIN_DOC sface.doc This is a repost of a three dimensional surface plotter. After searching several ftp sites and noticing it wasn't there I decided to do this repost. There are two routines, a parameter variable and the equation and matrix data in this directory. The function SFACE creates from the EQ, a data surface that is stored in the matrix, MAT. From this matrix, TRACE draws the plot to the screen. The parameters stored in SPAR (like PPAR) affect mostly the TRACE function. This is useful for viewing at different angles of the same surface area, as the same surface is not recalculated each time. The variables in SPAR are: Xmin, Xmax, Xincrement, Ymin, Ymax, Yincrement, theta, phi, p, z, h, v. Xmin and Xmax represent the range to be graphed, Xincrement is the value of the spacing between plotted points. The Ymin, Ymax, Yincrement is the same but for the Y dimension. Theta and phi are the angles at which the X and Y axis are plotted. These can be changed to give a more square or parallogram shape to the X-Y plane. To rotate a graph, choose the TRANSlate function in the matrix directory. Then reTRACE the graph. H and v are the variables that control the horizontal and vertical scaling, pixelwise. This will compress the graph (anti-zoom). After changing these variables, just reTRACE. P and z work in conjunction to plot certain elevations of the data. To plot only that part of the graph greater than 0 for instance, set P to a positive value, to plot all of the graph below 0 set P to a negative value. When P is 0 the ploting mode is returned to normal. The actual cutoff value used is stored in variable Z. This is public domain. If you have any questions, comments or suggestions, I'll try to help. Dave END_DOC BYTES: #E137h 3866.5 BEGIN_RPL sface