Path: seq!spell
From: David D Jansen <eldorado@ecn.purdue.edu>
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 <eldorado@ecn.purdue.edu>
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
