Documentation Center

  • Trial Software
  • Product Updates

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 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)
    set(hpatch,'FaceColor','red','EdgeColor','none')
    daspect([1,4,4])
    view([-65,20])
    axis tight
    camlight left; 
    set(gcf,'Renderer','zbuffer'); lighting phong
    

Was this topic helpful?