2D and 3D collision-detection library for the Rust programming language.
Complex shapes
Supports 2D and 3D shapes, from simple spheres to arbitrary triangle meshes, heightfields, convex polyhedra.
Bounding volumes
Bound complex shapes with simpler ones like AABB and bounding spheres to perform efficient conservative geometric queries.
Ray casting
Compute intersections between a ray and any shape. Typical use-case include object selection and rendering (ray-tracing).
Point projection
Test a point for containment, compute distances to a point, or project it on any shape.
Contact points
Find the closest points between objects in close proximity. If they are penetrating, the minimal translational distance can be obtained as well!
Sweep tests
Compute the time it would take for two moving shapes to start being in contact.
Distance computation
Compute the global minimal distance between two shapes.
Convex hulls and decompositions
Generate triangle meshes from smooth objects, compute their convex hull, or decompose them approximately into their convex components.
Forever free and Open-Source
Built with a FOSS mindset, we aim to empower the Rust and web communities with an efficient collision-detection framework.