-
Notifications
You must be signed in to change notification settings - Fork 5
Collision Detection
-
jbruce's thesis: Real-Time Robot Motion Planning in Dynamic Environments
-
Recent Advances in Real-Time Collision and Proximity Computations for Games and Simulations
-
https://www.scss.tcd.ie/John.Dingliana/cs7057/index-2010.html
-
https://en.wikipedia.org/wiki/Minimum_bounding_box#Axis-aligned_minimum_bounding_box
-
Math for Game Developers: Dynamic Bounding Volume Hierarchies
- https://github.com/juj/MathGeoLib/blob/master/src/Geometry/OBB.h
- https://github.com/juj/MathGeoLib/blob/master/src/Geometry/OBB.cpp#L2445
- https://en.wikipedia.org/wiki/Z-order_curve
- Morton encoding/decoding through bit interleaving: Implementations
- Let's talk about broad phase
- In 2D, how do I efficiently find the nearest object to a point?
- Broad And Narrow Phase Collision Detection Systems
- https://github.com/mattleibow/jitterphysics/wiki/Sweep-and-Prune
- https://pybullet.org/Bullet/phpBB3/viewtopic.php?t=1645
- https://github.com/mattleibow/jitterphysics/wiki/Sweep-and-Prune
- https://github.com/podgorskiy/BroadPhase/tree/Optimized
- Sweep and Prune optimizations for colliding classes?
- EPA (Expanding Polytope Algorithm)
- I'm implementing the Expanding Polytope Algorithm, and I am unsure how to deduce the contact points from a point on the minkowski difference
- Continuous Physics Engine's Collision Detection Techniques
- Continuous Collision Detection (Background Information)
- http://graphics.ewha.ac.kr/CATCH/
-
GPU Gems 3: Chapter 32. Broad-Phase Collision Detection with CUDA
-
GPU Gems 3: Chapter 29. Real-Time Rigid Body Simulation on GPUs
-
GPU Gems 3: Chapter 33. LCP Algorithms for Collision Detection Using CUDA
-
https://devblogs.nvidia.com/thinking-parallel-part-ii-tree-traversal-gpu/
-
GPU Gems 2: Chapter 6. Hardware Occlusion Queries Made Useful
-
Pixel perfect collision detection using GPU occlusion queries
-
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_occlusion_query.txt
-
- to find a lower time bound for the first collision
-
- to reduce the pairs of primitives within objects susceptible of interfering
-
- to cut down the number of object pairs to be considered for interference.
-
Constructive Solid Geometry (CSG)
-
Hierarchical volume representations
-
Object partition hierarchies: “S-bounds”
-
Space partition hierarchies
- octree
- binary space partition tree
- Convex polyhedra
- One convex and one one non-convex
- Non-convex polyhedra: Decomposition into convex parts
- Non-convex polyhedra: Direct approach
First, check if the edge endpoints are on opposite sides of the face plane. If so, check if the intersection point between the edge and the face plane is located inside the face by simply casting a ray from this point and determining how many times the ray intersects the polygon. Then, if this number is odd, the intersection does exists (odd-parity rule).
The simplest way to tackle collision detection consists in sampling the trajectories followed by the objects and repeatedly applying a static interference test.
- adaptive sampling
Since the closest points between two objects lie always in their boundaries, it is usual practice to resort to boundary representations (B-rep) when following a multiple interference detection approach.
sufficient, but not a necessary condition
- extruded volume
The intersection of two extruded volumes is a necessary and sufficient condition for the occurrence of a collision between the corresponding objects as they move along their respective trajectories.
- spherical cones
- spherical planes
- incremental distance algorithm
- http://gamma.cs.unc.edu/research/collision/packages.html
- https://github.com/jslee02/awesome-collision-detection
https://sglab.kaist.ac.kr/HPCCD/
PluginlibFactory: The plugin for class 'octomap_rviz_plugin/OccupancyGrid' failed to load. Error: According to the loaded plugin descriptions the class octomap_rviz_plugin/OccupancyGrid with base class type rviz::Display does not exist.
- source the setup script.