{"id":635,"url":"https://github.com/atkirtland/awesome-computational-geometry","last_synced_at":"2025-08-13T20:32:10.238Z","repository":{"id":46241177,"uuid":"114578383","full_name":"atkirtland/awesome-computational-geometry","owner":"atkirtland","description":"A curated list of awesome computational geometry visualizations, frameworks, and resources ","archived":false,"fork":false,"pushed_at":"2022-09-28T04:50:17.000Z","size":25,"stargazers_count":93,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-10T14:15:13.858Z","etag":null,"topics":["algorithm","algorithms","awesome","awesome-list","computer-science","geometry","mathematics"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atkirtland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-18T00:11:31.000Z","updated_at":"2025-07-29T17:13:09.000Z","dependencies_parsed_at":"2022-09-17T10:20:19.588Z","dependency_job_id":null,"html_url":"https://github.com/atkirtland/awesome-computational-geometry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/atkirtland/awesome-computational-geometry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atkirtland%2Fawesome-computational-geometry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atkirtland%2Fawesome-computational-geometry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atkirtland%2Fawesome-computational-geometry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atkirtland%2Fawesome-computational-geometry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atkirtland","download_url":"https://codeload.github.com/atkirtland/awesome-computational-geometry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atkirtland%2Fawesome-computational-geometry/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270305842,"owners_count":24562109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","algorithms","awesome","awesome-list","computer-science","geometry","mathematics"],"created_at":"2024-01-05T20:13:00.732Z","updated_at":"2025-08-13T20:32:10.185Z","avatar_url":"https://github.com/atkirtland.png","language":null,"funding_links":[],"categories":["Miscellaneous","Uncategorized","Other Lists","Themed Directories"],"sub_categories":["Uncategorized","TeX Lists","Updated in the last year"],"readme":"# Awesome Computational Geometry [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e A curated list of awesome computational geometry visualizations, libraries, and resources.\n\n[Computational geometry](https://en.wikipedia.org/wiki/Computational_geometry) is a topic in computer science that focuses on solving problems in geometry. \nApplications of computational geometry include computer-aided design, robotics, GIS systems, and computer vision. \n\n## Contents\n\n- [Algorithm Visualizations](#algorithm-visualizations)\n- [Books](#books)\n- [Notes](#notes)\n- [Libraries](#libraries)\n- [Conferences](#conferences)\n  - [Strictly Computational Geometry](#strictly-computational-geometry)\n  - [Broader](#broader)\n- [Journals](#journals)\n- [Competitive Programming](#competitive-programming)\n- [Courses](#courses)\n  - [Open Courses](#open-courses)\n  - [University Courses](#university-courses)\n- [Miscellaneous](#miscellaneous)\n\n## Algorithm Visualizations\n\n- [Convex Hull](https://visualgo.net/en/convexhull?slide=1) - The convex hull of a shape is the smallest convex set that contains it.\n- [Convex Hull Algorithms](https://erencan-02.github.io/ConvexHullVisualizer/index.html) - A website with visualizations of many convex hull algorithms, including gift wrapping, Graham's scan, quickhull, divide and conquer, monotone chain, and Chan's algorithm.\n- [Chan's Algorithm](http://sophiedasinger.github.io/Classwork/163proj/#viz) - An optimal output-sensitive algorithm to compute the convex hull of a set of points in 2 or 3 dimensions.\n- [Kirkpatrick's Point location](http://rkaneriya.github.io/point-location/) - A data structure and method for point location with O(n) space and O(log n) query time using triangulation.\n- [Voronoi Diagrams](http://alexbeutel.com/webgl/voronoi.html) - A partition of a plane into regions close to a given set of points.\n- [Fortune's Algorithm](https://www.desmos.com/calculator/ejatebvup4) - A sweep line algorithm for generating the Voronoi diagram in O(n log n) time and O(n) space.\n- [Point/Line Duality](https://people.eng.unimelb.edu.au/henli/programs/duality-demo/) - A type of mathematical duality frequently used in computational geometry algorithms.\n- [k-d tree](https://opendsa-server.cs.vt.edu/ODSA/AV/Development/kd-treeAV.html?selfLoggingEnabled=false\u0026localMode=false\u0026module=KDtree\u0026JXOP-debug=true\u0026JOP-lang=en\u0026JXOP-code=java\u0026scoringServerEnabled=false\u0026threshold=1.0\u0026points=0\u0026required=False) - A method of partitioning k-dimensional space in an efficient way for searches like nearest neighbors.\n- [Configuration Space](https://www.youtube.com/watch?v=SBFwgR4K1Gk) - The space of possible configurations of an object like a robot.\n\n## Books\n\n- [Computational Geometry: Algorithms and Applications](https://www.amazon.com/Computational-Geometry-Applications-Mark-Berg/dp/3540779736) - A textbook by Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars (2008).\n- [Computational Geometry in C](https://www.amazon.com/Computational-Geometry-Cambridge-Theoretical-Paperback/dp/0521649765) -  A popular introduction to the design and implementation of geometry algorithms arising in areas such as computer graphics, robotics, and engineering design by Joseph O'Rourke (1998).\n- [Computational Geometry: An Introduction](https://www.amazon.com/Computational-Geometry-Introduction-Monographs-Computer/dp/0387961313) - An introductory textbook by Franco P. Preparata and Michael I. Shamos (1993).\n- [Algorithmic Geometry](https://www.amazon.com/Algorithmic-Geometry-Jean-Daniel-Boissonnat/dp/0521565294) - A textbook by Jean-Daniel Boissonnat, Mariette Yvinec, and Herve Bronniman (1998).\n- [Discrete and Computational Geometry](https://www.amazon.com/Discrete-Computational-Geometry-Satyan-Devadoss/dp/0691145539) -  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 O'Rourke (2011).\n- [Interactive Computational Geometry - A taxonomic approach](http://www.clearviewtraining.com/interactive-computational.html) - An interactive introduction to some of the fundamental algorithms of computational geometry with Mathematica by Jim Arlow (2014).\n\n## Notes\n\n- [Lecture Notes](http://www.cs.umd.edu/~mount/754/Lects/754lects.pdf) - Lecture notes from CMSC 754 Computational Geometry at the University of Maryland by David Mount (2002).\n- [Handbook of Discrete and Computational Geometry](https://www.csun.edu/~ctoth/Handbook/HDCG3.html) - A handbook by Jacob E. Goodman, Joseph O'Rourke, and Csaba D. Tóth (2017).\n- [Handbook of Computational Geometry](https://www.amazon.com/Handbook-Computational-Geometry-J-Sack-ebook/dp/B00QM3S1SC) - An overview of key concepts and results in computational geometry by J. R. Sack, and J. Urrutia (1998).\n- [Computing in Euclidean Geometry](https://www.amazon.com/Computing-Euclidean-Geometry-Lecture-Notes/dp/9810218761) - 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).\n\n## Libraries\n\n- [CGAL](https://www.cgal.org/) - 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.\n- [Wykobi](http://www.wykobi.com/index.html) - An extremely efficient, robust, and simple to use C++ 2D/3D oriented computational geometry library.\n- [geometry3Sharp](https://github.com/gradientspace/geometry3Sharp) - Open-Source, Boost-licensed C# library for geometric computing.\n- [Computational Geometry Software Libraries](http://jeffe.cs.illinois.edu/compgeom/software.html) - UIUC's large collection and library of geometric software by Jeff Erickson.\n- [The Stony Brook Algorithm Repository](http://www3.cs.stonybrook.edu/~algorith/major_section/1.6.shtml) - A repository of algorithms based on [The Algorithm Design Manual](https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693).\n- [Geometric Tools](https://www.geometrictools.com/index.html) - A library of source code for computing in the fields of mathematics, graphics, image analysis, and physics that includes some computational geometry algorithms.\n- [GeoLib](http://www.geolib.co.uk/) - A fast and efficient computational geometry library available in C++, C# and Java.\n- [hull.js](https://github.com/AndriiHeonia/hull) - JavaScript library that builds the convex hull of a set of points.\n- [S2 Geometry Library](https://github.com/google/s2geometry) - 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.\n- [Computational Geometry Unity Library](https://github.com/Habrador/Computational-geometry) - A library of computational geometry algorithms for Unity.\n\n## Conferences\n\n### Strictly Computational Geometry\n\n- [Symposium on Computational Geometry](http://www.computational-geometry.org/) - An annual symposium.\n- [The Canadian Conference on Computational Geometry](http://www.cccg.ca/) - 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.\n- [Japan Conference on Discrete and Computational Geometry, Graphs, and Games](http://www.alg.cei.uec.ac.jp/itohiro/JCDCGG/) - A conference held annually since 1997, except for 2008.\n\n### Broader\n\n- [Symposium on Discrete Algorithms](https://www.siam.org/conferences/cm/conference/soda22) - ACM-SIAM, held annually.\n- [Annual ACM Symposium on Theory of Computing](http://acm-stoc.org/) - STOC covers all areas of research within Algorithms and Computation Theory.\n- [IEEE Symposium on Foundations of Computer Science](http://ieee-focs.org/) - 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.\n- [Annual Allerton Conference on Communications, Control and Computing](http://allerton.csl.illinois.edu/) - Draws some of the brightest minds from industry, academia, and government to discuss innovation in the fields of communication, control, and computing.\n\n## Journals\n\n- [arXiv](https://arxiv.org/list/cs.CG/recent) - Recent submissions to arXiv about computational geometry.\n- [Elsevier](https://www.journals.elsevier.com/computational-geometry) - A forum for research in theoretical and applied aspects of computational geometry.\n- [Journal of Computational Geometry](https://jocg.org/index.php/jocg) - An international open access journal devoted to publishing original research of the highest quality in all aspects of computational geometry.\n\n## Competitive Programming\n\n- [HackerEarth](https://www.hackerearth.com/practice/notes/computational-geometry-i-1/) - A set of articles on computational geometry.\n- [TopCoder](https://www.topcoder.com/community/data-science/data-science-tutorials/geometry-concepts-basic-concepts/) - A set of articles on computational geometry.\n- [HackerRank](https://www.hackerrank.com/domains/mathematics/geometry) - A set of programming problems using computational geometry.\n- [GeeksforGeeks](https://www.geeksforgeeks.org/geometric-algorithms/) - Implementations and explanations for a large number of commonly asked questions and common topics in geometric algorithms.\n\n## Courses\n\n### Open Courses\n\n- [MIT OCW](https://ocw.mit.edu/courses/mechanical-engineering/2-158j-computational-geometry-spring-2003/) - A course taught by Nicholas Patrikalakis and Takashi Maekawa in 2013.\n- [Udemy](https://www.udemy.com/course/mastering-computational-geometry-cpp/) - A course about implementing computational geometry algorithms in C++.\n- [edX](https://www.edx.org/course/computational-geometry) - A course in computational geometry.\n- [Brilliant](https://brilliant.org/practice/computational-geometry-intro/) - Practice problems for basic concepts in computational geometry.\n\n### University Courses\n\n- [Brown University](http://cs.brown.edu/courses/cs252/) - A course taught by Roberto Tamassia in 2005.\n- [Washington University in St. Louis](http://www.cs.wustl.edu/~taoju/cse546/) - A course taught by Tao Ju in 2017.\n- [The University of Maryland](http://www.cs.umd.edu/~mount/754/) - A course taught by Dave Mount in 2002.\n- [UC Santa Barbara](https://sites.cs.ucsb.edu/~suri/cs235/235.html) - A course taught by Subhash Suri in 2021.\n- [UIUC](https://jeffe.cs.illinois.edu/teaching/compgeom/) - A course taught by Jeff Erickson in 2022.\n- [UC Berkeley](https://people.eecs.berkeley.edu/~jrs/274/) - A course taught by Jonathan Shewchuk in 2019.\n- [Tufts](http://www.cs.tufts.edu/comp/163/) - A course taught by Diane Souvaine in 2022.\n- [KIT](https://i11www.iti.kit.edu/teaching/sommer2018/compgeom/index) - A course taught by Tamara Mchedlidze and Chih-Hung Liu in 2018.\n\n## Miscellaneous\n\n- [The Open Problems Project](https://topp.openproblem.net/) - A project aimed to record important open problems in computational geometry and related fields.\n- [Wolfram](https://reference.wolfram.com/language/guide/GeometricComputation.html) - Documentation for computational geometry algorithms implemented in the Wolfram language.\n- [Matlab](https://www.mathworks.com/help/matlab/computational-geometry.html) - Documentation for computational geometry algorithms implemented in the Matlab.\n\n## Contributing\n\nContributions are welcome! See the [contribution guidelines](contributing.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatkirtland%2Fawesome-computational-geometry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatkirtland%2Fawesome-computational-geometry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatkirtland%2Fawesome-computational-geometry/lists"}