TABLE_LATINIZE is a C++ program which allows the user to specify a file of data to be read in and adjusted to form a Latin hypercube.
The data in the file represents N points in M-dimensional space.
The algorithm is actually very simple. In each spatial dimension, the point coordinates are sorted, and then replaced by the appropriate values for a Latin hypercube. In particular, if there are four points, then in every coordinate, the four points will be assigned values of 1/8, 3/8, 5/8 and 7/8 (in some order). The hope is that if the initial dataset has some nice dispersion property, then the resulting adjusted dataset will inherit some of this dispersion as well; in particular, more dispersion than typically seen in an arbitrary Latin hypercube.
TABLE_LATINIZE is available in a C++ version and a FORTRAN90 version and a MATLAB version.
BOX_BEHNKEN, a C++ library which computes a Box-Behnken design, that is, a set of arguments to sample the behavior of a function of multiple parameters;
LATINIZE, a C++ library which carries out the calculations needed by TABLE_LATINIZE.
TABLE, a file format which is used for the input and output of TABLE_LATINIZE.
TABLE_DELAUNAY, a C++ program which reads a file of 2d point coordinates and computes the Delaunay triangulation.
TABLE_IO, a C++ library which can read or write a TABLE file.
TABLE_QUALITY, a C++ program which can read a TABLE file and print out measures of the quality of dispersion of the points.
CVT_02_00010 is a set of 10 CVT points in 2D:
CVT_03_00007 is a set of 7 CVT points in 3D:
CVT_03_00056 is a set of 56 CVT points in 3D:
CVT_07_00100 is a set of 100 CVT points in 7D:
You can go up one level to the C++ source codes.