Animated CVT Algorithm

CVT_MOVIE2 is a MATLAB program which animates the generation of a Centroidal Voronoi Tessellation (CVT) dataset.

The program proceeds to create a series of PNG files, each containing one frame of the animation. It is possible to create an animation by using software such as Apple QuickTime.


cvt_movie2 ( n, sample_num, frame_num, rebirths )


You can see an MP4 animation (no "rebirths").

You can see an MOV animation (with "rebirths").


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


CVT_MOVIE2 is available in a MATLAB version.

Related Data and Programs:

CVT_CIRCLE_UNIFORM, a MATLAB program which calculates a Centroidal Voronoi Tessellation (CVT) over a circle with uniform density.

CVT_MOVIE, a MATLAB program which creates an animation of the evolution of a CVT;

CVT_MOVIE3, a MATLAB program which creates a CVT movie in a region of unusual shape;

CVT_MOVIE4, a MATLAB program which creates a CVT movie in a square, with a density function that drives points to the corners;

CVT_MOVIE5, a MATLAB program which repeats cvt_movie3, but with hexagonal grid initialization, fixed points, and boundary projection;

CVT_MOVIE5_DATA, a FORTRAN90 program which creates and saves data of a CVT iteration, for use in a movie;

CVTP_1D, a MATLAB program which estimates a periodic centroidal Voronoi Tessellation (CVTP) in the periodic interval [0,1], using a version of Lloyd's iteration.

FILE_NAME_SEQUENCE, a MATLAB program which demonstrates four ways to generate a sequence of filenames.

MP4, a data format which was used for the animation.

PEAK_MOVIE, a MATLAB program which creates the pieces of an animation, one frame at a time. Each frame is independently created and saved as a JPEG file.


  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. Qiang Du, Vance Faber and Max Gunzburger,
    Centroidal Voronoi Tessellations: Applications and Algorithms,
    SIAM Review, Volume 41, 1999, pages 637-676.

Source Code:

Examples and Tests:

Here are the sequence of 100 PNG files created by a run of the program. Here we forced all the points to start initially in a small area near (0.25,0.50). Notice how the pattern first expands slowly, then adjusts to the constant random "rebirth" of one point every step.

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

Last revised on 23 October 2007.