SRFACE - Draws a perspective picture of a function of two
variables with hidden lines removed. The function is approximated by a
two-dimensional array of heights.
CALL SRFACE (X,Y,Z,M,MX,NX,NY,S,STEREO)
#include <ncarg/ncargC.h>
void c_srface (float *x, float *y, float *z, int *m,
int mx, int nx, int ny, float s[6], float stereo)
- X
- A linear array NX long containing the X coordinates of the points in the
surface approximation. See "USAGE" below.
- Y
- The linear array NY long containing the Y coordinates of the points in the
surface approximation. See "USAGE" below.
- Z
- An array MX by NY containing the surface to be drawn in NX by NY cells.
Z(I,J) = F(X(I),Y(J)). See "USAGE" below.
- M
- Scratch array at least 2*NX*NY words long.
- MX
- First dimension of Z.
- NX
- Number of data values in the X direction (the first subscript direction)
in Z to be plotted. When plotting an entire array, MX=NX.
- NY
- Number of data values in the Y direction (the second subscript direction)
to be plotted.
- S
- S defines the line of sight. The viewer's eye is at (S(1), S(2), S(3)) and
the point looked at is at (S(4), S(5), S(6)). The eye should be outside
the block with opposite corners (X(1), Y(1), ZMIN) and (X(NX), Y(NY),
ZMAX) and the point looked at should be inside it. For a nice perspective
effect, the distance between the eye and the point looked at should be 5
to 10 times the size of the block.
- STEREO
- Flag to indicate if stereo pairs are to be drawn. 0.0 means no stereo pair
(one picture). Non-zero means put out two pictures. The value of STEREO is
the relative angle between the eyes. A value of 1.0 produces standard
separation. Negative STEREO reverses the left and right figures.
The C-binding argument descriptions are the same as the FORTRAN
argument descriptions, with the following exceptions:
- z
- An array ny by mx.
- mx
- Second dimension of z.
- nx
- Number of data values in the y direction (the second subscript direction)
in z to be plotted. When plotting an entire array, mx=nx.
- ny
- Number of data values in the x direction (the first subscript direction)
to be plotted.
- The range of Z compared with the range of X and Y determines the shape of
the picture. They are assumed to be in the same units and not wildly
different in magnitude. S is assumed to be in the same units as X, Y, and
Z.
- Picture size can be made relative to distance.
- TRN32S can be used to translate from 3 space to 2 space.
- Data with extreme discontinuities may cause visibility errors. If this
problem occurs, use a distant eye position away from the +Z axis.
- The default line color is set to color index 1. If the user wishes to
change the line color, he can do so by defining color index 1 before
calling SRFACE, or by putting the common block SRFINT in his calling
program and defining and using color index ISRFMJ (defaulted to 1 in
BLOCKDATA).
Use the ncargex command to see the following relevant examples:
srex01, tpwrzs, tsrfac, fsrpwrzs, fsrsrfac.
To use SRFACE or c_srface, load the NCAR Graphics libraries ncarg,
ncarg_gks, and ncarg_c, preferably in that order.
Online: surface, surface_params, ezsrfc, pwrzs, setr,
ncarg_cbind.
Hardcopy: NCAR Graphics Fundamentals, UNIX Version
Copyright (C) 1987-2009
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.