triangle_histogram, a MATLAB code which creates a histogram of data in the unit triangle.

The unit triangle has the vertices (1,0), (0,1), (0,0).

"Data" in the unit triangle is assumed to take the form of a file, containing a list of points that lie in the triangle.

The sides of the triangle can each be divided into N subintervals, and by connecting them, the result is N*N subtriangles of the same area.

The program then determines the number of points that lie within each subtriangle, and prints this list.

This program is particularly suitable for investigating whether a set of points in the unit triangle are close to a uniformly sampling, or if there is some bias in the selection.


triangle_histogram ( 'data_file', n )


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


triangle_histogram is available in a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

random_data, a MATLAB code which produces random samples from a number of regions, including triangles.


triangle_monte_carlo, a MATLAB code which uses the monte carlo method to estimate integrals over a triangle.

triangle_samples, a dataset directory which contains sets of sample points drawn from the unit triangle.


  1. Reuven Rubinstein,
    Monte Carlo Optimization, Simulation and Sensitivity of Queueing Networks,
    Krieger, 1992,
    ISBN: 0894647644,
    LC: QA298.R79.
  2. Greg Turk,
    Generating Random Points in a Triangle,
    in Graphics Gems I,
    edited by Andrew Glassner,
    AP Professional, 1990,
    ISBN: 0122861663,
    LC: T385.G697

Source Code:

Last revised on 06 April 2019.