main directory for computing convex hulls (and their volumes) 4/29/92 last update on 5/2/93 Directory --------- * all files in ansi c Credits ------- * written by Ioannis Emiris, along with perturbation package in /pert directory * ch routines originally in Pascal by H.Rosenberg, U. Ill. Urbana-Champaign * long integer arithmetic in /pert is by E.P. Mucke, U. Ill. Urbana-Champaign * matrix manipulation and modular arithmetic adapted from code by D. Manocha, UCB Usage ----- * present directory must be "chD", perturbation directory must be in "../pert", local makefile will make both directories * alternative pert package in ../small-pert; must request "make small" * run with: chD [options] InFile where InFile.sites contains the input dimension and site coordintes Input ----- * every coord must be an INTEGER of absolute value < 2^31 (fit in a long int) * #sites must be > dim; if not, repeat a site enough times! * dim must lie within [MINDIM, MAXDIM], currently [2,20] * InFile.sites contains the input points, one point per line. The postfix ".sites" is appended by CH. CH reads until EOF or the maximal number of sites (currently 10000) are read. Options: a : Show results of calls to ChAbove. c : Check convex hull. f : Write information about facets in fname.facets. p : Write points (vertices) of Convex Hull in fname.points. r : Write info about memory and time consumption in fname.resource. s : Display sorted list of sites with original indices. t : Trace execution by printing a dot for each new site added. v : Write volume in fname.volume. o : Write vertices, facets in .off format for geomview Dimension = 3 or 4 only; no colors specified. * Example: chD -f -p -r -c fname runs on file "fname.sites" and puts the convex hull facets in "fname.facets", the hull vertices in "fname.points" and the resource count in "fname.resource"; lastly, it checks that each facet reported does not separate the input site set. fname.sites may look like this: 4 698 -876245 8724 -243698 -428769 97435 -8763 698742 .... if it describes a 4-dimensional point set Output ------ * volume measure st. the simplex's is 1; thus there is a division by n! indicated at the output file that must be carried out by hand Running Time ------------ * PertQuan[] slows down things for small dim and large n; approx. cutoff point: above dim=4, around n=200 * In current version, is affected by cleaning (eg. heap).