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
isosurfaceto 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
FaceColorto red and theEdgeColortononeto 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
