1ISOSRF(3NCARG)                   NCAR GRAPHICS                  ISOSRF(3NCARG)
2
3
4

NAME

6       ISOSRF - Draws an isosurface.
7

SYNOPSIS

9       CALL ISOSRF (F,LU,MU,LV,MV,MW,EYE,MUVWP2,SLAB,FISO,IFLAG)
10

C-BINDING SYNOPSIS

12       #include <ncarg/ncargC.h>
13
14       void c_isosrf (float *f, int lu, int mu, int lv, int mv,
15       int mw, float eye[3], int muvwp2, float *slab, float fiso,
16       int iflag)
17

UTILITY

19       This routine is part of the Isosurface utility in NCAR Graphics.  To
20       see the overview man page for this utility, type "man isosurface".
21

DESCRIPTION

23       F           (an input array of type REAL, dimensioned LU x LV x m,
24                   where "m" is greater than or equal to MW) is a three-
25                   dimensional array of data defining the function f(u,v,w).
26                   Only the portion of the array consisting of elements
27                   F(IU,IV,IW), for IU = 1 to MU, IV = 1 to MV, and IW = 1 to
28                   MW, is to be used. This may or may not be the entire array.
29                   The data are considered to lie in a box in 3-space with
30                   opposite corners (in the UVW coordinate system) (1.,1.,1.)
31                   and (REAL(MU),REAL(MV),REAL(MW)). The element F(IU,IV,IW)
32                   is considered to be the value of the function f at the
33                   point (REAL(IU),REAL(IV),REAL(IW)).
34
35       LU          (an input expression of type INTEGER) is the first
36                   dimension of the array F.
37
38       MU          (an input expression of type INTEGER) defines the range to
39                   be used for the first subscript of the array F.
40
41       LV          (an input expression of type INTEGER) is the second
42                   dimension of the array F.
43
44       MV          (an input expression of type INTEGER) defines the range to
45                   be used for the second subscript of the array F.
46
47       MW          (an input expression of type INTEGER) defines the range to
48                   be used for the third subscript of the array F.
49
50       EYE         (an input array of type REAL, dimensioned 3) is the
51                   position of the eye in the UVW coordinate system. The eye
52                   position, at (EYE(1),EYE(2),EYE(3)), must be outside the
53                   box containing the data. The point being looked at is at
54                   the center of the data box and the projection plane is
55                   perpendicular to the line of sight. While gaining
56                   experience with the routine, a good choice for EYE is
57                   (5.*REAL(MU),3.5*REAL(MV),2.*REAL(MW)).
58
59       MUVWP2      (an input expression of type INTEGER) has the value
60                   MAX(MU,MV,MW)+2.
61
62       SLAB        (a scratch array of type REAL, dimensioned at least MUVWP2
63                   x MUVWP2) is a workspace for ISOSRF.
64
65       FISO        (an input expression of type REAL) is the value of fiso in
66                   the equation f(u,v,w)=fiso, which defines the isosurface to
67                   be drawn.
68
69       IFLAG       (an input expression of type INTEGER) serves two purposes:
70
71                   ·   The absolute value of IFLAG determines which type of
72                       lines are drawn to approximate the isosurface. Three
73                       types of lines are considered: lines of constant U,
74                       lines of constant V, and lines of constant W. The
75                       following table lists the types of lines drawn for
76                       various values of ABS(IFLAG):
77
78
79                       ABS(IFLAG)   Constant U   Constant V   Constant W
80
81                           1            no           no          yes
82                           2            no          yes           no
83                           3            no          yes          yes
84                           4           yes           no           no
85                           5           yes           no          yes
86                           6           yes          yes           no
87                           7           yes          yes          yes
88
89                   ·   The sign of IFLAG determines what is inside and what is
90                       outside the solid bounded by the isosurface and thus
91                       which lines are visible and what is done at the
92                       boundary of the box containing the data. If IFLAG is
93                       positive, values greater than FISO are considered to be
94                       inside the solid formed by the isosurface. If IFLAG is
95                       negative, values less than FISO are considered to be
96                       inside the solid formed by the isosurface. If the
97                       algorithm draws a cube, reverse the sign of IFLAG.
98

C-BINDING DESCRIPTION

100       The C-binding argument descriptions are the same as the Fortran
101       argument descriptions, with the following exceptions:
102
103       f           t is dimensioned mw by mv by mu
104
105       mu          The third dimension of the array f
106
107       mw          The first dimension of the array f
108

USAGE

110       Transformations can be achieved by adjusting scaling statement
111       functions in ISOSRF, SET3D, and TR32.
112
113       The hidden-line algorithm is not exact, so visibility errors can occur.
114
115       Three-dimensional perspective character labeling of isosurfaces is
116       possible by calling the routine PWRZI.
117

EXAMPLES

119       Use the ncargex command to see the following relevant examples: tisosr,
120       tpwrzi, fisissrf, fispwrzi.
121

ACCESS

123       To use ISOSRF or c_isosrf load the NCAR Graphics libraries ncarg,
124       ncarg_gks, and ncarg_c, preferably in that order.
125

SEE ALSO

127       Online: isosurface, isosurface_params, ezisos, isgeti, isgetr, isseti,
128       issetr, pwrzi, ncarg_cbind
129
130       Hardcopy: NCAR Graphics Fundamentals, UNIX Version
131
133       Copyright (C) 1987-2007
134       University Corporation for Atmospheric Research
135
136       This documentation is free software; you can redistribute it and/or
137       modify it under the terms of the GNU General Public License as
138       published by the Free Software Foundation; either version 2 of the
139       License, or (at your option) any later version.
140
141       This software is distributed in the hope that it will be useful, but
142       WITHOUT ANY WARRANTY; without even the implied warranty of
143       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
144       General Public License for more details.
145
146       You should have received a copy of the GNU General Public License along
147       with this software; if not, write to the Free Software Foundation,
148       Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
149
150
151
152UNIX                              March 1993                    ISOSRF(3NCARG)
Impressum