Download presentation
Presentation is loading. Please wait.
Published byMaude Magdalen Blair Modified over 8 years ago
1
GJK Supplement Reference: SIGGRAPH2004 Course Note Original Reference: A Fast Procedure for Computing the Distance between Objects in Three-Dimensional Space, by E. G. Gilbert, D. W. Johnson, and S. S. Keerthi, In IEEE Transaction of Robotics and Automation, Vol. RA-4:193--203, 1988.
2
Fall 20052 Introduction Find Euclidean distance (and closest points) between the convex hulls of two point sets If disjoint, also find the separation axis If collision, can be enhanced to find penetration depth
3
Fall 20053 Introduction (cont) Simplex-based descent algorithm d-simplex: the convex hull of d+1 independent points in d-dimensional space
4
Fall 20054 Demonstration Proximity Query (minimum distance) Penetration Depth
5
Fall 20055 Properties Distance distance(A,B) = min a A,b B || a – b || 2 distance(A,B) = min c A ⊖ B || c || 2 if A and B disjoint, c is a point on boundary of Minkowski difference Penetration Depth pd(A,B) = min{ || t || 2 | A Translated(B,t) = } pd(A,B) = min t A ⊖ B || t || 2 if A and B intersect, t is a point on boundary of Minkowski difference
6
Fall 20056 Support Mapping
7
Fall 20057 Simplified Version (Simplified) p Find the distance between the CH and origin
8
Fall 20058 Example 1(4) Q = {A} A is the point of minimum norm in CH(Q) Q is irreducible Find B in direction of – A Add B to Q
9
Fall 20059 Example 2(4) Q = {A,B} C is the point of minimum norm Q is irreducible Find D in direction of – C Add D to Q D
10
Fall 200510 Example 3(4) Q = {A,B,D} E is the point of minimum norm Reduce Q to {B,D} Find F in direction of – E Add F to Q F
11
Fall 200511 Example 4(4) Q = {B,D,F} G is the point of minimum norm Reduce Q to {D,F} Cannot find lower support in direction of – G G is the closest point
12
Fall 200512 Example 1(3) Q={A} A has minimum norm Find B in direction of – A Add B to Q A B
13
Fall 200513 Example 2(3) Q={A,B} C has minimum norm Q is irreducilble Find D in direction of – C Add D to Q A B C D Q={A,B} C has minimum norm Q is irreducilble Find D in direction of – C Add D to Q
14
Fall 200514 Example 3(3) A B D Q={A,B,D} Pt of minimum norm is origin Polygon contains origin distance = 0
15
Fall 200515 Estimating Penetrating Depth (ref)ref Start with the triangle containing origin … Expanding polytope
16
Fall 200516 Example 1(3) A B D Start from ABD, the triangle containing origin Expanding, find E E
17
Fall 200517 Example 2(3) A B D E Find closest edge Expanding, find F F
18
Fall 200518 Example 3(3) A B D Find closest point Expanding, find no more. End. E F
19
Fall 200519 Time Complexity for Finding a Support Vertex
20
Fall 200520 Running Time of GJK Each iteration of the while loop requires O(n) time. O(n) iterations possible. The authors claimed between 3 to 6 iterations on average for any problem size, making this “ expected ” linear. Trivial O(n) algorithms exist if we are given the boundary representation of a convex object, but GJK will work on point sets - computes CH lazily.
21
Fall 200521 More on GJK Given A = CH(A ’ ) A ’ = { a 1, a 2,..., a n } and B = CH(B ’ ) B ’ = { b 1, b 2,..., b m } A ⊖ B = CH(P), P = {a – b | a A ’, b B ’ } Can compute points of P on demand: p -x = a -x - b x where a -x is the point of A ’ extremal in direction -x, and b x is the point of B ’ extremal in direction x. The loop body would take O(n + m) time, producing the “ expected ” linear performance overall.
22
Fall 200522 Distance Between A & B
23
Fall 200523 Sampling Minkowski Difference (8,5) = (4,4) – (-4,-1) Not explicitly compute the Minkowski difference. Only samples the point set using the support mapping
24
Fall 200524 Algorithm d(A,B)
25
Fall 200525 Example 1(4) (8,5) = (4,4) – (-4,-1) Sampling A ⊖ B
26
Fall 200526 Example 2(4) (2,1) = (1,2) – (-1,1)
27
Fall 200527 Example 3(4)
28
Fall 200528 Example 4(4) d = sqrt(1+2 2 ) Note: this also defines the separation axis
29
Fall 200529 GJK for Moving Objects time interval is short enough to assume constant velocity movement
30
Fall 200530 Swept Volume … as convex hull of start and end polygon?!
31
Fall 200531 Sampling Swept Volume
32
Fall 200532 Get Time of Collision via Bisection
33
Fall 200533 HW: Compute the Penetration Depth A B
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.