MATLAB Function Reference    

n-D Voronoi diagram



[V,C] = voronoin(X) returns Voronoi vertices V and the Voronoi cells C of the Voronoi diagram of X. V is a numv-by-n array of the numv Voronoi vertices in n-D space, each row corresponds to a Voronoi vertex. C is a vector cell array where each element contains the indices into V of the vertices of the corresponding Voronoi cell. X is an m-by-n array, representing m n-D points, where n > 1 and m >= n+1.

The first row of V is a point at infinity. If any index in a cell of the cell array is 1, then the corresponding Voronoi cell contains the first point in V, a point at infinity. This means the Voronoi cell is unbounded.


You can plot individual bounded cells of an n-D Voronoi diagram. To do this, use convhulln to compute the vertices of the facets that make up the Voronoi cell. Then use patch and other plot functions to generate the figure. For an example, see Tessellation and Interpolation of Scattered Data in Higher Dimensions in the MATLAB documentation.




Use a for loop to see the contents of the cell array C.

In particular, the fifth Voronoi cell consists of 4 points: V(10,:), V(5,:), V(6,:), V(8,:).


voronoin is based on Qhull [2]. It uses the Qhull joggle option ('QJ'). For information about qhull, see For copyright information, see

See Also

convhull, convhulln, delaunay, delaunayn, voronoi


[1]  Barber, C. B., D.P. Dobkin, and H.T. Huhdanpaa, "The Quickhull Algorithm for Convex Hulls," ACM Transactions on Mathematical Software, Vol. 22, No. 4, Dec. 1996, p. 469-483. Available in HTML format at pubs/citations/journals/toms/1996-22-4/p469-barber/ and in PostScript format at

[2]  National Science and Technology Research Center for Computation and Visualization of Geometric Structures (The Geometry Center), University of Minnesota. 1993.

  voronoi wait