289 lines
15 KiB
HTML
289 lines
15 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||
|
|
<html>
|
||
|
|
|
||
|
|
<head>
|
||
|
|
<title>Qhull code for Convex Hull, Delaunay Triangulation, Voronoi Diagram, and Halfspace Intersection about a Point</title>
|
||
|
|
</head>
|
||
|
|
|
||
|
|
<body>
|
||
|
|
<!-- Navigation links -->
|
||
|
|
<b>URL:</b> <a href="http://www.qhull.org">http://www.qhull.org</a>
|
||
|
|
• <a href="http://www.qhull.org/news">News</a>
|
||
|
|
• <a href="http://scholar.google.com/scholar?cites=13151392091060773178&as_sdt=40000005">Scholar</a>
|
||
|
|
• <a href=http://images.google.com/images?q=qhull&num=100>Images</a>
|
||
|
|
• <a href="https://github.com/qhull/qhull/wiki">GitHub</a>
|
||
|
|
<br><b>To:</b>
|
||
|
|
<a href="http://www.qhull.org/download">Download</a>
|
||
|
|
• <a href="README.txt">Readme</a>
|
||
|
|
• <a href="html/index.htm">Manual</a>
|
||
|
|
• <a href="html/qh-quick.htm#programs">Programs</a>
|
||
|
|
• <a href="html/qh-quick.htm#options">Options</a>
|
||
|
|
• <a href="html/qh-faq.htm">FAQ</a>
|
||
|
|
• <a href="html/qh-code.htm">Code</a>
|
||
|
|
• <a href="http://www.qhull.org/src/libqhull_r/index.htm">Functions</a>
|
||
|
|
</p>
|
||
|
|
|
||
|
|
<hr>
|
||
|
|
<!-- Main text of document -->
|
||
|
|
<table>
|
||
|
|
<tr><td valign=top>
|
||
|
|
<h1>Qhull</h1>
|
||
|
|
<a
|
||
|
|
href="http://www.geom.uiuc.edu/graphics/pix/Special_Topics/Computational_Geometry/cone.html"><img
|
||
|
|
src="html/qh--cone.gif" alt="[CONE]" align="middle" width="100"
|
||
|
|
height="100"></a>
|
||
|
|
</td><td>
|
||
|
|
Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram,
|
||
|
|
halfspace intersection about a point, furthest-site Delaunay
|
||
|
|
triangulation, and furthest-site Voronoi diagram. The source code runs in
|
||
|
|
2-d, 3-d, 4-d, and higher dimensions. Qhull implements the Quickhull
|
||
|
|
algorithm for computing the convex hull. It handles roundoff
|
||
|
|
errors from floating point arithmetic. It computes volumes,
|
||
|
|
surface areas, and approximations to the convex hull.</p>
|
||
|
|
|
||
|
|
<!-- duplicated in index.htm and html/index.htm -->
|
||
|
|
<p>Qhull does <i>not</i> support triangulation of non-convex surfaces, mesh
|
||
|
|
generation of non-convex objects, medium-sized inputs in 9-D
|
||
|
|
and higher, alpha shapes, weighted Voronoi diagrams, Voronoi volumes, or
|
||
|
|
constrained Delaunay triangulations, </p>
|
||
|
|
|
||
|
|
<p>If you call Qhull from your program, please use reentrant Qhull (libqhull_r or libqhullstatic_r).
|
||
|
|
If you use Qhull 2003.1, please upgrade or apply <a href="http://www.qhull.org/download/poly.c-qh_gethash.patch">poly.c-qh_gethash.patch</a>.
|
||
|
|
</p>
|
||
|
|
</td></tr></table>
|
||
|
|
|
||
|
|
<hr>
|
||
|
|
<form method=get action=http://www.google.com/search>
|
||
|
|
<input type=hidden name=sitesearch value=www.qhull.org>
|
||
|
|
<input type=hidden name=num value=100>
|
||
|
|
<ul>
|
||
|
|
<li><a href="http://www.qhull.org/news">News</a> and
|
||
|
|
<a href="http://www.qhull.org/news/qhull-news.html#bugs">Bugs</a>
|
||
|
|
about Qhull 2020.2 2020/08/31 (8.0.2)</li>
|
||
|
|
<li><a href="http://www.qhull.org/download">Download</a> Qhull (<a href="http://www.qhull.org/src/Changes.txt">changes</a>)</li>
|
||
|
|
<li><a href="https://github.com/qhull/qhull/wiki">GitHub</a> C++ interface to Qhull
|
||
|
|
<li><a href="html/index.htm">Introduction and manual</a> for Qhull and rbox with a <a href="html/qh-faq.htm">FAQ</a>
|
||
|
|
<li><a href="html/index.htm#geomview">Geomview</a> for 3-D and 4-D visualization of Qhull output
|
||
|
|
<li><input name=as_q size=10 value="">
|
||
|
|
<input type="submit" value="Search">
|
||
|
|
www.qhull.org
|
||
|
|
<p>
|
||
|
|
<li><a href="http://www.qhull.org/news/qhull-news.html#users">How</a> is Qhull used?</li>
|
||
|
|
<li><a href="http://scholar.google.com/scholar?cites=13151392091060773178&as_sdt=40000005">Google Scholar</a>,
|
||
|
|
and <a href="http://citeseerx.ist.psu.edu/showciting?doi=10.1.1.117.405&sort=cite">CiteSeer</a>
|
||
|
|
references to Qhull
|
||
|
|
<li>
|
||
|
|
<a href=http://www.google.com/search?as_q=qhull+-debian+-cvs+-gentoo+-pool+-mirrors&num=100>Google</a> Qhull,
|
||
|
|
<a href="http://images.google.com/images?q=qhull&num=100">Images</a>,
|
||
|
|
<a href="http://www.google.com/#q=qhull&tbm=bks">Books</a>,
|
||
|
|
<a href="http://www.google.com/search?q=qhull&tbm=pts">Patents</a>,
|
||
|
|
<a href="http://groups.google.com/groups?as_q=qhull&num=100&as_scoring=d">Newsgroups</a>,
|
||
|
|
and <a href=http://www.googlism.com/who_is/q/qhull/>Who is</a> Qhull?
|
||
|
|
|
||
|
|
|
||
|
|
<p>
|
||
|
|
<li><a href=http://www.mathworks.com/>MATLAB</a> uses Qhull for their n-d computational geometry functions:
|
||
|
|
<a href=http://www.mathworks.com/help/matlab/ref/convhulln.html>convhulln</a>
|
||
|
|
<a href=http://www.mathworks.com/help/matlab/ref/delaunayn.html>delaunayn</a>
|
||
|
|
<a href=http://www.mathworks.com/help/matlab/ref/griddatan.html>griddatan</a>
|
||
|
|
<a href=http://www.mathworks.com/help/matlab/ref/voronoin.html>voronoin</a>.
|
||
|
|
</li>
|
||
|
|
<li>The <a href="http://cran.r-project.org/web/packages/geometry/geometry.pdf">geometry</a> package of <a href="http://www.r-project.org/">R</a> provides <a href="http://geometry.r-forge.r-project.org/">Qhull in R</a>.
|
||
|
|
<li><a href=http://www.octave.org/>GNU Octave</a> includes Qhull for <a href="http://www.gnu.org/software/octave/doc/interpreter/Geometry.html">computational geometry<a>.
|
||
|
|
<li><a href=http://www.wolfram.com/products/mathematica/>Mathematica</a>'s Delaunay interface <a href=http://library.wolfram.com/infocenter/MathSource/1160/>qh-math</a>.
|
||
|
|
<li>The <a href="http://docs.scipy.org/doc/scipy/reference/tutorial/spatial.html">scipy.spatial</a> of <a href="http://scipy.org/">SciPy</a> is implemented with Qhull. It includes
|
||
|
|
support for Delaunay triangulations.
|
||
|
|
</ul>
|
||
|
|
</form>
|
||
|
|
|
||
|
|
<p><b>Introduction</b>
|
||
|
|
<ul>
|
||
|
|
<li><a
|
||
|
|
href="http://media.steampowered.com/apps/valve/2014/DirkGregorius_ImplementingQuickHull.pdf">Gregorius' talk</a> on implementing Quickhull,
|
||
|
|
Lloyd's <a href="https://www.cs.ubc.ca/~lloyd/java/quickhull3d.html">QuickHull3D</a> in Java,
|
||
|
|
and Newbold's <a href="http://dogfeathers.com/java/ccppoly.html">Waterman polyhedra</a>
|
||
|
|
<li><a
|
||
|
|
href="http://www.cs.mcgill.ca/~fukuda/soft/polyfaq/polyfaq.html"
|
||
|
|
>Fukuda's introduction</a> to convex hulls, Delaunay
|
||
|
|
triangulations, Voronoi diagrams, and linear programming</li>
|
||
|
|
<li><a
|
||
|
|
href="http://www.algorithmic-solutions.info/leda_guide/geometryalgorithms.html"
|
||
|
|
>LEDA Guide</a> to geometry algorithms
|
||
|
|
<li><a
|
||
|
|
href="http://mathworld.wolfram.com/ComputationalGeometry.html"
|
||
|
|
>MathWorld's</a> Computational Geometry from Wolfram Research
|
||
|
|
<li><a
|
||
|
|
href="http://www.cs.sunysb.edu/~algorith/major_section/1.6.shtml"
|
||
|
|
>Skiena's</a> Computational Geometry from his <i>Algorithm Design Manual</i>.
|
||
|
|
<li><a
|
||
|
|
href="http://www.cs.sunysb.edu/~algorith/major_section/1.6.shtml"
|
||
|
|
>Stony Brook</a> Algorithm Repository, computational geometry</li>
|
||
|
|
</ul>
|
||
|
|
|
||
|
|
<p><b>Qhull Documentation and Support</b>
|
||
|
|
<ul>
|
||
|
|
<li><a href="html/index.htm">Manual</a> for Qhull and rbox
|
||
|
|
<table><tr><td>
|
||
|
|
<ul>
|
||
|
|
<li>Quick reference to <a href="html/qh-quick.htm#programs">Programs</a> and <a href="html/qh-quick.htm#options">Options</a>
|
||
|
|
<li><a href="html/index.htm#when">When</a> to use Qhull
|
||
|
|
<li><a href="html/index.htm#description">Description</a> of Qhull
|
||
|
|
<li><a href="html/qh-impre.htm">Imprecision</a> in Qhull
|
||
|
|
<li><a href="html/qconvex.htm">qconvex</a> -- convex hull
|
||
|
|
<li><a href="html/qdelaun.htm">qdelaunay</a> -- Delaunay triangulation
|
||
|
|
<li><a href="html/qvoronoi.htm">qvoronoi</a> -- Voronoi diagram
|
||
|
|
<li><a href="html/qhalf.htm">qhalf</a> -- halfspace intersection about a point
|
||
|
|
<li><a href="html/rbox.htm">rbox</a> -- generate point distributions
|
||
|
|
</ul></td><td><ul>
|
||
|
|
<li><a href="README.txt">README.txt</a> - installation
|
||
|
|
instructions<br>
|
||
|
|
<li><a href="COPYING.txt">COPYING.txt</a> - copyright notice<br>
|
||
|
|
<li><a href="REGISTER.txt">REGISTER.txt</a> - registration<br>
|
||
|
|
<li><a href="html/index.htm#geomview">Geomview</a> for visualizing Qhull
|
||
|
|
<li><a href="html/qh-faq.htm">FAQ</a> - frequently asked
|
||
|
|
questions about Qhull</li>
|
||
|
|
<li><a href="src/Changes.txt">Changes.txt</a> - change history <br>
|
||
|
|
<li><a href="html/qh-code.htm">Qhull code</a>
|
||
|
|
<li><a href="html/qh-code.htm#performance">Performance</a> of Qhull
|
||
|
|
<li><a href="http://www.qhull.org/src/libqhull_r/index.htm">Index</a> to Qhull Functions
|
||
|
|
</ul>
|
||
|
|
</td></tr></table>
|
||
|
|
<li><a href="https://github.com/qhull/qhull/wiki/Qhull-build-systems">Qhull build systems</a>
|
||
|
|
<li>Send e-mail to <a href=mailto:qhull@qhull.org>qhull@qhull.org</a> </li>
|
||
|
|
<li>Report bugs to <a
|
||
|
|
href="mailto:qhull_bug@qhull.org">qhull_bug@qhull.org</a>
|
||
|
|
</ul>
|
||
|
|
|
||
|
|
<p><b>Related URLs</b>
|
||
|
|
<ul>
|
||
|
|
<li>Amenta's <a href="http://www.geom.uiuc.edu/software/cglist">directory</a> of
|
||
|
|
computational geometry software </li>
|
||
|
|
|
||
|
|
<li><a href=http://www.boost.org/libs/graph/doc/table_of_contents.html>BGL</a>
|
||
|
|
Boost Graph Library provides C++ classes for graph data structures
|
||
|
|
and algorithms,
|
||
|
|
<li><a href=http://www.cgal.org/>CGAL</a> and <a href=http://www.algorithmic-solutions.com/index.php/products/leda-for-c>Leda</a>
|
||
|
|
libraries for writing computational
|
||
|
|
geometry programs and other combinatorial algorithms
|
||
|
|
<li>Clarkson's <a
|
||
|
|
href="http://www.netlib.org/voronoi/hull.html">hull</a> program
|
||
|
|
with exact arithmetic for convex hulls, Delaunay triangulations,
|
||
|
|
Voronoi volumes, and alpha shapes. </li>
|
||
|
|
<li>Erickson's <a href="http://jeffe.cs.illinois.edu/compgeom/">
|
||
|
|
Computational Geometry</a> Pages and
|
||
|
|
<a href="http://jeffe.cs.illinois.edu/compgeom/code.html">Software</a>
|
||
|
|
<li>Fukuda's <a
|
||
|
|
href="http://www.cs.mcgill.ca/~fukuda/soft/cdd_home/cdd.html">
|
||
|
|
cdd</a> program for halfspace intersection and convex hulls (<a
|
||
|
|
href="http://www.csb.ethz.ch/tools/polco">Polco/Java</a>)</li>
|
||
|
|
<li>Gartner's <a href="http://www.inf.ethz.ch/personal/gaertner/miniball.html">
|
||
|
|
Miniball</a> for fast and robust smallest enclosing balls (up to 20-d)
|
||
|
|
|
||
|
|
<li><a href=http://www.mathtools.net/>Mathtools.net</a> of scientific and engineering
|
||
|
|
software
|
||
|
|
<li>Owen's <a href="http://www.imr.sandia.gov/papers/topics.html">International Meshing</a> Roundtable
|
||
|
|
<li>Schneiders' <a
|
||
|
|
href="http://www.robertschneiders.de/meshgeneration/meshgeneration.html">
|
||
|
|
Finite Element</a> Mesh Generation page</li>
|
||
|
|
<li>Shewchuk's <a href="http://www.cs.cmu.edu/~quake/triangle.html">triangle</a> program for 2-d Delaunay</li>
|
||
|
|
<li>Teillaud's <a href="http://www.computational-geometry.org/">Computional Geometry Pages</a> for the Society of Computational Geometry and academic conferences.
|
||
|
|
<li>Tomilov's <a href="https://github.com/tomilov/quickhull/blob/master/include/quickhull.hpp">quickhull.hpp</a> (<a href="http://habrahabr.ru/post/245221/">doc-ru</a>) implements the Quickhull algorithm for points in general position.
|
||
|
|
<li><a href=http://www.voronoi.com>Voronoi Web Site</a> for all things Voronoi
|
||
|
|
<li>Young's <a href="http://homepage.usask.ca/~ijm451/finite/fe_resources/">Internet Finite Element Resources</a>
|
||
|
|
<li>Zolotykh's <a href="http://www.uic.unn.ru/~zny/skeleton/">Skeleton</a> generates all extreme rays of a polyhedral cone using the Double Description Method</li>
|
||
|
|
</ul>
|
||
|
|
|
||
|
|
<p><b>FAQs and Newsgroups</b>
|
||
|
|
<ul>
|
||
|
|
<li><a
|
||
|
|
href="http://www.faqs.org/faqs/graphics/algorithms-faq/">FAQ</a>
|
||
|
|
for computer graphics algorithms
|
||
|
|
</li>
|
||
|
|
<li><a
|
||
|
|
href="http://lpsolve.sourceforge.net/4.0/LinearProgrammingFAQ.htm">FAQ</a> for linear programming </li>
|
||
|
|
<li><a href="news:comp.graphics.algorithms">Newsgroup</a>:
|
||
|
|
comp.graphics.algorithms </li>
|
||
|
|
<li><a href="news:comp.soft-sys.matlab">Newsgroup</a>:
|
||
|
|
comp.soft-sys.matlab</li>
|
||
|
|
<li><a href="news:sci.math.num-analysis">Newsgroup</a>:
|
||
|
|
sci.math.num-analysis </li>
|
||
|
|
<li><a href="news:sci.op-research">Newsgroup</a>:
|
||
|
|
sci.op-research </li>
|
||
|
|
</ul>
|
||
|
|
</blockquote>
|
||
|
|
<hr>
|
||
|
|
|
||
|
|
<p>The program includes options for input transformations,
|
||
|
|
randomization, tracing, multiple output formats, and execution
|
||
|
|
statistics. The program can be called from within your
|
||
|
|
application. </p>
|
||
|
|
|
||
|
|
<p>You can view the results in 2-d, 3-d and 4-d with <a
|
||
|
|
href="http://www.geomview.org">Geomview</a>. An alternative
|
||
|
|
is <a href=http://www.vtk.org/>VTK</a>.</p>
|
||
|
|
|
||
|
|
<p>For an article about Qhull, download from
|
||
|
|
<a href="https://dl.acm.org/authorize?N685077">ACM</a> or <a
|
||
|
|
href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.405">CiteSeer</a>:
|
||
|
|
</p>
|
||
|
|
|
||
|
|
<blockquote>
|
||
|
|
<p>Barber, C.B., Dobkin, D.P., and Huhdanpaa, H.T., "The
|
||
|
|
Quickhull algorithm for convex hulls," <i>ACM Trans. on
|
||
|
|
Mathematical Software</i>, 22(4):469-483, Dec 1996, http://www.qhull.org</p>
|
||
|
|
</blockquote>
|
||
|
|
|
||
|
|
<p>Abstract: </p>
|
||
|
|
|
||
|
|
<blockquote>
|
||
|
|
<p>The convex hull of a set of points is the smallest convex
|
||
|
|
set that contains the points. This article presents a
|
||
|
|
practical convex hull algorithm that combines the
|
||
|
|
two-dimensional Quickhull Algorithm with the general
|
||
|
|
dimension Beneath-Beyond Algorithm. It is similar to the
|
||
|
|
randomized, incremental algorithms for convex hull and
|
||
|
|
Delaunay triangulation. We provide empirical evidence that
|
||
|
|
the algorithm runs faster when the input contains non-extreme
|
||
|
|
points, and that it uses less memory. </p>
|
||
|
|
<p>Computational geometry algorithms have traditionally
|
||
|
|
assumed that input sets are well behaved. When an algorithm
|
||
|
|
is implemented with floating point arithmetic, this
|
||
|
|
assumption can lead to serious errors. We briefly describe a
|
||
|
|
solution to this problem when computing the convex hull in
|
||
|
|
two, three, or four dimensions. The output is a set of
|
||
|
|
"thick" facets that contain all possible exact convex hulls
|
||
|
|
of the input. A variation is effective in five or more
|
||
|
|
dimensions. </p>
|
||
|
|
</blockquote>
|
||
|
|
<!-- Navigation links -->
|
||
|
|
<hr>
|
||
|
|
|
||
|
|
<p><b>Up:</b> <a href="http://www.geom.uiuc.edu/software/past-projects.html"><i>Past Software
|
||
|
|
Projects of the Geometry Center</i></a> <br>
|
||
|
|
<b>URL:</b> <a href="http://www.qhull.org">http://www.qhull.org</a>
|
||
|
|
• <a href="http://www.qhull.org/news">News</a>
|
||
|
|
• <a href="http://scholar.google.com/scholar?cites=13151392091060773178&as_sdt=40000005">Scholar</a>
|
||
|
|
• <a href=http://images.google.com/images?q=qhull&num=100>Images</a>
|
||
|
|
• <a href="https://github.com/qhull/qhull/wiki">GitHub</a>
|
||
|
|
<br><b>To:</b>
|
||
|
|
<a href="http://www.qhull.org/download">Download</a>
|
||
|
|
• <a href="README.txt">Readme</a>
|
||
|
|
• <a href="html/index.htm#TOC">Manual</a>
|
||
|
|
• <a href="html/qh-quick.htm#programs">Programs</a>
|
||
|
|
• <a href="html/qh-quick.htm#options">Options</a>
|
||
|
|
• <a href="http://www.qhull.org/html/qh-faq.htm">FAQ</a>
|
||
|
|
• <a href="html/qh-code.htm">Code</a>
|
||
|
|
• <a href="http://www.qhull.org/src/libqhull_r/index.htm">Functions</a>
|
||
|
|
<!-- GC common information --></p>
|
||
|
|
|
||
|
|
<hr>
|
||
|
|
|
||
|
|
<p><a href="http://www.geom.uiuc.edu/"><img src="html/qh--geom.gif" alt="[HOME]"
|
||
|
|
align="middle"></a> <i>The Geometry Center Home Page</i> </p>
|
||
|
|
|
||
|
|
<p>Comments to: <a href="mailto:qhull@qhull.org">qhull@qhull.org</a>
|
||
|
|
<br>
|
||
|
|
Created: May 17 1995 --- <!-- hhmts start -->
|
||
|
|
</body>
|
||
|
|
</html>
|