Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to ...

2 downloads 0 Views 2MB Size Report
May 7, 2012 - HAL Id: hal-00694163 https://hal.archives-ouvertes.fr/hal-00694163 ...... [15] G. Ziegler, Lectures on polytopes, ISBN 0-387-. 94365-X, Springer ...
Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis Denis Teissandier, Vincent Delos

To cite this version: Denis Teissandier, Vincent Delos. Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis. IMProVe International Conference 2011, Jun 2011, Venice, Italy. pp.521-531, 2011.

HAL Id: hal-00694163 https://hal.archives-ouvertes.fr/hal-00694163 Submitted on 7 May 2012

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.

Proceedings of the IMProVe 2011 International conference on Innovative Methods in Product Design June 15th – 17th, 2011, Venice, Italy

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis D. Teissandier (a) (b)

(a)

, V. Delos

(b)

University of Bordeaux, I2M – UMR CNRS 5295, 351 cours de la Libération, F-33405 Talence cedex - France University Paris Descartes, MAP5 – UMR CNRS 8145, 45 rue des Saints Pères, F-75270 Paris cedex 06, France

Article Information Keywords: Geometric tolerancing, Minkowski sum, Polytope, Normal fan.

Corresponding author: Denis Teissandier Tel.: +33 5 4000 6222 Fax.:+33 5 4000 6964 e-mail: [email protected] Address: University of Bordeaux, I2M – UMR CNRS 5295, 351 cours de la liberation, F-33405 Talence cedex - France

Abstract Prompted by the development of algorithms for analysing geometric tolerancing, this article describes a method to determine the Minkowski sum for 3-dimension polytopes. This purposed method is based exclusively on intersection operations on normal cones, using the properties of the normal fan of a Minkowski sum obtained by common refinement of the normal fans of the operands. It can be used to determine from which vertices of the operands the vertices of the Minkowski sum derive. It is also possible to determine to which facets of the operands each facet of the Minkowski sum is oriented. First, the main properties of the duality of normal cones and primal cones associated with the vertices of a polytope are described. Next, the properties of normal fans are applied to define the vertices and facets of the Minkowski sum of two polytopes. An algorithm is proposed which generalises the method. An example shows the application of the method on an assembly made up of two parts. Lastly, there is a discussion of the features of this algorithm, developed using the OpenCascade environment.

1 Introduction Minkowski sums can be used in many applications. Some of the most important ones that should be mentioned are for determining the envelope volume generated by displacement between two solids, whether in geometric modelling, robotics or for simulating shapes obtained by digitally controlled machining [1]. There are other applications concerning more precisely the Minkowski sum of polytopes, such as satellite antenna deployment systems [2], collision detection [3], optimising the arrangement of templates when cutting out parts from sheet metal [4] and applications in biology [5]. In geometric tolerancing Fleming established in 1988 [6] the correlation between cumulative defect limits on parts in contact and the Minkowski sum of finite sets of geometric constraints. A detailed synthesis of this is given in [7]. For examples of modelling dimension chains using Minkowski sums of finite sets of constraints, see [8], [9], [10] and [11]. In tolerance analysis, it is necessary to check that the cumulative defect limits specified for the component parts of a product are compliant with the functional requirements expected of the product. Defect limits can be modelled by tolerance zones constructed by offsets on nominal models of parts [12]. Cumulative defect limits can be modelled using a calculated polytope, the result of a set of intersections and Minkowski sums of polytopes. A functional requirement can be qualified by a functional polytope, in other words a target polytope. It is then necessary to verify whether the calculated polytope is included in the functional polytope [13], see fig. 1.

To optimise the filling of the functional polytope (see fig. 1), it is crucial to know. - from which vertices of the four operands the vertices of the calculated polytope derive, - from which facets of the four operands the normals of the facets of the calculated polytope derive.

+

+

+

= Calculted 3 -polytope

Functional 3-polytope

Fig.1 Verification ofinclusion of3-polytope [13].

The purpose of this article is to determine the Minkowski sum of 3-dimension polytopes and apply this effectively in order to optimise the filling of the functional polytope. Our approach is based on polytope properties, most of which are described in [14] and [15]. Several different approaches have been proposed in the literature to determine the Minkowski sum, most of which relate to 3-dimension geometrical applications. When applying the Minkowski sum to any geometric shape, some methods use sampling techniques to generate a volume consisting of points, then apply selection filters to the points [16], others use algorithms to

521

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

extract the external and internal envelopes on which facets are triangulated [17]. Another type of approach is to decompose a Minkowski sum into several sums of convex polyhedra [18]. Fukuda [19] demonstrates a generalisation of the Minkoswki sum of k-polytopes by constructing a zonotope, adding segments of lines in thus complementing the work of Gritzmann and Sturmfels [14]. A dual representation of a polytope (cubical Gaussian map) has been used, to determine a Minkowski sum exactly [20]. In addition, [21] improves the concept of slope diagrams introduced by [22] to determine facets of connection. The same principle is used by [23] who proposes an algorithm called a Contributing Verticesbased Minkowski Sum.

There is an equivalent definition with half-spaces such that the border contains the origin (see fig. 3): m n ì ü ï ï (3) Cone(Y) = í x Î n : å aij xi £ 0 ý ï j =1 i =1 ï î þ

