MATLAB Function Reference |
Extract isosurface data from volume data
Syntax
fv = isosurface(X,Y,Z,V,isovalue) fv = isosurface(V,isovalue) fv = isosurface(X,Y,Z,V), fv = isosurface(X,Y,Z,V) fvc = isosurface(...,colors) fv = isosurface(...,'noshare') fv = isosurface(...,'verbose') [f,v] = isosurface(...) isosurface(...)
Description
fv = isosurface(X,Y,Z,V,isovalue)
computes isosurface data from the volume data V
at the isosurface value specified in isovalue
. That is, the isosurface connects points that have the specified value much the way contour lines connect points of equal elevation.
The arrays X
, Y
, and Z
define the coordinates for the volume V
. The structure fv
contains the faces and vertices of the isosurface, which you can pass directly to the patch
command.
fv = isosurface(V,isovalue)
assumes the arrays X
, Y
, and Z
are defined as [X,Y,Z] = meshgrid(1:n,1:m,1:p)
where [m,n,p] = size(V)
.
fvc = isosurface(...,colors)
interpolates the array colors
onto the scalar field and returns the interpolated values in the facevertexcdata
field of the fvc
structure. The size of the colors
array must be the same as V
. The colors
argument enables you to control the color mapping of the isosurface with data different from that used to calculate the isosurface (e.g., temperature data superimposed on a wind current isosurface).
fv = isosurface(...,'noshare')
does not create shared vertices. This is faster, but produces a larger set of vertices.
fv = isosurface(...,'verbose')
prints progress messages to the command window as the computation progresses.
[f,v] = isosurface(...)
returns the faces and vertices in two arrays instead of a struct.
isosurface(...)
with no output arguments creates a patch using the computed faces and vertices.
Special Case Behavior -- isosurface Called with No Output Arguments
If there is no current axes and you call isosurface
with without assigning output arguments, MATLAB creates a new axes, sets it to a 3-D view, and adds lighting to the isosurface graph.
Remarks
You can pass the fv
structure created by isosurface
directly to the patch
command, but you cannot pass the individual faces and vertices arrays (f
, v
) to patch
without specifying property names. For example,
Examples
This example uses the flow data set, which represents the speed profile of a submerged jet within an infinite tank (type help
flow
for more information). The isosurface is drawn at the data value of -3. The statements that follow the patch
command prepare the isosurface for lighting by
isonormals
)
set
, FaceColor
, EdgeColor
)
daspect
, view
)
camlight
, lighting
)
See Also
isonormals
, shrinkfaces
, smooth3
, subvolume
Connecting Equal Values with Isosurfaces for more examples
Volume Visualization for related functions
isonormals | ispc |
© 1994-2005 The MathWorks, Inc.