des
descartes
cargo install descartes
des

descartes

Imprecision-tolerant computational geometry for Rust

by Anselm Eickhoff

0.1.20 (see all)License:MIT
cargo install descartes
Readme

descartes

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
  • 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)

It offers...

  • Reexported 2D & 3D Point/Vector operations from nalgebra
  • Projections from and onto lines, circles, segments, paths, bands
  • Intersections
    • between lines & circles
    • between line/circle segments
    • between paths
  • Axis-aligned bounding boxes for
    • line/circle segments
    • paths
  • Boolean operations between shapes
  • Orthogonal offsets of segments
  • True Orthogonal offsets of paths (without producing self-intersections)
  • A RoughEq Trait for comparing things within a tolerance, with implementations for P2, P3 and V2, P3

It internally uses...

  • "Thick" primitives for tolerances

descartes is named after René Descartes, the father of analytical geometry.

GitHub Stars

60

LAST COMMIT

2yrs ago

MAINTAINERS

1

CONTRIBUTORS

1

OPEN ISSUES

0

OPEN PRs

1
VersionTagPublished
0.1.20
2yrs ago
0.1.19
3yrs ago
0.1.18
4yrs ago
0.1.17
4yrs ago
No alternatives found
No tutorials found
Add a tutorial