2 Some properties of polytopes 2.1

Two dual definitions for polytopes

A polytope P

is a bounded intersection of many

n finitely closed half-spaces in some (see fig.1) [15], [19], [24]. This is the h-representation of a polytope [19].

In this article, a system of inequalities for m halfspaces H - has been chosen to define a polytope P as eq. 1:

{

P = P ( A, b) = xÎ with A Î

m´n

n

and bÎ

}

: A.x £ b

P

common boundary between adjacent facets fpi and fpj (see fig. 4). v

f p3 P

ep34

the rows of matrix A and b1,..., bm are the components of vector b. A polytope P is a convex hull of a finite set of points

2

ep14

2

[15].

A polytope of dimension k is denoted a k -polytope in with ( n ³ k ) .

n

A 0-polytope is a vertex, a 1-polytope is an edge and a 2-polytope is a 2-face.

2.2

{v, f

some

n

. The cone associated to Y is [15]: Cone(Y) = {t1.y1+... + ti .yi + ... + tm.ym : ti ³ 0} (2)

June 15th – 17th, 2011, Venice, Italy

p1

ep12

, f p2 , f p3 , f p4 , ep12 , ep23 , ep34 , ep14 } 3

Fig.4 Prim alcone ofa

polytope.

Let us consider an objective function of the shape: p( x, y, z) = a.x + b.y + g.z + l and polytope P together define the function p( x, y, z) . The objective function is maximal on one face F (2-face, edge or vertex) of P . Let d be a normal to the objective function oriented towards the exterior of polytope P (see fig. 5). The set of objective functions that reach their maximum in F is characterised by a polyhedral cone DualCone(F ) defined by the set of normals d , thus in

{

DualCone(F ) = dÎ

Primal cone and dual cone

A cone is a non-empty set of vectors that with any finite set of vectors also contains all their linear combinations with non-negative coefficients [15]. Let us consider Y = {yi } a finite set of m points in

f p1

Boundary of PrimalCone ( v ) =

n

Intersection of many finitely closed halfspaces in 2

Fig.2 Definitions ofa 2-polytope in

ep23 f p2

f p4

This is the v-representation of a polytope [19].

Convex hull of a finite set points in

and the edges epij

converging at the vertex v

converging at the vertex v so that an edge epij forms a

A.x £ b is usual shorthand for the following system of inequalities a1.x £ b1,..., am.x £ bm where a1,..., am are

in some n (see fig. 1) [15], [19]. Let us consider V , a finite set of points in some (see fig. 1): P = conv (V ) .

.

Every vertex v of a polytope P has an associated primal cone and dual cone. In 3-dimension, the boundary of the primal cone PrimalCone (v ) consists of the vertex v , the facets fpi of

(1)

m

3

Fig.3 Cone

3

{

3

[15]:

}}

(4) : F Í xÎ P: : dx . = max dy . yÎP

DualCone(F ) is called the dual cone of polytope P in . F It is called the normal cone of polytope P in F [15], [19]. The dual cone associated with a face of dimension i has a dimension ( n - i ) in n [14]. 522

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

For any facet F of polytope P , the set of dual cones

d

n . The set of dual cones DualCone(F ) partitions defines a fan, which we will call the normal fan [14], [15]. The normal fan associated with polytope P is: N (P ) .

v

Objective function: a.x + b. y + g.z + l = 0

f p3

Let F 1 and F 2 be two fans of

P

ep34

ep14

f p1

ep12

Fig. 5 Definition of a dual cone.

Let us consider the dual cone of polytope P DualCone (v ) associated with the vertex v . In 3 this cone is 3-dimension given that the dimension of vertex v is 0. It consists of the vertex v , facets fdij that converge at v with their normals being respectively edges epij and edges edi converging in v and these are in turn normal to facets fpi .

ed3

f d34

ed4

Boundary of DualCone (v ) = {v , fd12 , fd23 , fd34 , fd14 , ed1, ed2, ed3 , ed4 }

f d23

v

f d14

f d12 Objective function: a.x + b. y + g.z + l = 0

f p3

ep23 f p2

f p4 ep14

f p1

The definition of a Minkowski sum is given in equation (6) [14].

A + B = C = {c Î

n

| $a Î A , $b Î B : c = a + b} (6)

In the rest of the article: the operand polytopes will always be represented as A and B . the Minkowski sum polytope of A and B will always be represented as C . a represents a point that can sometimes be a vertex of polytope A .

a represents the vector associated with a in n . in 1-dimension, a is reduced to a simple real number a.

In 1-dimension, this consists of adding together variables with boundaries at certain intervals.

ep12

Boundary of PrimalCone (v ) =

{v, f

(5)

3.1 Problems in determining the Minkowski sum for two polytopes

-

P

ep34

[15] is:

3 Minkowski sum by operations on dual cone

Fig. 6 shows the primal cone and the dual cone associated with the vertex v of polytope P .

d

and

and F 2 a normal fan has to be determined which consists of the set of all the intersections of the dual cones of the two fans F 1 and F 2 considered two by two.

, f , fp3 , fp4 , ep12 , ep23 , ep34 , ep14 }

p1 p2

ed1

F1

