NAME
IsosurfaceNaN
DESCRIPTION
This module creates an isosurface (surface of constant value) for a 3-D
lattice. It uses Lorenson and Cline's "marching cubes" algorithm to
calculate all the necessary triangles comprising the isosurface.
IsosurfaceNaN's notable feature is its ability to exclude from the
isosurface triangles that contain a certain value. This prevents them
from deceptively flowing around values that should be considered
special. Finally, the isosurface can be uniformly colored using the
sliders on the control panel or colored by another 3-D lattice on the
"Scalar Field" port in conjunction with a colormap.
---------------------------------------------------
NOTE: This module contains some isosurface code adapted from
the "Isovis" program written by Mike Krogh at NCSA, University of
Illinois at Urbana-Champaign.
---------------------------------------------------
INPUTS
Input -- Lattice
(3-D, 1-vector, float, perimeter).
This is the lattice from which to calculate the isosurface.
Scalar Field -- Lattice (Opt.)
(3-D, 1-vector, float, perimeter).
This is a lattice that can be used to color the isosurface. It can be
colored by itself or by the data values of another lattice of equal size.
Colormap -- Lattice (Opt.)
(1-D, 4-vector, float, uniform).
This is a colormap which can be used to color the isosurface in
conjunction with the "Scalar Field" lattice. If either the "Scalar Field"
or the "Colormap" port is empty then the isosurface will be colored
based on the settings of the color-component widgets.
WIDGETS
Red -- Slider
This is the red component of the isosurface color.
Green -- Slider
This is the green component of the isosurface color.
Blue -- Slider
This is the blue component of the isosurface color.
Opacity -- Slider
This is the opacity component of the isosurface color.
Threshold -- Dial
This is the value through which to generate the isosurface.
Special Value -- Text
This is a value which can be left out of the isosurface.
Ignore Special? -- Option Menu
(No, Yes).
This determines whether any triangles with vertices crossing the
"special value" should be included in the isosurface. Excluding them
could create holes.
Smooth? -- Option Menu
(No, Yes).
This determines whether normals are calculated for the vertices of the
triangles. Turning this option on has the effect of smoothing out the
surface.
Flip Normal? -- Option Menu
(No, Yes).
This reverses the vertex normals of the isosurface when the smoothing
option is in effect. It allows either side of the isosurface to be properly
lit on machines which do not support two-sided lighting.
OUTPUTS
Surface -- Geometry
This is the generated isosurface.
KNOWN PROBLEMS
The triangle generation is not highly optimized; it is slower and
consumes more memory than IsosurfaceLat. This module can also
produce surfaces with undesirable holes since it uses the "marching
cubes" algorithm which is known for this potential behavior. Then
again, IsosurfaceLat's help file says it could create those holes as well.
There are no known bugs.
SEE ALSO
IsosurfaceLat, IsosurfacePyr
-
Hans Vahlenkamp (Hans.Vahlenkamp@noaa.gov)
Geophysical Fluid Dynamics Laboratory / NOAA
Princeton University Forrestal Campus
http://www.gfdl.noaa.gov