Introduction To GJK: Computing and Software Department, Mcmaster University
Introduction To GJK: Computing and Software Department, Mcmaster University
Introduction to GJK
John McCutchan
November 9, 2006
◮ Introduction to GJK
◮ Terminology
◮ Algorithm in detail
◮ Example
◮ Minkowski Difference (GJK with two convex objects)
◮ Polyhedra Support Function
◮ Sphere Support Function
◮ Cylinder Support Function
◮ Transformation Support Function
◮ Computing P of minimum norm in CH(Q) and reducing Q
◮ References
Simplex
5. Let V = Support(-P)
5. Let V = Support(-P)
MinkowskiSum(A, B) = a + b : a ∈ A, b ∈ B
MinkowskiDifference(A, B) = MinkowskiSum(A, −B)
MinkowskiDifference(A, B) = a − b : a ∈ A, b ∈ B
Support(d) = max(d · p : p ∈ C )
d
Support(d) = c + r
||d||
else:
Support(d) = c + sign(u · d)nu
1 1 1
A = (x2 − x1 ) · x1 + (x2 − x1 ) · x2 + (x2 − x1 ) · x3
(x3 − x1 ) · x1 + (x3 − x1 ) · x2 + (x3 − x1 ) · x3
b = [1, 0, 0]
x = [λ1 , λ2 , λ3 ]
In general:
1 ... 1
(x2 − x1 ) · x1 ... (x2 − x1 ) · xm
A=
... ...
(xm − x1 ) · x1 ... (xm − x1 ) · xm
b = [1, 0, ..., 0]
x = [λ1 , ..., λm ]