|MATLAB Function Reference|
Extract isosurface data from volume data
fv = isosurface(X,Y,Z,V,isovalue) computes isosurface data from the volume data
V at the isosurface value specified in
isovalue. The arrays
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
fv = isosurface(V,isovalue) assumes the arrays
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.
You can pass the
fv structure created by
isosurface directly to the
patch command, but you cannot pass the individual faces and vertices arrays (
patch without specifying property names. For example,
This example uses the flow data set, which represents the speed profile of a submerged jet within an infinite tank (type
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:
Connecting Equal Values with Isosurfaces for more examples
Volume Visualization for related functions