To determine the common refinement of two fans F 1

Boundary of PrimalCone (v ) =

{v, f

.

F2 F1 Ù F2 = {C 1 ÇC2 : C1 ÎF1, C2 ÎF2}

Then the common refinement of

ep23 f p2

f p4

n

, f , fp3 , fp4 , ep12 , ep23 , ep34 , ep14 }

p1 p2

Fig. 6 Dual cone and primal cone attached to a vertex.

2.3

Fan and normal fan

A fan in

n

is a family F = {C 1 ,....,Ck } of polyhedral

For 2 and 3 dimensions, the Minkowski sum consists of carrying out a sweep from a reference point on one operand at the boundary of the other operand [21], [23]. In 2 , the edges of the polytope sum are translations of the edges of the two operand polytopes [21], [23]. This is illustrated in fig. 8.

cones with the following properties: each non-empty face of a cone in F is also a cone in F . the intersection of two cones in F is a face common to the two cones.

+

= Fig. 8 Minkowski sum of

Fig. 7 Complete

2

fan.

The fan F is complete if and only if:

June 15th – 17th, 2011, Venice, Italy

k

Ci =

i =1

n

[15].

2

polytopes.

3 In , certain facets of the polytope sum are translations of the facets of the two operand polytopes. However, other facets are created, which we will call facets of connection. Thus it is not possible to deduce the facets of the polytope sum knowing only the facets of the

523

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

operand polytopes. This property is illustrated in fig. 9 and discussed in [21], [23].

3.2 Determining the vertices of the Minkowski sum of polytopes 3.2.1

+ without facets of connection

A +B =C

Let the points of a face of polytope A maximising the objective function characterised by the vector be α :

B

A

=

Properties of dual cones

{

}

S(A , α:) = x Î A : α.x = max α.y with facets of connection

3

polytopes.

The work of [21], [23] can be further justified. The following property developed in [14], and also mentioned in [15] and [19], shows that the normal fan N (C ) of polytope C , the Minkowski sum of polytopes A and B , is the common refinement of the two normal fans of polytopes A and B :

N (C ) = N ( A +B ) = N ( A ) Ù N ( B

)

(8)

Let us consider the following property: Let a be a vertex of A and DualCone(a) the associated dual cone. We have: ° (9) α Î DualCone ( a ) Û S ( A , α ) = {a}

A +B =C

Fig. 9 Minkowski sum of

yÎP

(7)

Let A , B and C be three polytopes such that: A +B =C . Let a and b be two vertices of A and B respectively. Let us consider the following property:

( a + b) is a vertex of C Û $γ ¹ 0 : S(A , γ ) = {a} et S( B , γ ) = {b}

(10)

This property expresses the fact that if the same objective function reaches its maximum at A in a single vertex a and at B in a single vertex b then ( a + b) is a vertex of

C. According to (4), determining the common refinement of two normal fans is based only on intersections of dual cones considered two by two. It is therefore not possible to create new edges in 2-dimension when determining the normal fan N (C ) . This is the reason why there is no facet of connection in the Minkowski sum for two polytopes. In 3-dimension, new edges can be created. According to (3) and the properties of the dual cones cited in §2.2, these new edges are normals to the facets of connection of the polytope sum. The maximal number of facets of the Minkowski sum of polytopes for a number k of polytopes in n is defined in [20]. In this article we propose a method to construct facets of the polytope sum C based solely on intersections of dual cones on operands A and B . We can then determine: the Minkowski vertices of C , the dual cones associated with the vertices of C the normal fan N (C ) . From the vertices of C and the respective dual cones, the facets of C can be defined. Finally, using the proximity of the dual cones in the normal fan N (C ) , the ordered edges defining the limits of

= A + B is the sum of a vertex of A Any vertex of C= and a vertex of B according to Ewald's 1.5 theorem [25]. Using the previous properties, we can deduce eq. 11: Let us consider a and b two vertices of A and B : c =a +b vertex of the Minkowski sum A +B= =C Û $γ ¹ 0 such S ( A , γ ) = {a} and S ( B , γ ) = {b} Û $γ ¹ 0 such S (C , γ ) = {c}

(11)

o Û γ Î DualCone ( c ) Û dimension of DualCone ( c ) = n

Let us consider DualCone(a) and DualCone(b ) the respective dual cones of polytopes A at vertex a and B at vertex b .

(DualCone(a) Ç DualCone(b )) ( a + b) = c where c is the vertex of If

is 3-dimension, then

C : see fig. 10.

the support hyperplane will be determined in order to define each facet of C .

June 15th – 17th, 2011, Venice, Italy

524

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

b

a

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

DualCone ( a )

th Let b j be the j vertex of Lv ,B . We have: 1 £ j £ nv ,B

DualCone ( b )

where nv ,B is the number of vertices of B .

+

Polytope C is characterised by its list of vertices Lv ,C ,

Polytope B

Polytope A

its list of dual cones LDualCone,C and its normal fan N (C ) . PrimalCone ( a )

=

th Let ck be the k vertex of Lv ,C . We have: 1 £ k £ nv ,C

PrimalCone ( b )

where nv ,C is the number of vertices of C . Let

DualCone ( a ) Ç DualCone ( b )

c

