# VORONOI_PLOT 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

• 1: distance = sum of absolute values of differences;
• 2: distance = square root of sum of squares of differences (the Euclidean norm);
• P: distance = P-th root of sum of absolute values of P-th powers of differences;
• Inf: distance = maximum of absolute values of differences;

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.

### Usage:

voronoi_plot ( xy, m, n, p )
where
• xy is the (2,NC) array of center points.
• m is the number of rows in the pixel image;
• n is the number of columns in the pixel image;
• p chooses the P-norm (1, 2, Inf, or some positive real value).

### Languages:

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.

### Reference:

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,
QA377.E36,
ISBN 0-521-79309-2.
3. Joseph O'Rourke,
Computational Geometry,
Cambridge University Press,
Second Edition, 1998,
QA448.D38.

### 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.