Connecting Equal Values with Isosurfaces
Isosurfaces in Fluid Flow Data
Create isosurfaces with the isosurface
and patch
commands.
This example creates isosurfaces in a volume generated by flow
. Generate the volume data
with the command:
[x,y,z,v] = flow;
To select the isovalue, determine the range of values in the volume data.
min(v(:)) ans = -11.5417 max(v(:)) ans = 2.4832
Through exploration, you can select isovalues that reveal useful information about the data. Once selected, use the isovalue to create the isosurface:
Use
isosurface
to generate data that you can pass directly topatch
.Recalculate the surface normals from the gradient of the volume data to produce better lighting characteristics (
isonormals
).Set the patch
FaceColor
to red and theEdgeColor
tonone
to produce a smoothly lit surface.Adjust the view and add lighting (
daspect
,view
,camlight
,lighting
).hpatch = patch(isosurface(x,y,z,v,0)); isonormals(x,y,z,v,hpatch) hpatch.FaceColor = 'red'; hpatch.EdgeColor = 'none'; daspect([1,4,4]) view([-65,20]) axis tight camlight left; lighting gouraud