Plot Voronoi Neighborhoods

VORONOI_PLOT is a MATLAB program which plots the Voronoi neighborhoods of a set of center points.

The picture is created using discrete pixel geometry, rather than sophisticated analysis. In other words, each center point is assigned a color at random. Then each pixel in the image is colored the same as the nearest center point.

The program allows the user to choose the values of M and N, the number of rows and columns used in the pixel array.

The program allows the user to choose the LP norm in which distances are calculated, with P any positive real value. In particular

MATLAB's voronoi() command can plot a Voronoi diagram when the Euclidean norm is used to measure distance, but it does not have the ability to deal with other norms. This program gives a simple way of viewing such cases.


voronoi_plot ( xy, m, n, p )


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


VORONOI_PLOT is available in a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

SPHERE_DELAUNAY, a MATLAB program which computes the Delaunay triangulation of points on a sphere.

SPHERE_VORONOI, a MATLAB program which computes the Voronoi diagram of points on a sphere.

VORONOI_CITY, a MATLAB program which displays the steps involved in computing the Voronoi diagram of 3 points, which we think of as cities connected by roads.

VORONOI_MOUNTAINS, a MATLAB program which makes a "mountain plot" of a Voronoi diagram, that is, a surface plot of the distance from each point to its nearest Voronoi generator.


  1. Franz Aurenhammer,
    Voronoi diagrams - a study of a fundamental geometric data structure,
    ACM Computing Surveys,
    Volume 23, Number 3, pages 345-405, September 1991.
  2. Herbert Edelsbrunner,
    Geometry and Topology for Mesh Generation,
    Cambridge, 2001,
    ISBN 0-521-79309-2.
  3. Joseph O'Rourke,
    Computational Geometry,
    Cambridge University Press,
    Second Edition, 1998,

Source Code:

Examples and Tests:

DIAMOND_02_00009 is a set of 9 points whose Voronoi diagram includes a "diamond" shaped region.

UNIFORM_02_00010 is a set of 10 points chosen "randomly".

You can go up one level to the MATLAB source codes.

Last revised on 22 September 2016.