This commit is contained in:
2025-07-18 23:13:11 +02:00
parent c9485bf576
commit 652812eed0
2354 changed files with 1266414 additions and 1 deletions

View File

@@ -0,0 +1,280 @@
<h1 id="awesome-computational-geometry-awesome">Awesome Computational
Geometry <a href="https://awesome.re"><img
src="https://awesome.re/badge.svg" alt="Awesome" /></a></h1>
<blockquote>
<p>A curated list of awesome computational geometry visualizations,
libraries, and resources.</p>
</blockquote>
<p><a
href="https://en.wikipedia.org/wiki/Computational_geometry">Computational
geometry</a> is a topic in computer science that focuses on solving
problems in geometry. Applications of computational geometry include
computer-aided design, robotics, GIS systems, and computer vision.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#algorithm-visualizations">Algorithm
Visualizations</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#notes">Notes</a></li>
<li><a href="#libraries">Libraries</a></li>
<li><a href="#conferences">Conferences</a>
<ul>
<li><a href="#strictly-computational-geometry">Strictly Computational
Geometry</a></li>
<li><a href="#broader">Broader</a></li>
</ul></li>
<li><a href="#journals">Journals</a></li>
<li><a href="#competitive-programming">Competitive Programming</a></li>
<li><a href="#courses">Courses</a>
<ul>
<li><a href="#open-courses">Open Courses</a></li>
<li><a href="#university-courses">University Courses</a></li>
</ul></li>
<li><a href="#miscellaneous">Miscellaneous</a></li>
</ul>
<h2 id="algorithm-visualizations">Algorithm Visualizations</h2>
<ul>
<li><a href="https://visualgo.net/en/convexhull?slide=1">Convex Hull</a>
- The convex hull of a shape is the smallest convex set that contains
it.</li>
<li><a
href="https://erencan-02.github.io/ConvexHullVisualizer/index.html">Convex
Hull Algorithms</a> - A website with visualizations of many convex hull
algorithms, including gift wrapping, Grahams scan, quickhull, divide
and conquer, monotone chain, and Chans algorithm.</li>
<li><a
href="http://sophiedasinger.github.io/Classwork/163proj/#viz">Chans
Algorithm</a> - An optimal output-sensitive algorithm to compute the
convex hull of a set of points in 2 or 3 dimensions.</li>
<li><a href="http://rkaneriya.github.io/point-location/">Kirkpatricks
Point location</a> - A data structure and method for point location with
O(n) space and O(log n) query time using triangulation.</li>
<li><a href="http://alexbeutel.com/webgl/voronoi.html">Voronoi
Diagrams</a> - A partition of a plane into regions close to a given set
of points.</li>
<li><a href="https://www.desmos.com/calculator/ejatebvup4">Fortunes
Algorithm</a> - A sweep line algorithm for generating the Voronoi
diagram in O(n log n) time and O(n) space.</li>
<li><a
href="https://people.eng.unimelb.edu.au/henli/programs/duality-demo/">Point/Line
Duality</a> - A type of mathematical duality frequently used in
computational geometry algorithms.</li>
<li><a
href="https://opendsa-server.cs.vt.edu/ODSA/AV/Development/kd-treeAV.html?selfLoggingEnabled=false&amp;localMode=false&amp;module=KDtree&amp;JXOP-debug=true&amp;JOP-lang=en&amp;JXOP-code=java&amp;scoringServerEnabled=false&amp;threshold=1.0&amp;points=0&amp;required=False">k-d
tree</a> - A method of partitioning k-dimensional space in an efficient
way for searches like nearest neighbors.</li>
<li><a href="https://www.youtube.com/watch?v=SBFwgR4K1Gk">Configuration
Space</a> - The space of possible configurations of an object like a
robot.</li>
</ul>
<h2 id="books">Books</h2>
<ul>
<li><a
href="https://www.amazon.com/Computational-Geometry-Applications-Mark-Berg/dp/3540779736">Computational
Geometry: Algorithms and Applications</a> - A textbook by Mark de Berg,
Otfried Cheong, Marc van Kreveld, and Mark Overmars (2008).</li>
<li><a
href="https://www.amazon.com/Computational-Geometry-Cambridge-Theoretical-Paperback/dp/0521649765">Computational
Geometry in C</a> - A popular introduction to the design and
implementation of geometry algorithms arising in areas such as computer
graphics, robotics, and engineering design by Joseph ORourke
(1998).</li>
<li><a
href="https://www.amazon.com/Computational-Geometry-Introduction-Monographs-Computer/dp/0387961313">Computational
Geometry: An Introduction</a> - An introductory textbook by Franco P.
Preparata and Michael I. Shamos (1993).</li>
<li><a
href="https://www.amazon.com/Algorithmic-Geometry-Jean-Daniel-Boissonnat/dp/0521565294">Algorithmic
Geometry</a> - A textbook by Jean-Daniel Boissonnat, Mariette Yvinec,
and Herve Bronniman (1998).</li>
<li><a
href="https://www.amazon.com/Discrete-Computational-Geometry-Satyan-Devadoss/dp/0691145539">Discrete
and Computational Geometry</a> - A comprehensive yet accessible
introduction to the intermingling of discrete geometry, a relatively new
development in pure mathematics, and computational geometry, an emerging
area in applications-driven computer science by Satyan L. Devadoss and
Joseph ORourke (2011).</li>
<li><a
href="http://www.clearviewtraining.com/interactive-computational.html">Interactive
Computational Geometry - A taxonomic approach</a> - An interactive
introduction to some of the fundamental algorithms of computational
geometry with Mathematica by Jim Arlow (2014).</li>
</ul>
<h2 id="notes">Notes</h2>
<ul>
<li><a
href="http://www.cs.umd.edu/~mount/754/Lects/754lects.pdf">Lecture
Notes</a> - Lecture notes from CMSC 754 Computational Geometry at the
University of Maryland by David Mount (2002).</li>
<li><a href="https://www.csun.edu/~ctoth/Handbook/HDCG3.html">Handbook
of Discrete and Computational Geometry</a> - A handbook by Jacob E.
Goodman, Joseph ORourke, and Csaba D. Tóth (2017).</li>
<li><a
href="https://www.amazon.com/Handbook-Computational-Geometry-J-Sack-ebook/dp/B00QM3S1SC">Handbook
of Computational Geometry</a> - An overview of key concepts and results
in computational geometry by J. R. Sack, and J. Urrutia (1998).</li>
<li><a
href="https://www.amazon.com/Computing-Euclidean-Geometry-Lecture-Notes/dp/9810218761">Computing
in Euclidean Geometry</a> - A collection of surveys and exploratory
articles about recent developments in the field of computational
Euclidean geometry by Ding-Zhu Du and Frank Hwang (1995).</li>
</ul>
<h2 id="libraries">Libraries</h2>
<ul>
<li><a href="https://www.cgal.org/">CGAL</a> - A software project that
provides easy access to efficient and reliable geometric algorithms in
the form of a C++ library. This website also has explanations of many of
these algorithms.</li>
<li><a href="http://www.wykobi.com/index.html">Wykobi</a> - An extremely
efficient, robust, and simple to use C++ 2D/3D oriented computational
geometry library.</li>
<li><a
href="https://github.com/gradientspace/geometry3Sharp">geometry3Sharp</a>
- Open-Source, Boost-licensed C# library for geometric computing.</li>
<li><a
href="http://jeffe.cs.illinois.edu/compgeom/software.html">Computational
Geometry Software Libraries</a> - UIUCs large collection and library of
geometric software by Jeff Erickson.</li>
<li><a
href="http://www3.cs.stonybrook.edu/~algorith/major_section/1.6.shtml">The
Stony Brook Algorithm Repository</a> - A repository of algorithms based
on <a
href="https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693">The
Algorithm Design Manual</a>.</li>
<li><a href="https://www.geometrictools.com/index.html">Geometric
Tools</a> - A library of source code for computing in the fields of
mathematics, graphics, image analysis, and physics that includes some
computational geometry algorithms.</li>
<li><a href="http://www.geolib.co.uk/">GeoLib</a> - A fast and efficient
computational geometry library available in C++, C# and Java.</li>
<li><a href="https://github.com/AndriiHeonia/hull">hull.js</a> -
JavaScript library that builds the convex hull of a set of points.</li>
<li><a href="https://github.com/google/s2geometry">S2 Geometry
Library</a> - A package for manipulating geometric shapes. Unlike many
geometry libraries, S2 is primarily designed to work with spherical
geometry, i.e., shapes drawn on a sphere rather than on a planar 2D map.
This makes it especially suitable for working with geographic data.</li>
<li><a
href="https://github.com/Habrador/Computational-geometry">Computational
Geometry Unity Library</a> - A library of computational geometry
algorithms for Unity.</li>
</ul>
<h2 id="conferences">Conferences</h2>
<h3 id="strictly-computational-geometry">Strictly Computational
Geometry</h3>
<ul>
<li><a href="http://www.computational-geometry.org/">Symposium on
Computational Geometry</a> - An annual symposium.</li>
<li><a href="http://www.cccg.ca/">The Canadian Conference on
Computational Geometry</a> - An annual international event for the
dissemination of new results in the fields of computational and
combinatorial geometry. The conference is usually held in a Canadian
city sometime in mid-August.</li>
<li><a href="http://www.alg.cei.uec.ac.jp/itohiro/JCDCGG/">Japan
Conference on Discrete and Computational Geometry, Graphs, and Games</a>
- A conference held annually since 1997, except for 2008.</li>
</ul>
<h3 id="broader">Broader</h3>
<ul>
<li><a
href="https://www.siam.org/conferences/cm/conference/soda22">Symposium
on Discrete Algorithms</a> - ACM-SIAM, held annually.</li>
<li><a href="http://acm-stoc.org/">Annual ACM Symposium on Theory of
Computing</a> - STOC covers all areas of research within Algorithms and
Computation Theory.</li>
<li><a href="http://ieee-focs.org/">IEEE Symposium on Foundations of
Computer Science</a> - The flagship conference sponsored by the IEEE
Computer Society Technical Committee on the Mathematical Foundations of
Computing (TCMF) and covers a broad range of theoretical computer
science.</li>
<li><a href="http://allerton.csl.illinois.edu/">Annual Allerton
Conference on Communications, Control and Computing</a> - Draws some of
the brightest minds from industry, academia, and government to discuss
innovation in the fields of communication, control, and computing.</li>
</ul>
<h2 id="journals">Journals</h2>
<ul>
<li><a href="https://arxiv.org/list/cs.CG/recent">arXiv</a> - Recent
submissions to arXiv about computational geometry.</li>
<li><a
href="https://www.journals.elsevier.com/computational-geometry">Elsevier</a>
- A forum for research in theoretical and applied aspects of
computational geometry.</li>
<li><a href="https://jocg.org/index.php/jocg">Journal of Computational
Geometry</a> - An international open access journal devoted to
publishing original research of the highest quality in all aspects of
computational geometry.</li>
</ul>
<h2 id="competitive-programming">Competitive Programming</h2>
<ul>
<li><a
href="https://www.hackerearth.com/practice/notes/computational-geometry-i-1/">HackerEarth</a>
- A set of articles on computational geometry.</li>
<li><a
href="https://www.topcoder.com/community/data-science/data-science-tutorials/geometry-concepts-basic-concepts/">TopCoder</a>
- A set of articles on computational geometry.</li>
<li><a
href="https://www.hackerrank.com/domains/mathematics/geometry">HackerRank</a>
- A set of programming problems using computational geometry.</li>
<li><a
href="https://www.geeksforgeeks.org/geometric-algorithms/">GeeksforGeeks</a>
- Implementations and explanations for a large number of commonly asked
questions and common topics in geometric algorithms.</li>
</ul>
<h2 id="courses">Courses</h2>
<h3 id="open-courses">Open Courses</h3>
<ul>
<li><a
href="https://ocw.mit.edu/courses/mechanical-engineering/2-158j-computational-geometry-spring-2003/">MIT
OCW</a> - A course taught by Nicholas Patrikalakis and Takashi Maekawa
in 2013.</li>
<li><a
href="https://www.udemy.com/course/mastering-computational-geometry-cpp/">Udemy</a>
- A course about implementing computational geometry algorithms in
C++.</li>
<li><a href="https://www.edx.org/course/computational-geometry">edX</a>
- A course in computational geometry.</li>
<li><a
href="https://brilliant.org/practice/computational-geometry-intro/">Brilliant</a>
- Practice problems for basic concepts in computational geometry.</li>
</ul>
<h3 id="university-courses">University Courses</h3>
<ul>
<li><a href="http://cs.brown.edu/courses/cs252/">Brown University</a> -
A course taught by Roberto Tamassia in 2005.</li>
<li><a href="http://www.cs.wustl.edu/~taoju/cse546/">Washington
University in St. Louis</a> - A course taught by Tao Ju in 2017.</li>
<li><a href="http://www.cs.umd.edu/~mount/754/">The University of
Maryland</a> - A course taught by Dave Mount in 2002.</li>
<li><a href="https://sites.cs.ucsb.edu/~suri/cs235/235.html">UC Santa
Barbara</a> - A course taught by Subhash Suri in 2021.</li>
<li><a href="https://jeffe.cs.illinois.edu/teaching/compgeom/">UIUC</a>
- A course taught by Jeff Erickson in 2022.</li>
<li><a href="https://people.eecs.berkeley.edu/~jrs/274/">UC Berkeley</a>
- A course taught by Jonathan Shewchuk in 2019.</li>
<li><a href="http://www.cs.tufts.edu/comp/163/">Tufts</a> - A course
taught by Diane Souvaine in 2022.</li>
<li><a
href="https://i11www.iti.kit.edu/teaching/sommer2018/compgeom/index">KIT</a>
- A course taught by Tamara Mchedlidze and Chih-Hung Liu in 2018.</li>
</ul>
<h2 id="miscellaneous">Miscellaneous</h2>
<ul>
<li><a href="https://topp.openproblem.net/">The Open Problems
Project</a> - A project aimed to record important open problems in
computational geometry and related fields.</li>
<li><a
href="https://reference.wolfram.com/language/guide/GeometricComputation.html">Wolfram</a>
- Documentation for computational geometry algorithms implemented in the
Wolfram language.</li>
<li><a
href="https://www.mathworks.com/help/matlab/computational-geometry.html">Matlab</a>
- Documentation for computational geometry algorithms implemented in the
Matlab.</li>
</ul>
<h2 id="contributing">Contributing</h2>
<p>Contributions are welcome! See the <a
href="contributing.md">contribution guidelines</a>.</p>
<p><a
href="https://github.com/atkirtland/awesome-computational-geometry">computationalgeometry.md
Github</a></p>