DualCone ( ck )

be the k

th

dual cone of

C

associated with ck of LDualCone,C .

Scale ´1.5

The fig. 12 presents the algorithm to determine the vertices of the Minkowski sum of 3-polytopes.

Polytope C = A + B

Fig. 10 Intersection of dual cones generating a vertex.

Require:two 3-polytopes A and B Ensure:determination of Lv ,C , LDualCone,C and N (C ) with A + B = C

If (DualCone(a) Ç DualCone(b )) is clearly less than 3dimension, then ( a + b) is not a vertex of C : see fig. 11.

1:

k =0

2:

for each vertex ai of A with Lf ,A do DualCone ( ai )

3:

There is a corollary which consists in determining the number of non-coplanar edges in (DualCone(a) Ç DualCone(b)) which should be at least equal to 3. b

a

+ Polytope A

4:

for each vertex b j of B with Lf ,B do

5:

DualCone ( b j )

6:

compute

I ij =

DualCone ( ai ) Ç DualCone ( b j )

7:

if dimension of Iij = 3 then

8:

k = k +1

9:

compute c k = a i + bj

Polytope B

DualCone ( a )

DualCone ( b )

DualCone ( a ) Ç DualCone ( b )

=

add ck in Lv ,C

10: 11:

add Iij =DualCone ( ck ) in LDualCone,C

12:

end if

12: 13:

end for end for

14: nv ,C = k Polytope C = A + B

Scale ´1.5

Fig. 11 Intersection of dual cones not generating vertex.

15: N (C ) = {DualCone ( ck )} with DualCone ( ck ) Î LDualCone,C

Fig. 12 Determining the vertices of the Minkowski sum of 3polytopes.

3.2.2

Proposal for an algorithm

From eq. 11, we are able to formulate an algorithm to determine the vertices of the Minkowski sum. In addition, determining (DualCone(a) Ç DualCone(b)) for all the

3.3 Determining the facets of the Minkowski sum of polytopes

vertices of A and B gives the common refinement of A and B according to eq. 5 and hence we can deduce the normal fan N (C ) .

3.3.1

Polytope A is characterised by its list of vertices Lv , A and its list of facets Lf , A . th Let ai be the i vertex of Lv , A . We have: 1 £ i £ nv ,A

We shall go straight to eq. 4 developed in [15].

Property 1: In

and Lf ,B .

3

, dual co cones associated with

k vertices v i of the same facet of a polytope share

(12)

one and the same edge in the polytope's normal fan. Fig. 13a shows the 4 dual cones DualCone ( ck )

where nv , A is the number of vertices of A . In the same way, polytope B is characterised by Lv ,B

Properties of dual cones

associated respectively with vertices c1, c2, c3 and c4 on the same facet f of polytope C . The 4 dual cones DualCone ( ck ) are translated on vertex c1 . They define a sub-set of the normal fan N (C ) translated into c1 . The

June 15th – 17th, 2011, Venice, Italy

525

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

edge common to the 4 dual cones DualCone ( ck ) associated respectively with vertices ck (where 1 £ k £ 4

We represent as fCl the l

facet of Lf ,C ( 1 £ l £ nf ,C

where nf ,C is the number of facets of C ).

) is normal to facet f : see fig. 13b.

Let Lh,C be the list of support hyperplanes for C .

Property 2: the two dual cones associated with

th Let hCl be the l hyperplane of Lh,C ( 1 £ l £ nf ,C )

the two vertices of the same edge of a polytope (13)

Let /H I

share a single face in the polytope's normal fan

Fig. 13c illustrates property 2 for the edge of polytope

C

th

bounded by vertices c1 and

c2 .

&O

be the ordered list of the edges of facet fCl .

