Overview
GJK iteratively builds a simplex toward the origin in Minkowski-difference space to decide whether two convex shapes intersect.
Tests convex shapes for intersection using support points of their Minkowski difference.
Compact metadata for implementation and discovery.
GJK iteratively builds a simplex toward the origin in Minkowski-difference space to decide whether two convex shapes intersect.
Quick facts
Runtime and memory behavior at a glance.
Best
O(iterations)
Average
O(iterations)
Worst
O(iterations)
Space
O(1)
support(A - B, d) = support(A, d) - support(B, -d)Finds an extreme point in the Minkowski difference along a direction.
Show state updates, constraints, and error correction over simulation steps.
GJK Collision Detection operates in O(iterations) time and O(1) space within the Narrow Phase Collision Detection family. Key governing relation: support(A - B, d) = support(A, d) - support(B, -d). Often compared with Separating Axis Theorem and Expanding Polytope Algorithm.
What each reference supports for this entry.
Reference implementation paper for robust GJK collision detection on convex objects.
Open sourceGood next jumps from the relationship graph, ranked for useful discovery.
Simulation · Core
GJK is commonly used for precise convex narrow-phase collision tests.
Compare with thisSimulation · Specialized
EPA can compute penetration depth after GJK detects overlap.
Compare with thisEPA can compute penetration depth after GJK detects overlap.
GJK relies on support points of the Minkowski difference.
GJK is commonly used for precise convex narrow-phase collision tests.