descartes is a...
- Error-tolerant 2D geometry engine
- that allows for arbitrary error tolerances
- dealing with both floating-point inaccuracies and much larger user input inaccuracies
With the following primitives:
- line/circle segment
And the following compound objects:
- Path (continuous concatenation of line/circle segments)
- Shape (Path outline with 0..n Path holes)
- Band (a path with a thickness)
- Reexported 2D & 3D Point/Vector operations from
- Projections from and onto lines, circles, segments, paths, bands
- between lines & circles
- between line/circle segments
- between paths
- Axis-aligned bounding boxes for
- line/circle segments
- Boolean operations between shapes
- Orthogonal offsets of segments
- True Orthogonal offsets of paths (without producing self-intersections)
RoughEqTrait for comparing things within a tolerance, with implementations for
It internally uses...
- "Thick" primitives for tolerances
descartes is named after René Descartes, the father of analytical geometry.