ncollide is a 2 and 3-dimensional collision detection library written with the rust programming language.
As its name suggests, it is generic wrt the dimension: it works with both 2-dimensional and 3-dimensional shapes. It might work with higher dimensions (never tried).
Simply add the following to your
[dependencies] ncollide = "0.10.*"
- dynamic bounding volume tree based broad phase
- ball vs. ball collision detection,
- plane vs. any convex object collision detection.
- collision detection between arbitrary convex objects
- compound shapes
- time of impact computation for objects without rotational movement (compound vs. compound is not yet implemented)
And various traits for collision detectors and broad phase collision detection.
Trait implemented by the primitive algebraic types used by ncollide.
Persistent collision detection algorithms to compute contact points.
Spatial partitioning tools.
Procedural mesh generation.
Non-persistant pairwise geometric queries.
Collision shapes supported by ncollide.
Transformation, simplification and decomposition of meshes.
Miscelaneous elementary geometric utilities.
High level API to detect collisions in large, complex scenes.