Two consecutive edges of Le,fCl share a single vertex and (1 the first and last edges. th Let efClw be the w edge of fCl .( 1 £ w £ ne,fcl where

ne,fcl is the number of edges of fCl ). The fig. 14 presents the algorithm to determine(14) the facets of the Minkowski sum of 3-polytopes.

DualCone(c1)

DualCone(c2)

c2

c1

Require: Lv ,C , N (C ) and nv ,C DualCone ( ck ) Ensure:Lf ,C and Le,fCl for each fCl 1: for each DualCone ( ck ) of N (C ) do

f Cl

2: for each edu of DualCone ( ck ) do

c4

3: compute hCl defined by ck and edu

c3

DualCone(c4)

DualCone(c3)

(a) DualCone(c1) Common edge Common face

4:

if hCl is not in Lh,C then

5:

add hCl in Lh,C

6:

find the q DualCone ( cm ) in N (C ) such that: edu Í DualCone ( cm ) Ç DualCone ( ck ) with m ¹ k

c1

7:

DualCone ( cm1 ) Ç DualCone ( ck ) = fdv 1 , facet of DualCone ( ck )

f Cl

fCl

8:

DualCone(c4)

c1

c4

find DualCone ( cm 2 ) among the q DualCone ( cm ) such that: DualCone ( cm 2 ) Ç DualCone ( ck ) = fdv 2 , facet of DualCone ( ck ) with fdv 1 ¹ fdv 2

(c)

(b)

find DualCone ( cm1 ) among the q DualCone ( cm ) such that:

9:

hCl is the support hyperplane of fCl and ne,fcl = q + 1 .

Fig. 13 Dual cones associated with the vertices of a facet of

10:

ck and cm1 limit the first edge efCl 1 of fCl , add efCl 1 in Le,fCl

polytope C .

11:

DualCone ( cmp ) = DualCone ( cm1 )

3.3.2

Proposal for an algorithm

From the two properties described earlier, an algorithm can be formulated to search for the facet edges of a 3 polytope when its vertices, its normal fan and the dual cones associated respectively with the polytope vertices are known. From property (1) in the normal fan of a polytope, the edge common to the dual cones associated with the primal vertices of the same facet can be identified. From property (2), we can turn around this common edge and identify the vertices of this facet in order. Polytope C is characterised by its list of vertices Lv ,C , its list of dual cones LDualCone,C and its normal fan N (C ) . th Let ck be the k vertex of Lv ,C . We have: 1 £ k £ nv ,C

where nv ,C is the number of vertices of C .

12:

while DualCone ( cmp ) ¹ DualCone ( cm 2 ) do

13:

find DualCone ( cmp +1 ) among the q DualCone ( cm ) such that: DualCone ( cmp +1 ) Ç DualCone ( cmp ) = fdmp , facet of DualCone ( cmp ) with DualCone ( cmp +1 ) ¹ DualCone ( cmp -1 )

14:

cmp and cmp +1 limit the next edge efClw of fCl , add efClw in Le,fCl

15:

DualCone ( cmp -1 ) = DualCone ( cmp )

16:

DualCone ( cmp ) = DualCone ( cmp +1 )

17:

end while

18:

cmp = cm 2 and ck limit the last edge efClq of fCl , add efClw in Le,fCl

19:

determine fCl with hCl and Le,fCl

20:

add fCl in Lf ,C

21:

end if

22: end for 23: end for

th Let DualCone ( ck ) be the k dual cone C associated

Fig. 14 Determining the facets of the Minkowski sum of 3polytopes.

with c k of LDualCone,C . We postulate DualCone ( ck ) = {ck , edu , fdv } where: th th edu is the u edge of DualCone ( ck ) and fdv is the v

facet of DualCone ( ck ) . Let Lf ,C be the list of facets of C . June 15th – 17th, 2011, Venice, Italy

Fig. 15 shows stages 7 to 18 of the algorithm for determining the edges of a facet fcl of polytope C of vertices c1, c2, c3 and c4 . Figure 15 corresponds to a k = 1 Þ ck = c1 and q = 3 Þ ne,fcl = 4 . 526

case

where:

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

To be more precise, fig. 15a shows the determination of the first edge, bounded by c1 and c2 and vertex c 4 , the

last

vertex

in

the

outline

of

O

a/2

where:

fcl

Part 1

m1 = 2 and m2 = 4 .

S1

d

Fig. 15b, 15c and 15d show respectively the determinations of the edges bounded by: - c2 and c3 where mp = 2 and mp +1 = 3

y

y

z

x

- c4 and c1 where mp = m2 = 4 and k = 1 . We define :

Common face

3h t 4 2 2 3h t 4 d max = + 2 2 d min =

DualCone(c2)

DualCone(c2)

c2

c2

c1

f cl

f cl

c3

(b) c1

(a)

c2

DualCone(c3)

f cl

Common face

Common face DualCone(c1)

c4 c3

c1

(e)

f cl f cl DualCone(c4)

c4

DualCone(c4)

(d)

S2

Fig. 16 Example.

Fig. 15e shows the final result of the definition of the outline of fcl .

DualCone(c1)

d

Part 2

- c3 and c4 where mp = 3 and mp +1 = 4

Common face

a/2

c4 DualCone(c3)

(16)

where : 3h is the nominal value of d 2 t 4 is the dimension of the tolerance zone (defined by two parallel planes spaced with a distance t 4 ) in wich surface S1 must lie [13]. So we have: t4 t4 (14) Þ "N Î S1 : - £ ( εO,S1/ S 2 + NO ´ ρS1/ S 2 ) .y £ + (17) 2 2

(c)

Part 1

c3

Fig. 15 Definition of the edges of a facet of polytope C

A

using the properties of its normal fan N (C ) .

h/2 a y

4 Application to an example

a

a

t1 A

y

z

x

Let us consider the example illustrated in fig. 16. Part 1 and part 2 are in contact by a planar pair along the y-axis . A functional condition FC is defined by the following relation: FC : d min £ d £ d max (14)

Fig. 17 Definition of part 1.

Part 2

h

d is the distance between surface S1 and surface S2

B

t2 B

along the y-axis . Eq. (14) must be ensured at any point N of surface S1 , so we have by a linearization of the displacements [13] (see fig. 17 and fig. 18): 3h "N Î S1 : d = + εN ,S1/ S 2 .y 2 with εN ,S1/ S 2 = εO,S1/ S 2 + NO ´ ρS1/ S 2

a

y

y

z

x Fig. 18 Definition of part 2.

εN ,S1/ S 2 : translation vector of S1 with respect to S2 , expressed at point N

a

(15)

Finally, eq. (14) characterizes the functional polytope D [13] illustrated in fig. 19 by its h-representation, with: r x = ρS1/ S 2 .x

rz = ρS1/ S 2 .z

εN ,S1/ S 2 : translation vector of S1 with respect to S2 ,

(18)

eO,y = εO,S1/ S 2 .y

expressed at point O ρS1/ S 2 : rotation vector of S1 with respect to S2

June 15th – 17th, 2011, Venice, Italy

527

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

eO, y

fd 5 fd 2

fd 1 fd 4

a .r x 2 a + .r x 2 a - .r x 2 a - .r x 2

eo, y eo, y eo, y

a - .rz 2 a + .rz 2 a + .rz 2 a - .rz 2

t4 Þ fd 1 2 t4 £ + Þ fd 2 2 t4 £+ Þ fd 3 2 t4 £+ Þ fd 4 2 £+

a -eo,y - .r x 2 a -eo,y - .r x 2 a -eo,y + .r x 2 a -eo,y + .r x 2

a + .rz 2 a - .rz 2 a - .rz 2 a + .rz 2

t4 Þ fd 5 2 t4 £ - Þ fd 6 2 t4 £ - Þ fd 7 2 t4 £ - Þ fd 8 2

fa 2

fa1

fa 4

fa 8

fa 6 fa7

£-

Fig. 19 H-representation of the functional polytope D .

The location specifications defined on part 1 and part 2 (see fig. 17 and fig. 18 respectively) ensure the respect of the functional condition FC defined by eq. 14. The fig. 20 and fig. 21 define the polytope A by its h-representation and its v-representation respectively. The polytope A characterizes the location specification of part 1 (see fig. 17). The fig. 22 and fig. 23 define the polytope B by its h-representation and its v-representation respectively. The polytope B characterizes the location specification of part 2 (see fig. 18).

rz

fa 5

rx

fd 7

fa 3

rz

fd 8

fd 6

eo, y +

eO,y

fd 3

a eo,y + .r x 2 a eo,y + .r x 2 a eo,y - .r x 2 a eo,y - .r x 2

a - .rz 2 a + .rz 2 a + .rz 2 a - .rz 2

t1 Þ fa1 2 t1 £ + Þ fa 2 2 t1 £ + Þ fa 3 2 t1 £ + Þ fa 4 2

rx a -e o,y - .r x 2 a -e o,y - .r x 2 a -e o,y + .r x 2 a -e o,y + .r x 2

£+

a .rz 2 a - .rz 2 a - .rz 2 a + .rz 2 +

t1 Þ fa 5 2 t1 £ - Þ fa 6 2 t1 £ - Þ fa 7 2 t1 £ - Þ fa 8 2 £-

Fig. 20 H-representation of polytope A .

eO,y a2

a3

a5

a5

rz

a6

a4

rx

a1

t1 ö æ a1 ç 0,0, - ÷ 2ø è t1 ö æ a2 ç 0,0, + ÷ 2ø è æ -t1 ö a3 ç ,0,0 ÷ è a ø

æ t1 ö a4 ç ,0,0 ÷ èa ø t1 ö æ a5 ç 0, - ,0 ÷ a ø è

æ t1 ö a6 ç 0, ,0 ÷ è a ø

Fig. 21 V-representation of polytope A .

eO, y fb 2

fb 5

fb 3 fb 4 fb 2

fb8

fb1

fb 7 a eo,y + .r x 2 a eo,y + .r x 2 a eo,y - .rx 2 a eo,y - .rx 2

3a t2 .rz £ + Þ fb1 2 2 a t2 - .r z £ + Þ fb 2 2 2 a t2 - .rz £ + Þ fb 3 2 2 3a t2 .rz £ + Þ fb 4 2 2 -

rz rx a -eo,y - .rx 2 a -eo,y - .rx 2 a -eo,y + .r x 2 a -eo,y + .r x 2

3a t2 .rz £ + Þ fb 5 2 2 a t2 + .r z £ + Þ fb 6 2 2 a t2 + .rz £ + Þ fb 7 2 2 3a t2 .r z £ + Þ fb 8 + 2 2 +

Fig. 22 H-representation of polytope B .

June 15th – 17th, 2011, Venice, Italy

528

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

eO,y b2

b5

b6

rz

b1 b4

the facet defined by vetices ( c4, c10, c16 ) is deduded

-

b3

rx

from the facet fa 6 of polytope A

æ t2 ö t2 ö æ b4 ç ,0,0 ÷ b1 ç 0,0, - ÷ èa ø 2ø è t2 æ ö t2 ö æ b2 ç 0,0, + ÷ b5 ç 0, - , -t 2 ÷ a è ø 2ø è æ -t 2 ö b3 ç ,0,0 ÷ è a ø

æ t2 ö b6 ç 0, , t 2 ÷ è a ø

by a translation

defined by b5 . Furthermore, we have a5 = -a6 : see fig. 23. This property is due to the symmetry of polytopes A and B with respect to the origin.

Fig. 23 V-representation of polytope B .

eO,y

The tolerance stack-up of part 1 and part 2 are defined by the Minkowski sum of polytopes A and B [6], [8], [10], [11] and [13]. We obtain the following relation: A + B =C = (19) The h-representation and the v-representation of the polytope C are respectively illustrated in fig. 24 and 25. By the application of the algorithm “determining the vertices of the Minkowski sum of 3-polytopes” (see fig. 12), each vertex of polytope C is defined by the addition of a vertex of polytope A and a vertex of B : see fig. 25.

rx

+ =

c6

c11

c13 c2

c5

c4

c3

c12 c14

c10

c7

c15

c1

rz

c8

c16

c9

c1 = a4 + b4

c6 = a3 + b3

c11 = a5 + b3

c2 = a5 + b4

c7 = a6 + b3

c12 = a6 + b6

c3 = a5 + b2

c8 = a6 + b1

c13 = a4 + b6

c4 = a2 + b6

c9 = a1 + b5

c14 = a3 + b5

c5 = a3 + b6

c10 = a5 + b5

c15 = a6 + b4

= . Fig. 25 V-representation of A + B =C

eO, y

fd 2

= . Fig. 24 H-representation of A + B =C

fd 7

By the application of the algorithm “Determining the facets of the Minkowski sum of 3-polytopes” (see fig. 14), each facet of polytope C is computed. The respect of the functional condition defined by eq. 14 is finally characterised by the inclusion polytope C = A + B in polytope D [13]: see fig. 26. We obtain the following results on polytope C (see fig. 25): the facet defined by vertices ( c4 , c5 , c12 ) is deduced from the facet fa 3 of polytope A

by a translation

defined by b6 , -

the facet defined by vetices ( c4, c12, c13 ) is deduded from the facet fa 2 of polytope A

by a translation

defined by b6 , -

the facet defined by vetices ( c9, c10, c14 ) is deduded from the facet fa 7 of polytope A

rx

c4

c5

f

c13

c12 d 3 c14

c10

c16

rz

c9

= in polytope D . Fig. 26 Inclusion of polytope A + B =C In this example, the maximisation of t1 and t 2 is obtained when the facets defined by vertices ( c4 , c5 , c12 ) ,

(c4, c12 , c13 ) , (c9, c10, c14 )

and ( c9, c10, c16 ) are superposed

with facets fd 3 , fd 2 , fd 6 and fd 7 from polytope D respectively (see fig. 26). These 10 vertices and these 4 facets are influent on the fonctional condition defined in eq. 14. The respect of the functional condition defined in eq. 14 can be finally characterised by:

by a translation

t1+ 3t 2 £ t 4

defined by b5 ,

June 15th – 17th, 2011, Venice, Italy

fd 6

529

(19)

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

This result is easily obtained by solving the equation in which the vertex c4 is on the support hyperplane of the

dimensions of the corresponding respectively 3, 4, 3, 5, 5, 5 and 6.

facet f d 2 or f d 3 . With the proposed algorithms to determine the Minkowski sums of 3-polytopes, it is possible to identify the vertices and the facets of operands A and B from which the influent vertices and the influent facets of C derive.

These algorithms are currently being developed in the topological structure of an OpenCASCADE distribution [26]. The intersection algorithm used in this work is the OpenCASCADE 6.2 distribution algorithm.

5 Discussion of the proposed method

6 Conclusion and future research

The determination method proposed in this article is based solely on intersections of pairs of dual cones associated with searches for common edges and faces of dual cones in a normal fan. Using this algorithm, nv ,A ´ nv ,B intersections of pairs of dual cones have to be calculated in order to determine the vertices of polytope C and the normal fan N (C ) .

We have shown how to determine the Minkowski sum 3 for two polytopes from intersections of polyhedral cones and using the properties of the common edge and common face between dual cones in a normal fan. The algorithms for determining the vertices and the facets have been described. Ultimately, this method will be applied in a tolerance analysis procedure in an environment that can be multi-physical [11]. Work is currently underway on a method to determine the intersection of two polyhedral cones so that this can be generalised for n dimension polytopes. It will allow to transpose the algorithms of this article in a n dimension according to the property computing common refinement (7). This work will be described in a later publication.

In addition, it is necessary to carry out n searches f ,C for a common edge among the dual cones in the normal fan N (C ) . Cl = nf ,c

Finally,

å

Cl =1

ne,fcl searches are needed for a common

face between dual cones to determine the edges of polytope C . Each search for a common face is carried out in a sub-set of dual cones in the normal fan N (C ) which share an edge. Each vertex of polytope C is the sum of two vectors associated respectively with two vertices of polytopes A and B . From the nv ,A ´ nv ,B intersections of pairs of dual cones it is possible to determine from which vertices of operands A and B the vertices of C derived. In addition, the normal for each facet of C is characterised by an edge in the normal fan N (C ) . Thus the translated facets can be differentiated from the facets of connection. Each normal of the facets of connection is generated by the intersection of two dual cones and more precisely by the intersection of two faces of dual cones. In this way, we can identify the facets of operands A and B from which the normals of the facets of connection derive. The normals of facets that are different from the facets of connection derive either from operand A , or operand B . The method proposed here gives complete traceability of the vertices and facets of polytope C from the vertices and facets of operands A and B . In tolerance analysis, this traceability is used to optimise the filling of a functional polytope by a calculated polytope. In this way, the geometric defect limits of the parts can be distributed in relation to a geometrical requirement. An example has been given in section 4. The choice has been made to work only with planar surfaces because we can directly take advantage of graphics in 3 dimensional space. However the same principles can by applied to any kind of surfaces. It is possible to characterize the displacements limited by a tolerance zone of any surface classes: planar, cylindrical, spherical, helical, prismatic, revolution and complex. The June 15th – 17th, 2011, Venice, Italy

polytopes

are

Acknowledgement We are grateful for the help of P. Calka from University of Rouen.

References [1] G. Elber, M.S. Kim, Offsets, sweeps, and Minkowski sums, Computer-Aided Design. 31 (1999) 163. [2] J.D. Boissonnat, E. de Lange, M. Teillaud, Slicing Minkowski sums for satellite antenna layout, ComputerAided Design. 30 (1998) 255-265. [3] E. Fogel, D. Halperin, Exact and efficient construction of Minkowski sums of convex polyhedra with applications, Computer-Aided Design. 39 (2007) 929-940. [4] R. Mulero, B. Layton, Two-dimensional Minkowski sum optimization of ganged stamping blank layouts for use on pre-cut sheet metal for convex and concave parts, Journal of Manufacturing Systems. 26 (2007) 44-52. [5] T. Bernholt, F. Eisenbrand, T. Hofmeister, Constrained Minkowski Sums: A Geometric Framework for Solving Interval Problems in Computational Biology Efficiently, Discrete and Computational Geometry. 42 (2009) 22-36. [6] A. Fleming, Geometric relationships between toleranced features, Artificial Intelligence. 37 (1988) 403412. [7] V. Srinivasan, Role of Sweeps in Tolerancing Semantics, In: Proc. of the International Forum on Dimensional Tolerancing and Metrology, CRTD, 1993: p. 69-78. [8] M. Giordano, D. Duret, Clearance Space and Deviation Space, In: Proc. of the 3rd CIRP Seminar on Computer Aided Tolerancing, Cachan (France), ISBN 2212-08779-9, Eyrolles, 1993: p. 179-196. [9] U. Roy, B. Li, Representation and interpretation of geometric tolerances for polyhedral objects. II.: Size, orientation and position tolerances, Computer-Aided Design. 31 (1999) 273-285. [10] A. Mujezinovi, J.K. Davidson, J.J. Shah, A new mathematical model for geometric tolerances as applied

530

Proceedings of the IMProVe 2011

D. Teissandier et V. Delos

Algorithm to calculate the Minkowski sums of 3-polytopes dedicated to tolerance analysis

to round faces, ASME Transactions on Journal of Mechanical Design. 126 (2004) 504-518. [11] L. Pierre, D. Teissandier, J.P. Nadeau, Integration of thermomechanical strains into tolerancing analysis, International Journal on Interactive Design and Manufacturing. 3 (2009) 247-263. [12] A.A.G. Requichaa, Toward a theory of geometric tolerancing, The International Journal of Robotics Research. 2 (1993) 45-60. [13] D. Teissandier, V. Delos, Operations on polytopes: application to tolerance analysis, In: Proc. of the 6th CIRP Seminar on Computer Aided Tolerancing, Enschede (Netherlands), ISBN 0-7923-5654-3, Kluwer academic publisher, 1999: p. 425-433. [14] P. Gritzmann, B. Sturmfels, Minkowski addition of polytopes: computational complexity and applications to Gröner bases, Siam Journal of Discrete Mathematics. 6 (1993) 246-269. [15] G. Ziegler, Lectures on polytopes, ISBN 0-38794365-X, Springer Verlag, 1995. [16] J. Lien, Covering Minkowski sum boundary using points with applications, Computer Aided Geometric Design. 25 (2008) 652-666. [17] M. Peternell, T. Steiner, Minkowski sum boundary surfaces of 3D-objects, Graphical Models. 69 180-190. [18] G. Varadhan, D. Manocha, Accurate Minkowski sum approximation of polyhedral models, Graphical Models. 68 (2006) 343-355. [19] K. Fukuda, From the zonotope construction to the Minkowski addition of convex polytopes, Journal of Symbolic Computation. 38 (2004) 1261-1272. [20] E. Fogel, D. Halperin, C. Weibel, On the Exact Maximum Complexity of Minkowski Sums of Polytopes, Discrete and Computational Geometry. 42 (2009) 654669. [21] Y. Wu, J.J. Shah, J.K. Davidson, Improvements to algorithms for computing the Minkowski sum of 3polytopes, Computer-Aided Design. 35 (2003) 1181-1192. [22] P.K. Ghosh, A unified computational framework for Minkowski operations, Computers & Graphics. 17 357378. [23] H. Barki, F. Denis, F. Dupont, Contributing verticesbased Minkowski sum computation of convex polyhedra, Computer-Aided Design. 41 (2009) 525-538. [24] J.D. Boissonnat, M. Yvinec, Algorithmic Geometry, ISBN-13: 9780521565295, Cambridge University Press, 1998. [25] G. Ewald, Combinatorial Convexity and Algebraic Geometry, ISBN 9780387947556, Springer, 1996. [26] Open CASCADE Technology, www.opencascade.com, 2010.

June 15th – 17th, 2011, Venice, Italy

531

Proceedings of the IMProVe 2011

Suggest Documents