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 to patch
.
Recalculate the surface normals from the gradient of the volume data to
produce better lighting characteristics (isonormals
).
Set the patch FaceColor
to red and the
EdgeColor
to none
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