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