Git Product home page Git Product logo

awesome-collision-detection's Introduction

Awesome Collision Detection

A curated list of collision detection open resources

Table of Contents

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
HPP-FCL Box
Sphere
Cylinder
Capsule
Ellipsoid
Cone
Meshes
Convex Meshes
Height Field
Collision
Distance
Security Margins
C++, Python 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 Sphere
Box
Cylinder
Capsule
Plane
Ray
Triangular-mesh
(todo) C++, Python LGPL-2.1 or BSD-3-Clause bitbucket
OpenGJK (todo) (todo) C++, C#, Go, Matlab, Python, Unity GPL-3.0 github MattiaMontanari/openGJK
Parry (todo) (todo) Rust Apache-2.0 github dimforge/parry
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.

Collision Detection and Distance Computation

  • GJK++: Leveraging Acceleration Methods for Faster Collision Detection (2023), Montaut et al. [pdf, code, benchmarks]
  • Collision Detection Accelerated: An Optimization Perspective (2022), Montaut et al. [pdf, code, benchmarks]
  • A fast procedure for computing the distance between complex objects in three-dimensional space (1988) Gilbert, Johnson and Keerthi [pdf]

Differentiable Collision Detection

  • Differentiable Collision Detection: a Randomized Smoothing Approach (2022), Montaut et al. [pdf, code]

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

  • Local Optimization for Robust Signed Distance Field Collision (2020), M. Macklin et al. [pdf, slides, video]
  • 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]
  • Real-Time Collision Detection, CRC Press 2004 (amazon)
  • Collision Detection in Interactive 3D Environments, CRC Press 2003 (amazon)

Overview & Tutorial

Benchmark

Narrow-phase

Space Partitioning

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

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

CC0

awesome-collision-detection's People

Contributors

6r1d avatar dcousens avatar jcarpent avatar jslee02 avatar sbarisic avatar shawndooley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-collision-detection's Issues

FCL vs ReactPhysics3D

Hello,

Great repo! I was wondering if you ever tried to compare the collision detector of ReactPhysics3D with FCL? Do you think it's worth it investigating in it (I am lately disappointed by the speed of FCL)?

Thanks,
Konstantinos

Broken links

For: https://jslee02.github.io/awesome-collision-detection/

3D collision detection: a survey (2001), P. Jiménez et al. [pdf]

I saw the link is FTP. I think it'd be much better to replace it with a direct HTTPS PDF link. https://users.soe.ucsc.edu/~pang/161/w06/notes/jtt01.pdf. Archive.
 

Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration (2009), M. Muja and D. Lowe. [pdf, code]

The old PDF link is down. I found a working link at PSU here. Also an archive of the old link.
 

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

Unfortunately, CONTRIBUTING.md is down.

 
 

For: https://github.com/jslee02/awesome-collision-detection

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

PDF and site are down. Here's a better PDF link. Archive of the website.
 

Collision Detection (code) by Jeff Thompson - This book explains the algorithms behind those collisions using basic shapes like circles, rectangles, and lines so you can implement them into your own projects.

The code link (https://github.com/jslee02/awesome-collision-detection/blob/master) is down.
 

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

As aforementioned, CONTRIBUTING.md is down.

I don't get physics, but whatever you're doing is cool, and I hope lots of good comes out of it!

box2d?

Wasn't sure if I should use "Issues" to report this. But just wondered why Box2d isn't listed. It's been around years, but I wondered if it was left out intentionally. Personally, I am looking here for an alternative to box2d.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.