Skip to content
😎 A curated list of awesome collision detection libraries and resources
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.md

README.md

Awesome Collision Detection

A curated list of collision detection open resources

Table of Contents

Libraries

Active

⚠️ The following table is not complete. Please feel free to report if you find something incorrect or missing.

Name Shapes Features Languages Licenses Code Popularity
BEPUphysics 1 (todo) (todo) C#, .NET Apache v2 github BEPUphysics 1
Bullet (todo) (todo) C++, Python Zlib github bullet3
collision-rs (todo) (todo) Rust Apache-2.0 github rustgd/collision-rs
FCL (todo) (todo) C++ BSD-3-Clause github fcl
JitterPhysics (todo) (todo) C#, .NET MIT github JitterPhysics
libccd (todo) (todo) C BSD-3-Clause github libccd
ncollide (todo) (todo) Rust BSD-3-Clause github sebcrozet/ncollide
ODE (todo) (todo) C++, Python LGPL-2.1 or BSD-3-Clause bitbucket
ReactPhysics3d (todo) (todo) C++ Zlib github reactphysics3d
tinyc2 (todo) 2d C/C++ Zlib github RandyGaul/tinyheaders
qu3e (todo) (todo) C++ Zlib github qu3e

Some libraries (e.g., ODE and Bullet) are physics engines that contain collision detection features, but they can be used just as collision detection libraries.

Inactive

  • ColDet - 3D Collision Detection.
  • GIMPACT - Tools for geometry processing and collision detection.
  • OPCODE - Optimized Collision Detection.
  • OZCollide [github]
  • SOLID - Collision detection of 3D objects undergoing rigid motion and deformation.

Mesh Processing

  • bounding-mesh (github bounding-mesh) - Implementation of the bounding mesh and bounding convex decomposition algorithms for single-sided mesh approximation.
  • cinolib (github mlivesu/cinolib) - A generic programming header only C++ library for processing polygonal and polyhedral meshes.
  • libigl (github libigl/libigl) - A simple C++ geometry processing library.

Papers

Triangle-triangle Test

  • A faster triangle-to-triangle intersection test algorithm (2013), L.-Y. Wei.
  • Efficient triangle-triangle intersection test for OBB-based collision detection (2009), J.-W. Chang et al. [pdf]
  • A fast triangle to triangle intersection test for collision detection (2006), O. Tropp et al. [pdf, code]
  • Faster Triangle-Triangle Intersection Tests (2006), O. Devillers et al. [pdf, code]
  • A Fast Triangle-Triangle Intersecion Test (1997), T. Muller. [pdf, code]

Mesh Collision

  • Robust contact generation for robot simulation with unstructured meshes (2013), K. Hauser. [pdf, web]

Penetration Depth Computation

  • PolyDepth: Real-time Penetration Depth Computation using Iterative Contact-Space Projection (2012), C. Je et al. [pdf]

Proximity Query / Signed Distance Field

  • Hierarchical hp-Adaptive Signed Distance Fields (2016), D. Koschier et al. [pdf, video]
  • Voxblox: Building 3d signed distance fields for planning (2016), H Oleynikova et al. [pdf, code]
  • Signed distance fields for polygon soup meshes (2014), H. Xu and Jernej Barbic. [pdf]
  • Fast Proximity Queries with Swept Sphere Volumes (1999), E. Larsen et al. [pdf, web]

Continuous Collision Detection

  • Hierarchical and Controlled Advancement for Continuous Collision Detection of Rigid and Articulated Models (2013), M. Tang et al. [pdf, web]
  • Efficient Geometrically Exact Continuous Collision Detection (2012), T. Brochu et al. [pdf, video]
  • C2A: Controlled Conservative Advancement for Continuous Collision Detection of Polygonal Models (2009), M. Tang et al. [pdf]
  • Continuous Collision Detection for Articulated Models using Taylor Models and Temporal Culling (2007), X. Zhang et al. [pdf, web]
  • Interactive continuous collision detection for non-convex polyhedra (2006), X. Zhang et al. [pdf, web]

Nearest Neighbor

  • Faster cover tree (2015), M. Izbicki et al. [pdf, code]
  • Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration (2009), M. Muja and D. Lowe. [pdf, code]
  • Cover Tree for Nearest Neighbor (2006), A. Beygelzimer et al. [pdf, web, code]

Comprehensive Collision Detection Library

  • FCL: A General Purpose Library for Collision and Proximity Queries (2012), J. Pan et al. [pdf, code]

Survey

  • Collision Detection: A Survey (2007), S. Kockara et al. [pdf]
  • 3D collision detection: a survey (2001), P. Jiménez et al. [pdf]

Books

  • Real-Time Collision Detection, CRC Press 2004 (amazon)
  • Collision Detection in Interactive 3D Environments, CRC Press 2003 (amazon)

Articles

Overview & Tutorial

Benchmark

Narrow-phase

Space Partitioning

Other Awesome Lists

  • Awesome Robotics Libraries - This is a list of various libraris and software for robotics. It's also attempting to provide some comparisons for selected libraries and software.

Contributing

Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.

License

CC0

You can’t perform that action at this time.