Histograms of Triangle Data

TRIANGLE_HISTOGRAM is a FORTRAN90 program which creates a histogram of data over the interior of the unit triangle in 2D.

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 FORTRAN90 program which produces random samples from a number of regions, including triangles.

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:

Examples and Tests:

B10000 is a "bad" set of sample points.

G10000 is a "good" set of sample points.

List of Routines:

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

Last revised on 13 August 2009.