Minkowski(A,B)= CH {x:x=a-b for a in A, b in B}. Where CH(S) is the convex hull of the set S and a, b are the vertices of the two polygons. It is correct?

Adrien Jordan

Adrien Jordan

Answered question

2022-09-27

Minkowski difference of two convex polygons
I just want to make sure that the following algorithm is correct for computing the Minkowski difference of two shapes A,B:
Minkowski ( A , B ) =  CH  { x : x = a b  for  a A , b B }
Where CH(S) is the convex hull of the set S and a,b are the vertices of the two polygons.

Answer & Explanation

efterynzl

efterynzl

Beginner2022-09-28Added 12 answers

Step 1
Yes, assuming your polygons are convex.
Let A = conv ( { a 1 , , a n } ) and B = conv ( { b 1 , , b m } ). Then A B = A + ( B ) = conv ( { a 1 , , a n } ) + conv ( { b 1 , , b m } ) = conv ( { a 1 , , a n } + { b 1 , , b m } )
which is just what you said. The key step is pulling the conv out, which can be justified as follows.
(From here on, A and B are just arbitrary sets, not the polygons above.)
Lemma. If A and B are convex then A + B is convex.
Proof. Direct.
Step 2
Lemma. conv ( A + B ) = conv ( A ) + conv ( B )
Proof. ( ) A conv ( A ) and B conv ( B ), so A + B conv ( A ) + conv ( B ). By the previous lemma, conv ( A ) + conv ( B ) is convex, so conv ( A + B ) conv ( A ) + conv ( B ). ( ) Let x conv ( A ) + conv ( B ), say,
x = i = 1 n λ i a i + j = 1 m μ j b j
where λ i > 0, μ j > 0, i = 1 n λ 1 = 1, j = 1 m μ j = 1, a i A, and b j B. Then x = i = 1 n λ i ( j = 1 m μ j ) a i + j = 1 m μ j ( i = 1 n λ i ) b j = i = 1 n j = 1 m λ i μ j ( a i + b j )
Since a i + b j A + B and i = 1 n j = 1 m λ i μ j = ( i = 1 n λ i ) ( j = 1 m μ j ) = 1 1 = 1, this shows that x conv ( A + B ).

Do you have a similar question?

Recalculate according to your conditions!

New Questions in High school geometry

Ask your question.
Get an expert answer.

Let our experts help you. Answer in as fast as 15 minutes.

Didn't find what you were looking for?