1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123 |
- qhull(1) qhull(1)
- NAME
- qhull - convex hull, Delaunay triangulation, Voronoi ver-
- tices, halfspace intersection, hull volume, facet area
- SYNOPSIS
- qhull- compute the convex hull.
- input (stdin): dimension, #points, point coordinates
- first comment (non-numeric) is listed in the summary
- halfspace: use dim plus one with offsets after coefficients
- options (qh-opt.htm):
- d - Delaunay triangulation by lifting points to a paraboloid
- v - Voronoi vertices and regions via Delaunay triangulation
- H1,1 - Halfspace intersection about [1,1,0,...]
- d Qu - Furthest-site Delaunay triangulation (upper convex hull)
- v Qu - Furthest-site Voronoi vertices and regions
- . - concise list of all options
- - - one-line description of all options
- Output options (subset):
- s - (default) summary to stderr
- Ft - triangulated output with centrums
- o - OFF file format (if Voronoi, outputs regions)
- i - vertices incident to each facet
- n - normals with offsets
- p - vertex coordinates (centers for Voronoi)
- Fp - halfspace intersection coordinates
- FA - compute total area and volume
- G - Geomview output (2-d, 3-d and 4-d)
- m - Mathematica output (2-d and 3-d)
- Tv - verify result: structure, convexity, and point inclusion
- f - print all fields of all facets
- example:
- rbox 1000 s | qhull Tv s FA
- - html manual: qh-man.htm
- - installation: README.txt
- - see also: COPYING.txt, REGISTER.txt, Changes.txt
- - WWW: <http://www.geom.umn.edu/locate/qhull>
- - news: <http://www.geom.umn.edu/~bradb/qhull-news.html>
- - ftp: <ftp://geom.umn.edu/pub/software/qhull.tar.Z>
- - <ftp://geom.umn.edu/pub/software/qhull-1.0.tar.Z>
- - Geomview: <http://www.geom.umn.edu/locate/geomview>
- - <ftp://geom.umn.edu/pub/software/geomview/>
- - news group: <news:comp.graphics.algorithms>
- - email: qhull@geom.umn.edu
- - bug reports: qhull_bug@geom.umn.edu
- The sections are:
- - INTRODUCTION
- - DESCRIPTION, a description of Qhull
- - IMPRECISION, how Qhull handles imprecision
- - OPTIONS
- Geometry Center April 2, 1997 1
- qhull(1) qhull(1)
- - Input and output options
- - Additional input/output formats
- - Precision options
- - Geomview options
- - Print options
- - Qhull options
- - Trace options
- - BUGS
- - E-MAIL
- - SEE ALSO
- - AUTHORS
- - ACKNOWLEGEMENTS
- This man page briefly describes all Qhull options. Please
- report any mismatches with Qhull's html manual (qh-
- man.htm).
- INTRODUCTION
- Qhull is a general dimension code for computing convex
- hulls, Delaunay triangulations, Voronoi vertices and
- regions, furthest-site Voronoi vertices, furthest-site
- Delaunay triangulations, and halfspace intersections. It
- implements the Quickhull algorithm for computing the con-
- vex hull. Qhull handles round-off errors from floating
- point arithmetic. It can approximate a convex hull.
- The program includes options for hull volume, facet area,
- partial hulls, input transformations, randomization, trac-
- ing, multiple output formats, and execution statistics.
- The program can be called from within your application.
- You can view the results in 2-d, 3-d and 4-d with
- Geomview.
- DESCRIPTION
- The format of input should be the following: first line
- contains the dimension, second line contains the number of
- input points, and point coordinates follow. The dimension
- and number of points can be reversed. Comments and line
- breaks are ignored. A comment starts with a non-numeric
- character and continues to the end of line. The first
- comment is reported in summaries and statistics. Error
- reporting is better if there is one point per line.
- The default printout option is a short summary. There are
- many other output formats.
- Qhull implements the Quickhull algorithm for convex hull.
- This algorithm combines the 2-d Quickhull algorithm with
- the n-d beneath-beyond algorithm [c.f., Preparata & Shamos
- '85]. It is similar to the randomized algorithms of
- Clarkson and others [Clarkson et al. '93]. The main
- Geometry Center April 2, 1997 2
- qhull(1) qhull(1)
- advantages of Quickhull are output sensitive performance,
- reduced space requirements, and automatic handling of pre-
- cision problems.
- The data structure produced by Qhull consists of vertices,
- ridges, and facets. A vertex is a point of the input set.
- A ridge is a set of d vertices and two neighboring facets.
- For example in 3-d, a ridge is an edge of the polyhedron.
- A facet is a set of ridges, a set of neighboring facets, a
- set of incident vertices, and a hyperplane equation. For
- simplicial facets, the ridges are defined by the vertices
- and neighboring facets. When Qhull merges two facets, it
- produces a non-simplicial facet. A non-simplicial facet
- has more than d neighbors and may share more than one
- ridge with a neighbor.
- IMPRECISION
- Since Qhull uses floating point arithmetic, roundoff error
- may occur for each calculation. This causes problems for
- most geometric algorithms.
- Qhull automatically sets option 'C-0' in 2-d, 3-d, and
- 4-d, or option 'Qx' in 5-d and higher. These options han-
- dle precision problems by merging facets.
- With 'C-0', Qhull merges non-convex facets while con-
- structing the hull. The remaining facets are clearly con-
- vex. With 'Qx', Qhull merges coplanar horizon facets,
- flipped facets, concave facets and duplicated ridges. It
- merges coplanar facets after constructing the hull. With
- 'Qx', coplanar points may be missed, but it appears to be
- unlikely.
- OPTIONS
- To get a list of the most important options, execute
- 'qhull' by itself. To get a complete list of options,
- execute 'qhull -'. To get a complete, concise list of
- options, execute 'qhull .'.
- Options can be in any order. Capitalized options take an
- argument (except 'PG' and 'F' options). Single letters
- are used for output formats and precision constants. The
- other options are grouped into menus for other output for-
- mats ('F'), Geomview output ('G'), printing ('P'), Qhull
- control ('Q'), and tracing ('T').
- Main options:
- default
- Compute the convex hull of the input points.
- d Compute the Delaunay triangulation by lifting the
- Geometry Center April 2, 1997 3
- qhull(1) qhull(1)
- input points to a paraboloid. The 'o' option
- prints the input points and facets. The 'Ft'
- option prints a triangulation. It adds points (the
- centrums) to non-simplicial facets.
- v Compute the Voronoi vertices via the Delaunay tri-
- angulation. The 'p' option prints the Voronoi ver-
- tices. The 'o' option prints the Voronoi vertices
- and the vertices in each Voronoi region. The first
- or zero'th vertex indicates the infinity vertex.
- Its coordinates are qh_INFINITE (-10.101). It
- indicates unbounded Voronoi regions or degenerate
- Delaunay triangles.
- Hn,n,...
- Compute halfspace intersection about [n,n,0,...].
- The input is a set of half-spaces defined in the
- same format as 'n', 'Fo', and 'Fi'. Use 'Fp' to
- print the intersection points. Use 'Fv' to list
- the intersection points for each halfspace. The
- other output formats display the dual convex hull.
- The point [n,n,n,...] is a feasible point for the
- half-spaces, i.e., a point that is inside all of
- the halfspaces (Hx+b <= 0). The default coordinate
- value is 0.
- The input may start with a feasible point. If so,
- use 'H' by itself. The input starts with a feasi-
- ble point when the first number is the dimension,
- the second number is "1", and the coordinates com-
- plete a line. The 'FV' option produces a feasible
- point for a convex hull.
- d Qu Compute the furthest-site Delaunay triangulation
- from the upper convex hull. The 'o' option prints
- the input points and facets. The 'Ft' option
- prints a triangulation. It adds points (the cen-
- trums) to non-simplicial facets.
- v Qu Compute the furthest-site Voronoi vertices and
- regions. The 'p' option prints the Voronoi ver-
- tices. The 'o' option prints the Voronoi vertices
- and the vertices in each Voronoi region. The first
- or zero'th vertex indicates the infinity vertex at
- infinity. Its coordinates are qh_INFINITE
- (-10.101). It indicates unbounded Voronoi regions
- and degenerate Delaunay triangles.
- Input/Output options:
- f Print out all facets and all fields of each facet.
- Geometry Center April 2, 1997 4
- qhull(1) qhull(1)
- G Output the hull in Geomview format. For imprecise
- hulls, Geomview displays the inner and outer hull.
- Geomview can also display points, ridges, vertices,
- coplanar points, and facet intersections. See
- below for a list of options.
- For Delaunay triangulations, 'G' displays the cor-
- responding paraboloid. For halfspace intersection,
- 'G' displays the dual polytope.
- i Output the incident vertices for each facet. Qhull
- prints the number of facets followed by the ver-
- tices of each facet. One facet is printed per
- line. The numbers are the 0-relative indices of
- the corresponding input points. The facets are
- oriented.
- In 4-d and higher, Qhull triangulates non-
- simplicial facets. Each apex (the first vertex) is
- a created point that corresponds to the facet's
- centrum. Its index is greater than the indices of
- the input points. Each base corresponds to a sim-
- plicial ridge between two facets. To print the
- vertices without triangulation, use option 'Fv'.
- m Output the hull in Mathematica format. Qhull
- writes a Mathematica file for 2-d and 3-d convex
- hulls and for 2-d Delaunay triangulations. Qhull
- produces a list of objects that you can assign to a
- variable in Mathematica, for example: "list= <<
- <outputfilename> ". If the object is 2-d, it can be
- visualized by "Show[Graphics[list]] ". For 3-d
- objects the command is "Show[Graphics3D[list]]".
- n Output the normal equation for each facet. Qhull
- prints the dimension (plus one), the number of
- facets, and the normals for each facet. The
- facet's offset follows its normal coefficients.
- o Output the facets in OFF file format. Qhull prints
- the dimension, number of points, number of facets,
- and number of ridges. Then it prints the coordi-
- nates of the input points and the vertices for each
- facet. Each facet is on a separate line. The
- first number is the number of vertices. The
- remainder are the indices of the corresponding
- points. The vertices are oriented in 2-d, 3-d, and
- in simplicial facets.
- For 2-d Voronoi diagrams, the vertices are sorted
- by adjacency, but not oriented. In 3-d and higher,
- the Voronoi vertices are sorted by index. See the
- 'v' option for more information.
- Geometry Center April 2, 1997 5
- qhull(1) qhull(1)
- p Output the coordinates of each vertex point. Qhull
- prints the dimension, the number of points, and the
- coordinates for each vertex. With the 'Gc' and
- 'Gi' options, it also prints coplanar and interior
- points. For Voronoi vertices, it prints the coor-
- dinates of each Voronoi vertex.
- s Print a summary to stderr. If no output options
- are specified at all, a summary goes to stdout.
- The summary lists the number of input points, the
- dimension, the number of vertices in the convex
- hull, the number of facets in the convex hull, the
- number of good facets (if 'Pg'), and statistics.
- The last two statistics (if needed) measure the
- maximum distance from a point or vertex to a facet.
- The number in parenthesis (e.g., 2.1x) is the ratio
- between the maximum distance and the worst-case
- distance due to merging two simplicial facets.
- Precision options
- An Maximum angle given as a cosine. If the angle
- between a pair of facets is greater than n, Qhull
- merges one of the facets into a neighbor. If 'n'
- is negative, Qhull tests angles after adding each
- point to the hull (pre-merging). If 'n' is posi-
- tive, Qhull tests angles after constructing the
- hull (post-merging). Both pre- and post-merging
- can be defined.
- Option 'C0' or 'C-0' is set if the corresponding
- 'Cn' or 'C-n' is not set. If 'Qx' is set, then 'A-
- n' and 'C-n' are checked after the hull is con-
- structed and before 'An' and 'Cn' are checked.
- Cn Centrum radius. If a centrum is less than n below
- a neighboring facet, Qhull merges one of the
- facets. If 'n' is negative or '-0', Qhull tests
- and merges facets after adding each point to the
- hull. This is called "pre-merging". If 'n' is
- positive, Qhull tests for convexity after con-
- structing the hull ("post-merging"). Both pre- and
- post-merging can be defined.
- For 5-d and higher, 'Qx' should be used instead of
- 'C-n'. Otherwise, most or all facets may be merged
- together.
- En Maximum roundoff error for distance computations.
- Rn Randomly perturb distance computations up to +/- n
- * max_coord. This option perturbs every distance,
- Geometry Center April 2, 1997 6
- qhull(1) qhull(1)
- hyperplane, and angle computation. To use time as
- the random number seed, use option 'QR-1'.
- Vn Minimum distance for a facet to be visible. A
- facet is visible if the distance from the point to
- the facet is greater than 'Vn'.
- Without merging, the default value for 'Vn' is the
- round-off error ('En'). With merging, the default
- value is the pre-merge centrum ('C-n') in 2-d or
- 3--d, or three times that in other dimensions. If
- the outside width is specified ('Wn'), the maximum,
- default value for 'Vn' is 'Wn'.
- Un Maximum distance below a facet for a point to be
- coplanar to the facet. The default value is 'Vn'.
- Wn Minimum outside width of the hull. Points are
- added to the convex hull only if they are clearly
- outside of a facet. A point is outside of a facet
- if its distance to the facet is greater than 'Wn'.
- The normal value for 'Wn' is 'En'. If the user
- specifies pre-merging and does not set 'Wn', than
- 'Wn' is set to the premerge 'Cn' and maxco-
- ord*(1-An).
- Additional input/output formats
- Fa Print area for each facet. For Delaunay triangula-
- tions, the area is the area of the triangle. For
- Voronoi vertices, the area is the area of the dual
- facet. Use 'PAn' for printing the n largest
- facets, and option 'PFn' for printing facets larger
- than 'n'.
- The area for non-simplicial facets is the sum of
- the areas for each ridge to the centrum. Vertices
- far below the facet's hyperplane are ignored. The
- reported area may be significantly less than the
- actual area.
- FA Compute the total area and volume for option 's'.
- It is an approximation for non-simplicial facets
- (see 'Fa').
- Fc Print coplanar points for each facet. The output
- starts with the number of facets. Then each facet
- is printed one per line. Each line is the number
- of coplanar points followed by the point ids.
- Option 'Qi' includes the interior points. Each
- coplanar point (interior point) is assigned to the
- facet it is furthest above (resp., least below).
- Geometry Center April 2, 1997 7
- qhull(1) qhull(1)
- FC Print centrums for each facet. The output starts
- with the dimension followed by the number of
- facets. Then each facet centrum is printed, one
- per line.
- Fd Read input in cdd format with homogeneous points.
- The input starts with comments. The first comment
- is reported in the summary. Data starts after a
- "begin" line. The next line is the number of
- points followed by the dimension+1 and "real" or
- "integer". Then the points are listed with a
- leading "1" or "1.0". The data ends with an "end"
- line.
- For halfspaces ('Fd Hn,n,...'), the input format is
- the same. Each halfspace starts with its offset.
- The sign of the offset is the opposite of Qhull's
- convention.
- FD Print normals ('n', 'Fo', 'Fi') or points ('p') in
- cdd format. The first line is the command line
- that invoked Qhull. Data starts with a "begin"
- line. The next line is the number of normals or
- points followed by the dimension+1 and "real".
- Then the normals or points are listed with the
- offset before the coefficients. The offset for
- points is 1.0. The offset for normals has the
- opposite sign. The data ends with an "end" line.
- FF Print facets (as in 'f') without printing the
- ridges.
- Fi Print inner planes for each facet. The inner plane
- is below all vertices.
- FI Print facet identifiers.
- Fm Print number of merges for each facet. At most 511
- merges are reported for a facet. See 'PMn' for
- printing the facets with the most merges.
- Fn Print neighbors for each facet. The output starts
- with the number of facets. Then each facet is
- printed one per line. Each line is the number of
- neighbors followed by an index for each neighbor.
- The indices match the other facet output formats.
- A negative index indicates an unprinted facet due
- to printing only good facets ('Pg'). It is the
- negation of the facet's id (option 'FI'). For
- example, negative indices are used for facets "at
- infinity" in the Delaunay triangulation.
- FN Print vertex neighbors or coplanar facet for each
- Geometry Center April 2, 1997 8
- qhull(1) qhull(1)
- point. The first line is the number of points.
- Then each point is printed, one per line. If the
- point is coplanar, the line is "1" followed by the
- facet's id. If the point is not a selected vertex,
- the line is "0". Otherwise, each line is the num-
- ber of neighbors followed by the corresponding
- facet indices (see 'Fn').
- Fo Print outer planes for each facet in the same for-
- mat as 'n'. The outer plane is above all points.
- FO List all options to stderr, including the default
- values. Additional 'FO's are printed to stdout.
- Fp Print points for halfspace intersections (option
- 'Hn,n,...'). Each intersection corresponds to a
- facet of the dual polytope. The "infinity" point
- [-10.101,-10.101,...] indicates an unbounded
- intersection.
- FP For each coplanar point ('Qc') print the point id
- of the nearest vertex, the point id, the facet id,
- and the distance.
- FQ Print command used for qhull and input.
- Fs Print a summary. The first line consists of the
- number of integers ("7"), followed by the dimen-
- sion, the number of points, the number of vertices,
- the number of facets, the number of vertices
- selected for output, the number of facets selected
- for output, the number of coplanar points selected
- for output.
- The second line consists of the number of reals
- ("2"), followed by the maxmimum offset to an outer
- plane and and minimum offset to an inner plane.
- Roundoff is included. Later versions of Qhull may
- produce additional integers or reals.
- FS Print the size of the hull. The first line con-
- sists of the number of integers ("0"). The second
- line consists of the number of reals ("2"), fol-
- lowed by the total facet area, and the total vol-
- ume. Later versions of Qhull may produce addi-
- tional integers or reals.
- The total volume measures the volume of the inter-
- section of the halfspaces defined by each facet.
- Both area and volume are approximations for non-
- simplicial facets. See option 'Fa'.
- Ft Print a triangulation with added points for non-
- simplicial facets. The first line is the dimension
- Geometry Center April 2, 1997 9
- qhull(1) qhull(1)
- and the second line is the number of points and the
- number of facets. The points follow, one per line,
- then the facets follow as a list of point indices.
- With option points include the point-at-infinity.
- Fv Print vertices for each facet. The first line is
- the number of facets. Then each facet is printed,
- one per line. Each line is the number of vertices
- followed by the corresponding point ids. Vertices
- are listed in the order they were added to the hull
- (the last one is first).
- FV Print average vertex. The average vertex is a fea-
- sible point for half-space intersection.
- Geomview options
- G Produce a file for viewing with Geomview. Without
- other options, Qhull displays edges in 2-d, outer
- planes in 3-d, and ridges in 4-d. A ridge can be
- explicit or implicit. An explicit ridge is a dim-1
- dimensional simplex between two facets. In 4-d,
- the explicit ridges are triangles. When displaying
- a ridge in 4-d, Qhull projects the ridge's vertices
- to one of its facets' hyperplanes. Use 'Gh' to
- project ridges to the intersection of both hyper-
- planes.
- Ga Display all input points as dots.
- Gc Display the centrum for each facet in 3-d. The
- centrum is defined by a green radius sitting on a
- blue plane. The plane corresponds to the facet's
- hyperplane. The radius is defined by 'C-n' or
- 'Cn'.
- GDn Drop dimension n in 3-d or 4-d. The result is a
- 2-d or 3-d object.
- Gh Display hyperplane intersections in 3-d and 4-d.
- In 3-d, the intersection is a black line. It lies
- on two neighboring hyperplanes (c.f., the blue
- squares associated with centrums ('Gc')). In 4-d,
- the ridges are projected to the intersection of
- both hyperplanes.
- Gi Display inner planes in 2-d and 3-d. The inner
- plane of a facet is below all of its vertices. It
- is parallel to the facet's hyperplane. The inner
- plane's color is the opposite (1-r,1-g,1-b) of the
- outer plane. Its edges are determined by the ver-
- tices.
- Geometry Center April 2, 1997 10
- qhull(1) qhull(1)
- Gn Do not display inner or outer planes. By default,
- Geomview displays the precise plane (no merging) or
- both inner and output planes (merging). Under
- merging, Geomview does not display the inner plane
- if the the difference between inner and outer is
- too small.
- Go Display outer planes in 2-d and 3-d. The outer
- plane of a facet is above all input points. It is
- parallel to the facet's hyperplane. Its color is
- determined by the facet's normal, and its edges are
- determined by the vertices.
- Gp Display coplanar points and vertices as radii. A
- radius defines a ball which corresponds to the
- imprecision of the point. The imprecision is the
- maximum of the roundoff error, the centrum radius,
- and maxcoord * (1-An). It is at least 1/20'th of
- the maximum coordinate, and ignores post-merging if
- pre-merging is done.
- Gr Display ridges in 3-d. A ridge connects the two
- vertices that are shared by neighboring facets.
- Ridges are always displayed in 4-d.
- Gt A 3-d Delaunay triangulation looks like a convex
- hull with interior facets. Option 'Gt' removes the
- outside ridges to reveal the outermost facets. It
- automatically sets options 'Gr' and 'GDn'.
- Gv Display vertices as spheres. The radius of the
- sphere corresponds to the imprecision of the data.
- See 'Gp' for determining the radius.
- Print options
- PAn Only the n largest facets are marked good for
- printing. Unless 'PG' is set, 'Pg' is automati-
- cally set.
- Pdk:n Drop facet from output if normal[k] <= n. The
- option 'Pdk' uses the default value of 0 for n.
- PDk:n Drop facet from output if normal[k] >= n. The
- option 'PDk' uses the default value of 0 for n.
- PFn Only facets with area at least 'n' are marked good
- for printing. Unless 'PG' is set, 'Pg' is automat-
- ically set.
- Pg Print only good facets. A good facet is either
- visible from a point (the 'QGn' option) or includes
- a point (the 'QVn' option). It also meets the
- Geometry Center April 2, 1997 11
- qhull(1) qhull(1)
- requirements of 'Pdk' and 'PDk' options. Option
- 'Pg' is automatically set for options 'PAn' and
- 'PFn'.
- PG Print neighbors of good facets.
- PMn Only the n facets with the most merges are marked
- good for printing. Unless 'PG' is set, 'Pg' is
- automatically set.
- Po Force output despite precision problems. The maxi-
- mum outside distance is not determined
- (qh_check_maxout). Verify ('Tv') does not check
- coplanar points. Flipped facets are reported and
- concave facets are counted. If 'Po' is used,
- points are not partitioned into flipped facets and
- a flipped facet is always visible to a point.
- Also, if an error occurs before the completion of
- Qhull and tracing is not active, 'Po' outputs a
- neighborhood of the erroneous facets (if any).
- Pp Do not report precision problems.
- Qhull control options
- Qbk:0Bk:0
- Drop dimension k from the input points. This
- allows the user to take convex hulls of sub-
- dimensional objects. It happens before the Delau-
- nay and Voronoi transformation.
- QbB Scale the input points to fit the unit cube. After
- scaling, the lower bound will be -0.5 and the upper
- bound +0.5 in all dimensions. For Delaunay and
- Voronoi diagrams, scaling happens after projection
- to the paraboloid. Under precise arithmetic, scal-
- ing does not change the topology of the convex
- hull.
- Qbb Scale the last coordinate to [0, m] where m is the
- maximum absolute value of the other coordinates.
- For Delaunay and Voronoi diagrams, scaling happens
- after projection to the paraboloid. It reduces
- roundoff error for inputs with integer coordinates.
- Under precise arithmetic, scaling does not change
- the topology of the convex hull.
- Qbk:n Scale the k'th coordinate of the input points.
- After scaling, the lower bound of the input points
- will be n. 'Qbk' scales to -0.5.
- QBk:n Scale the k'th coordinate of the input points.
- After scaling, the upper bound will be n. 'QBk'
- Geometry Center April 2, 1997 12
- qhull(1) qhull(1)
- scales to +0.5.
- Qc Keep coplanar points with the nearest facet. Out-
- put formats 'p', 'f', 'Gp', 'Fc', 'FN', and 'FP'
- will print the points.
- Qf Partition points to the furthest outside facet.
- Qg Only build good facets. With the 'Qg' option,
- Qhull will only build those facets that it needs to
- determine the good facets in the output. See
- 'QGn', 'QVn', and 'PdD' for defining good facets,
- and 'Pg' and 'PG' for printing good facets and
- their neighbors.
- QGn A facet is good (see 'Qg' and 'Pg') if it is visi-
- ble from point n. If n < 0, a facet is good if it
- is not visible from point n. Point n is not added
- to the hull (unless 'TCn' or 'TPn'). With rbox,
- use the 'Pn,m,r' option to define your point; it
- will be point 0 (QG0).
- Qi Keep interior points with the nearest facet. Out-
- put formats 'p', 'f', 'Gp', 'FN', 'FP', and 'Fc'
- will print the points.
- Qm Only process points that would otherwise increase
- max_outside. Other points are treated as coplanar
- or interior points.
- Qr Process random outside points instead of furthest
- ones. This makes Qhull equivalent to the random-
- ized incremental algorithms. CPU time is not
- reported since the randomization is inefficient.
- QRn Randomly rotate the input points. If n=0, use time
- as the random number seed. If n>0, use n as the
- random number seed. If n=-1, don't rotate but use
- time as the random number seed. For Delaunay tri-
- angulations ('d' and 'v'), rotate about the last
- axis.
- Qs Search all points for the initial simplex.
- Qv Test vertex neighbors for convexity after post-
- merging. To use the 'Qv' option, you also need to
- set a merge option (e.g., 'Qx' or 'C-0').
- QVn A good facet (see 'Qg' and 'Pg') includes point n.
- If n<0, then a good facet does not include point n.
- The point is either in the initial simplex or it is
- the first point added to the hull. Option 'QVn'
- may not be used with merging.
- Geometry Center April 2, 1997 13
- qhull(1) qhull(1)
- Qx Perform exact merges while building the hull. The
- "exact" merges are merging a point into a coplanar
- facet (defined by 'Vn', 'Un', and 'C-n'), merging
- concave facets, merging duplicate ridges, and merg-
- ing flipped facets. Coplanar merges and angle
- coplanar merges ('A-n') are not performed. Concav-
- ity testing is delayed until a merge occurs.
- After the hull is built, all coplanar merges are
- performed (defined by 'C-n' and 'A-n'), then post-
- merges are performed (defined by 'Cn' and 'An').
- Qz Add a point "at infinity" that is above the
- paraboloid for Delaunay triangulations and Voronoi
- vertices. This reduces precision problems and
- allows the triangulation of cospherical points.
- Qhull experiments and speedups
- Q0 Turn off pre-merging as a default option. With
- 'Q0'/'Qx' and without explicit pre-merge options,
- Qhull ignores precision issues while constructing
- the convex hull. This may lead to precision
- errors. If so, a descriptive warning is generated.
- Q1 With 'Q1', Qhull sorts merges by type (coplanar,
- angle coplanar, concave) instead of by angle.
- Q2 With 'Q2', Qhull merges all facets at once instead
- of using independent sets of merges and then
- retesting.
- Q3 With 'Q3', Qhull does not remove redundant ver-
- tices.
- Q4 With 'Q4', Qhull avoids merges of an old facet into
- a new facet.
- Q5 With 'Q5', Qhull does not correct outer planes at
- the end. The maximum outer plane is used instead.
- Q6 With 'Q6', Qhull does not pre-merge concave or
- coplanar facets.
- Q7 With 'Q7', Qhull processes facets in depth-first
- order instead of breadth-first order.
- Q8 With 'Q8' and merging, Qhull does not retain near-
- interior points for adjusting outer planes. 'Qc'
- will probably retain all points that adjust outer
- planes.
- Q9 With 'Q9', Qhull processes the furthest of all
- Geometry Center April 2, 1997 14
- qhull(1) qhull(1)
- outside sets at each iteration.
- Trace options
- Tn Trace at level n. Qhull includes full execution
- tracing. 'T-1' traces events. 'T1' traces the
- overall execution of the program. 'T2' and 'T3'
- trace overall execution and geometric and topologi-
- cal events. 'T4' traces the algorithm. 'T5'
- includes information about memory allocation and
- Gaussian elimination.
- Tc Check frequently during execution. This will catch
- most inconsistency errors.
- TCn Stop Qhull after building the cone of new facets
- for point n. The output for 'f' includes the cone
- and the old hull. See also 'TVn'.
- TFn Report progress whenever more than n facets are
- created During post-merging, 'TFn' reports progress
- after more than n/2 merges.
- TPn Turn on tracing when point n is added to the hull.
- Ts Collect statistics and print to stderr at the end
- of execution.
- Tv Verify the convex hull. This checks the topologi-
- cal structure, facet convexity, and point inclu-
- sion. If precision problems occurred, facet con-
- vexity is tested whether or not 'Tv' is selected.
- Option 'Tv' does not check point inclusion if forc-
- ing output with 'Po', or if 'Q5' is set.
- For point inclusion testing, Qhull verifies that
- all points are below all outer planes
- (facet->maxoutside). Point inclusion is exhaustive
- if merging or if the facet-point product is small
- enough; otherwise Qhull verifies each point with a
- directed search (qh_findbest).
- Point inclusion testing occurs after producing out-
- put. It prints a message to stderr unless option
- 'Pp' is used. This allows the user to interrupt
- Qhull without changing the output.
- TVn Stop Qhull after adding point n. If n < 0, stop
- Qhull before adding point n. Output shows the hull
- at this time. See also 'TCn'
- TMn Turn on tracing at n'th merge.
- Geometry Center April 2, 1997 15
- qhull(1) qhull(1)
- TWn Trace merge facets when the width is greater than
- n.
- Tz Redirect stderr to stdout.
- BUGS
- Please report bugs to Brad Barber at
- qhull_bug@geom.umn.edu.
- If Qhull does not compile, it is due to an incompatibility
- between your system and ours. The first thing to check is
- that your compiler is ANSI standard. If it is, check the
- man page for the best options, or find someone to help
- you. If you locate the cause of your problem, please send
- email since it might help others.
- If Qhull compiles but crashes on the test case (rbox D4),
- there's still incompatibility between your system and
- ours. Typically it's been due to mem.c and memory align-
- ment. You can use qh_NOmem in mem.h to turn off memory
- management. Please let us know if you figure out how to
- fix these problems.
- If you do find a problem, try to simplify it before
- reporting the error. Try different size inputs to locate
- the smallest one that causes an error. You're welcome to
- hunt through the code using the execution trace as a
- guide. This is especially true if you're incorporating
- Qhull into your own program.
- When you do report an error, please attach a data set to
- the end of your message. This allows us to see the error
- for ourselves. Qhull is maintained part-time.
- E-MAIL
- Please send correspondence to qhull@geom.umn.edu and
- report bugs to qhull_bug@geom.umn.edu. Let us know how
- you use Qhull. If you mention it in a paper, please send
- the reference and an abstract.
- If you would like to get Qhull announcements (e.g., a new
- version) and news (any bugs that get fixed, etc.), let us
- know and we will add you to our mailing list. If you
- would like to communicate with other Qhull users, we will
- add you to the qhull_users alias. For Internet news about
- geometric algorithms and convex hulls, look at
- comp.graphics.algorithms and sci.math.num-analysis
- SEE ALSO
- rbox(1)
- Geometry Center April 2, 1997 16
- qhull(1) qhull(1)
- Barber, C. B., D.P. Dobkin, and H.T. Huhdanpaa, "The
- Quickhull Algorithm for Convex Hulls," ACM Trans. on Math-
- ematical Software, Dec. 1996.
- http://www.acm.org/pubs/toc/Abstracts/toms/235821.html
- Clarkson, K.L., K. Mehlhorn, and R. Seidel, "Four results
- on randomized incremental construction," Computational
- Geometry: Theory and Applications, vol. 3, p. 185-211,
- 1993.
- Preparata, F. and M. Shamos, Computational Geometry,
- Springer-Verlag, New York, 1985.
- AUTHORS
- C. Bradford Barber Hannu Huhdanpaa
- bradb@geom.umn.edu hannu@geom.umn.edu
- c/o The Geometry Center
- University of Minnesota
- 1300 South Second Street, Suite 500
- Minneapolis, MN 55454
- ACKNOWLEDGEMENTS
- A special thanks to Albert Marden, Victor Milenkovic, the
- Geometry Center, and Harvard University for supporting
- this work.
- The software was developed under National Science Founda-
- tion grants NSF/DMS-8920161 and NSF-CCR-91-15793 750-7504.
- David Dobkin quided the original work at Princeton Univer-
- sity. If you find it useful, please let us know.
- The Geometry Center is supported by grant DMS-8920161 from
- the National Science Foundation, by grant DOE/DE-
- FG02-92ER25137 from the Department of Energy, by the Uni-
- versity of Minnesota, and by Minnesota Technology, Inc.
- Qhull is available by anonymous ftp from geom.umn.edu. To
- retrieve a copy: ftp geom.umn.edu, user: anonymous, cd
- pub/software, get qhull.tar.Z, quit, uncompress
- qhull.tar.Z, tar xf qhull.tar, cd qhull, make
- Geometry Center April 2, 1997 17
|