Geometry Algorithms



Algorithm_animWelcome to the website. The full list of Algorithm Titles is shown below, and active links indicate the algorithms that have been posted and are now accessible.

The purpose of this site is to provide practical geometric algorithms for the software developer. That is, algorithms that are:

      • Relevant - they solve significant geometric problems for real world applications
      • Correct - they give accurate solutions for the problems
      • Robust - they tolerate small numerical errors and avoid overflow within constraints
      • Efficient - they are fast in practice for typical applications, both small and large
      • Conservative - they use few resources, such as storage space
      • Maintainable - they are straightforward to implement and troubleshoot
      • Elegant - one can understand why they work, which gives confidence in their use.

In addition to geometry algorithms, we also have a site. Check it out to discover how geometry evolved from ancient to modern times.

Here is the full List of Algorithm Titles in the Geometry Algorithms Archive.
The full Table of Contents (TOC) gives a more detailed listing.
The C++ Code TOC gives links to all code given throughout our site.

Basic Linear Algebra

Geometry Algorithms

  1. Area of Triangles and Polygons
  2. Lines and Distance of a Point to a Line
  3. Fast Winding Number Inclusion of a Point in a Polygon (2D)
  4. Planes and Distance of a Point to a Plane
  5. Intersections of Lines, Segments and Planes (2D & 3D)
  6. Intersections of Rays, Segments, Planes and Triangles (3D)
  7. Distance between Lines, Segments and the Closest Point of Approach (2D & 3D)
  8. Bounding Containers for Polygons, Polyhedra and Point Sets (2D & 3D)
  9. Intersections for a Set of 2D Segments, and Testing for Simple Polygons (2D)
  10. Convex Hull of a Planar Point Set or Polygon (2D)
  11. Fast Approximate Convex Hull Algorithm (2D)
  12. Fast Convex Hull of a 2D Simple Polyline (2D)
  13. Intersection of a Segment with a Convex Polygon or Polyhedron (2D & 3D)
  14. Extreme Points of Convex Polygons and Distance of a Polygon to a Line (2D)
  15. Tangents to and between Polygons (2D)
  16. Polyline Decimation

C++ Code

  1. Core Classes
  2. Primitive Functions
  3. Application Level Routines

© Copyright 2012 Dan Sunday, 2001 softSurfer