#computational-geometry #geometry #robustness #stability #graphics

no-std robust

Robust adaptive floating-point predicates for computational geometry

9 releases (2 stable)

1.1.0 May 25, 2023
1.0.0 Mar 27, 2023
0.2.3 Jan 3, 2021
0.2.2 Aug 19, 2020
0.1.2 Jan 21, 2020

#31 in Algorithms

Download history 35453/week @ 2023-12-13 23883/week @ 2023-12-20 19366/week @ 2023-12-27 34391/week @ 2024-01-03 36677/week @ 2024-01-10 42716/week @ 2024-01-17 37680/week @ 2024-01-24 35314/week @ 2024-01-31 46831/week @ 2024-02-07 55277/week @ 2024-02-14 56729/week @ 2024-02-21 55118/week @ 2024-02-28 53988/week @ 2024-03-06 54449/week @ 2024-03-13 44458/week @ 2024-03-20 28697/week @ 2024-03-27

192,433 downloads per month
Used in 217 crates (14 directly)

MIT/Apache

480KB
2.5K SLoC

robust

Adaptive Precision Floating-Point Arithmetic and Fast Robust Predicates for Computational Geometry

See the Interactive notebook for more.

API Documentation

Visuals

Below are visualizations comparing naive and robust predicate implementations. To learn how these images were generated and how to interpret them, see examples/predicate-map/.

Naive Robust
incircle
orient2d

Source

These algorithms are ported from predicates.c, the canonical implementation of Jonathan Richard Shewchuk's "Robust adaptive floating-point geometric predicates".

Papers

Shewchuk, J.R., 1997. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete & Computational Geometry, 18(3), pp.305-363.

Shewchuk, J.R., 1996, May. Robust adaptive floating-point geometric predicates. In Proceedings of the twelfth annual symposium on Computational geometry (pp. 141-150).

License

Licensed under either of

at your option.

Dependencies