Documentation Center

  • Trials
  • Product Updates

Overview of Volume Visualization

Examples of Volume Data

Volume visualization is the creation of graphical representations of data sets that are defined on three-dimensional grids. Volume data sets are characterized by multidimensional arrays of scalar or vector data. These data are typically defined on lattice structures representing values sampled in 3-D space. There are two basic types of volume data:

  • Scalar volume data contains single values for each point.

  • Vector volume data contains two or three values for each point, defining the components of a vector.

An example of scalar volume data is that produced by flow. The flow data represents the speed profile of a submerged jet within an infinite tank. Typing

[x,y,z,v] = flow;

produces four 3-D arrays. The x, y, and z arrays specify the coordinates of the scalar values in the array v.

The wind data set is an example of vector volume data that represents air currents over North America. You can load this data in the MATLAB® workspace with the command:

load wind

This data set comprises six 3-D arrays: x, y, and z are the coordinate data for the arrays u, v, and w, which are the vector components for each point in the volume.

Selecting Visualization Techniques

The techniques you select to visualize volume data depend on what type of data you have and what you want to learn. In general:

  • Scalar data is best viewed with isosurfaces, slice planes, and contour slices.

  • Vector data represents both a magnitude and direction at each point, which is best displayed by stream lines (particles, ribbons, and tubes), cone plots, and arrow plots. Most visualizations, however, employ a combination of techniques to best reveal the content of the data.

The material in these sections describes how to apply a variety of techniques to typical volume data.

Interpolating and Gridding Data

MATLAB provides functions that enable you to interpolate and restructure you data in preparation for visualization. See these sections for more information:

Steps to Create a Volume Visualization

Creating an effective visualization requires a number of steps to compose the final scene. These steps fall into four basic categories:

  1. Determine the characteristics of your data. Graphing volume data usually requires knowledge of the range of both the coordinates and the data values.

  2. Select an appropriate plotting routine. The information in this section helps you select the right methods.

  3. Define the view. The information conveyed by a complex three-dimensional graph can be greatly enhanced through careful composition of the scene. Viewing techniques include adjusting camera position, specifying aspect ratio and project type, zooming in or out, and so on.

  4. Add lighting and specify coloring. Lighting is an effective means to enhance the visibility of surface shape and to provide a three-dimensional perspective to volume graphs. Color can convey data values, both constant and varying.

Volume Visualization Functions

MATLAB functions enable you to apply a variety of volume visualization techniques. The following tables group these functions into two categories based on the type of data (scalar or vector) that each is designed to work with. The reference page for each function provides examples of the intended use.

Functions for Scalar Data



Draw contours in volume slice planes


Compute isosurface end-cap geometry


Compute the colors of isosurface vertices


Compute normals of isosurface vertices


Extract isosurface data from volume data


Create a patch (multipolygon) graphics object


Reduce the number of patch faces


Reduce the number of elements in a volume data set


Reduce the size of each patch face


Draw slice planes in volume


Smooth 3-D data


Convert surface data to patch data


Extract subset of volume data set

Functions for Vector Data




Plot velocity vectors as cones in 3-D vector fields


Compute the curl and angular velocity of a 3-D vector field


Compute the divergence of a 3-D vector field


Interpolate streamline vertices from vector-field magnitudes


Draw stream lines from 2-D or 3-D vector data


Draw stream particles from vector volume data


Draw stream ribbons from vector volume data


Draw well-spaced stream lines from vector volume data


Draw stream tubes from vector volume data


Compute 2-D stream line data


Compute 3-D stream line data


Return coordinate and color limits for volume (scalar and vector)

Was this topic helpful?