Main Content


N-D Delaunay triangulation



T = delaunayn(X) computes a set of simplices such that no data points of X are contained in any circumspheres of the simplices. The set of simplices forms the Delaunay triangulation. X is an m-by-n array representing m points in n-dimensional space. T is a numt-by-(n+1) array where each row contains the indices into X of the vertices of the corresponding simplex.

T = delaunayn(X,opts) specifies a cell array of Qhull options to use in computing the delaunay triangulation.


collapse all

This example generates an n-dimensional Delaunay triangulation, where n = 3.

d = [-1 1];
[x,y,z] = meshgrid(d,d,d);  % A cube
x = [x(:);0];
y = [y(:);0];
z = [z(:);0];
% [x,y,z] are corners of a cube plus the center.
X = [x(:) y(:) z(:)];
Tes = delaunayn(X)
Tes = 12×4

     4     3     9     1
     4     9     2     1
     7     9     3     1
     7     5     9     1
     7     9     4     3
     7     8     4     9
     6     2     9     1
     6     9     5     1
     6     4     9     2
     6     4     8     9

You can use tetramesh to visualize the tetrahedrons that form the corresponding simplex. camorbit rotates the camera position to provide a meaningful view of the figure.


Input Arguments

collapse all

Points, specified as a matrix. X is an m-by-n matrix representing m points in n-dimensional space.

Data Types: double

Qhull options, specified as a cell array of character vectors indicating which Qhull algorithms to use. For a list of options, see Qhull control options.

The default options are:

  • {'Qt','Qbb','Qc'} for 2- and 3-dimensional input

  • {'Qt','Qbb','Qc','Qx'} for 4 and higher-dimensional input

If opts is [], then the default options are used. If opts is an empty cell array, {''}, then no options are used, not even the defaults.


  • Plotting the output of delaunayn depends of the value of n:

    • For n = 2, use triplot, trisurf, or trimesh as you would for delaunay.

    • For n = 3, use tetramesh.

      For more control over the color of the facets, use patch to plot the output.

    • You cannot plot delaunayn output for n > 3.


delaunayn is based on Qhull. For more information, see For copyright information, see

Extended Capabilities

Version History

Introduced before R2006a