minkowski sum on 2d geometry

27
The Minkowski sum (applied to 2d geometry) [email protected] http://www.crowdscontrol.net clodericmars

Upload: cloderic-mars

Post on 29-Nov-2014

7.169 views

Category:

Technology


4 download

DESCRIPTION

A simple presentation of a the Minkowski Sum applied to 2D geometry.

TRANSCRIPT

Page 2: Minkowski Sum on 2D geometry

Formal definition

A and B are two sets

A⊕B is the Minkowski sum of A and B

A⊕B = {a+b! a∈A, b∈B}

Page 3: Minkowski Sum on 2D geometry

What if A and B are 2D shapes ?

Hard to visualize ?

Let’s see some examples...

Page 4: Minkowski Sum on 2D geometry

Example 1A is any polygon

B is a convex polygon

Page 5: Minkowski Sum on 2D geometry

A

B

x

y

Page 6: Minkowski Sum on 2D geometry

A⊕B

x

y

Page 7: Minkowski Sum on 2D geometry

Example 2A is any polygon

B is any disc

Page 8: Minkowski Sum on 2D geometry

A

B

x

y

Page 9: Minkowski Sum on 2D geometry

A⊕B

x

y

Page 10: Minkowski Sum on 2D geometry

Intuitive definition

What is A⊕B ?

Take B

Dip it into some paint

Put its (0,0) on A border

Translate it along the A perimeter

The painted area is A⊕B

Page 11: Minkowski Sum on 2D geometry

What can you do with that ?

Notably, motion planning

Page 12: Minkowski Sum on 2D geometry

Free space

A is an obstacle

any 2D polygon

B is a moving object

2D translation : t

shape : a convex polygon or a disc

t ∈ A⊕-B ⇒ collision

Page 13: Minkowski Sum on 2D geometry

Example 1A is any polygon

B is a convex polygon

Page 14: Minkowski Sum on 2D geometry

A

B

x

y

-B

Page 15: Minkowski Sum on 2D geometry

A⊕-B

x

y

Page 16: Minkowski Sum on 2D geometry

x

y t

t ∉ A⊕-B ⇒ no collision

Page 17: Minkowski Sum on 2D geometry

x

y

tt ∈ A⊕-B ⇒ collision

Page 18: Minkowski Sum on 2D geometry

Example 2A is any polygon

B is any disc

Page 19: Minkowski Sum on 2D geometry

A

B=-B

x

y

Page 20: Minkowski Sum on 2D geometry

A⊕-B

x

y

Page 21: Minkowski Sum on 2D geometry

A⊕-B

x

y tt ∉ A⊕-B ⇒ no collision

Page 22: Minkowski Sum on 2D geometry

A⊕-B

x

y tt ∈ A⊕-B ⇒ collision

Page 23: Minkowski Sum on 2D geometry

How is it computed ?

Page 24: Minkowski Sum on 2D geometry

Two convex polygons

ConvexPolygon minkowskiSum(ConvexPolygon a, ConvexPolygon b){Vertex[] computedVertices;foreach(Vertex vA in a){foreach(Vertex vB in b){computedVertices.push_back(vA+vB);

}}return convexHull(computedVertices);

}

Page 25: Minkowski Sum on 2D geometry

Any polygons

Method 1 : decomposition

decompose in convex polygons

compute the sum of each couple

the final sum is the union of each sub-sum

Method 2 : convolution

cf. sources

Page 26: Minkowski Sum on 2D geometry

Polygon offsetting

P is a polygon

D is a disc of radius r

Computing P⊕D = Offsetting P by a radius r

Computation

Easy for a convex polygon

cf. sources