Page 1

apport ?

?

de recherche?

ISSN 0249-6399

ISRN INRIA/RR--7306--FR+ENG

Thème BIO

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Multi-scale Geometric Modeling of Ambiguous

Shapes with Toleranced Balls and Compoundly

Weighted α-shapes

Frédéric Cazals — Tom Dreyfus

N° 7306

May 2010

inria-00497688, version 1 - 7 Jul 2010

Page 2

inria-00497688, version 1 - 7 Jul 2010

Page 3

Unité de recherche INRIA Sophia Antipolis

2004, route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex (France)

Téléphone : +33 4 92 38 77 77 — Télécopie : +33 4 92 38 77 65

Multi-scale Geometric Modeling of Ambiguous Shapes with

Toleranced Balls and Compoundly Weighted α-shapes

Fr´ ed´ eric Cazals∗, Tom Dreyfus†

Th` eme BIO — Syst` emes biologiques

Projet ABS

Rapport de recherche n° 7306 — May 2010 — 29 pages

Abstract:

particular. One route of choice to extract information from such data consists of replacing the ambiguous input

by a continuum, typically a one-parameter family, so as to mine stable geometric and topological features within

this family. This work follows this spirit and introduces a novel framework to handle 3D ambiguous geometric

data which are naturally modeled by balls.

First, we introduce toleranced balls to model ambiguous geometric objects. A toleranced ball consists of two

concentric balls, and interpolating between their radii provides a way to explore a range of possible geometries.

We propose to model an ambiguous shape by a collection of toleranced balls, and show that the aforementioned

radius interpolation is tantamount to the growth process associated with an additively-multiplicatively weighted

Voronoi diagram (also called compoundly weighted or CW). Second and third, we investigate properties of the

CW diagram and the associated CW α-complex, which provides a filtration called the λ-complex. Fourth, we

propose a naive algorithm to compute the CW VD. Finally, we use the λ-complex to assess the quality of models

of large protein assemblies, as these models inherently feature ambiguities.

Dealing with ambiguous data is a challenge in Science in general and geometry processing in

Key-words:

molecular complexes, interfaces, structural biology.

Union of balls, Voronoi diagrams, α-shapes, stability, topological persistence, proteins, macro-

∗INRIA Sophia-Antipolis-M´ editerran´ ee, Algorithms-Biology-Structure; Frederic.Cazals@sophia.inria.fr

†INRIA Sophia-Antipolis-M´ editerran´ ee, Algorithms-Biology-Structure; Sebastien.Loriot@sophia.inria.fr

inria-00497688, version 1 - 7 Jul 2010

Page 4

Mod´ elisation Multi-echelle de Formes Ambigu¨ es avec des Boules

Tol´ eranc´ ees et les α-shapes ` a Pond´ eration Compos´ ee

R´ esum´ e :

exacerb´ e en g´ eom´ etrie. Une fa¸ con int´ eressante d’extraire de l’information de telles donn´ ees consiste ` a rem-

placer celles-ci par un continuum, typiquement une famille ` a un param` etre, de fa¸ con ` a chercher des structures

g´ eom´ etriques et topologiques stables au sein de cette famille. Ce travail s’inscrit dans cette veine, et propose

un nouveau canevas pour manipuler des donn´ ees 3D ambigu¨ es.

Tout d’abord, nous introduisons les boules toleranc´ ees. Un telle boule est constitu´ ee de deux boules con-

centriques, et interpoler entre leurs rayons permet d’explorer un ensemble de g´ eom´ etries possibles. Nous pro-

posons de mod´ eliser une forme ambigu¨ e par un ensemble de boules toleranc´ ees, et montrons que le proces-

sus d’interpolation ´ evoqu´ e ci-dessus conduit ` a un diagramme de Voronoi additif-multiplicatif (aussi appel´ e ` a

pond´ eration compos´ ee, ou CW). Ensuite, nous nous int´ eressons aux propri´ et´ es du diagramme CW et ` a l’α-shape

associ´ ee, qui repr´ esente une filtration que nous nommons le λ-complexe. Nous poursuivons par un algorithme

na¨ ıf de calcul du diagramme de Voronoi CW. Enfin, nous montrons comment utiliser le λ-complexe pour ´ etudier

la qualit´ e de mod` eles de gros assemblages macro-mol´ eculaires, ces mod` eles pr´ esentant de fa¸ con intrins` eque des

ambigu¨ ıt´ es.

La manipulation de donn´ ees ambigu¨ es est un challenge tout ` a fait g´ en´ eral, qui est particuli` erement

Mots-cl´ es :

complexes macro-mol´ eculaires, interfaces, biologie structurale.

Union de boules, diagrammes de Voronoi, α-shapes, stabilit´ e, persistence topologique, prot´ eines,

inria-00497688, version 1 - 7 Jul 2010

Page 5

Modeling with toleranced balls3

1Introduction

1.1 Voronoi Diagrams and Applications

The Voronoi diagram of a finite collection of sites equipped with a generalized distance is the cell decomposition

of the ambient space into equivalence classes of points having the same nearest sites for this distance. Voronoi

diagrams are central constructions in science and engineering [OC00], and their versatility actually comes from

two sources. First, the great variability of sites and distances is a first source of diversity. While the most

classical construction is the Euclidean distance diagram for points, the mere class of circles and weighted points

yields as diverse diagrams as power, Apollonius and M¨ obius diagrams–see [BWY06] and Fig. 1. Second, the

information encoded in a Voronoi diagram actually goes beyond the aforementioned cell decomposition. One

can indeed consider the bisectors bounding the cells as the realization of a growth process defined by the

distance, in the sense that the level sets of this distance intersect on the bisectors. This viewpoint motivated

the development of α-complexes and α-shapes [Ede92], a beautiful construction providing a filtration of the

Delaunay triangulation dual of the Voronoi diagram, later complemented by the flow complex [GJ03]. From

a mathematical standpoint, these developments are concerned with the topological changes undergone by the

sub-level sets of the distance, which is the heart of Morse theory [Mil63]. Ideas in this realm also motivated

the development of topological persistence [ELZ02, CSEH05], a subject concerned with the assessment of the

stability of topological features associated with the sub-level sets of a function defined on a topological space.

The success of α-shapes relies on two cornerstones. First, the aforementioned growth process gives access to

a multi-scale analysis of the input sites. For example, the problem of reconstructing a shape from sample points

can be tackled by considering the space-filling diagram consisting of balls grown around the sample points. Alas,

a provably good reconstruction using this strategy requires a uniform sampling, which motivated the definition

of more local growth processes. One may cite conformal α-shapes [CGPZ06], where the growth process depends

on the distance of the samples to the medial axis, and the scale-axis transform [GMPW09] which provides a

hierarchy of skeletal shapes based on a dilation (and retraction) of medial balls. Second, α-shapes inherently

model objects represented by collections of balls—in particular molecules, and encode remarkable geometric

and topological properties [Ede95]. For the particular case of proteins and small macro-molecular complexes,

they have been instrumental to compute molecular surfaces [AE96] and model interfaces [BGNC09, LC10].

Our developments are precisely motivated by the requirement to perform multi-scale analysis in computa-

tional structural biology.

1.2Contributions

Structural proteomics studies are concerned by the identification and the modeling of molecular machines

operating within the cell [GAG+06], and a major endeavour consists of modeling assemblies involving from tens

[LTSW09] to hundreds [ADV+07] of polypeptide chains. This modeling requires integrating data coming from

several experimental sources, these data being typically noisy and incomplete [AFK+08]. In this context, the

premises just discussed on α-shapes certainly hold: on the one hand, balls are the primitive of choice since we

deal with atoms and molecules; on the other hand, multi-scale analysis are in order since we deal with ambiguous

data and need to accommodate uncertainties on the shapes and positions of proteins within an assembly. In

this context, we make the following contributions.

First, we introduce toleranced balls to model ambiguous geometric shapes. A toleranced ball consists of two

concentric balls—the inner and outer balls, and interpolating between them allows one to replace an arbitrary

ball by one-parameter family of balls. As illustrated on Fig. 2, the inner (outer) ball of a toleranced ball

is meant to accommodate high (low) confidence regions. We note in passing that our approach bears some

similarities with modeling with toleranced parts in engineering, where tolerances are generally accommodated

thanks to Minkowski sums [LWC97]. Second, we show that the growth process associated with this interpolation

is associated with a so-called additively-multiplicatively-weighted Voronoi diagram, also called compoundly

weighted Voronoi diagram—CW VD for short. Third, we investigate properties of this CW diagram and its

dual. Fourth, we present the filtration, called the λ-complex, induced on the dual by the growth process, and

encoding all possible topologies associated with this growth process. For any value of λ, the λ-complex identifies

a list of simplices of the dual complex, together with a label for each of them. This label precisely encodes

the contribution of the simplex to the boundary of the union of the balls grown thanks to the additively-

multiplicatively model. Our analysis generalizes the so-called β-shapes [SCC+06], i.e. the α-shape associated

to an Apollonius diagram [BD05, BWY06, EK06]. Fifth, we present an algorithm to compute the CW VD.

Finally, we present experimental results on toleranced protein models.

RR n° 7306

inria-00497688, version 1 - 7 Jul 2010

Page 6

4Cazals and Dreyfus

Figure 1: Curved Voronoi diagrams of 7 circles / weighted points. (Left) Power diagram d(Si(ci,ri),p) =

?p − ci?2− r2

d(Si(ci,ai,ri),p) = ai?p − ci?2− r2

i. (Middle) Apollonius diagram : d(Si(ci,ri),p) = ?p − ci? − ri (Right) M¨ obius diagram :

i.

Figure 2: A fictitious molecule of three atoms undergoing conformational changes.(a) The two extreme confor-

mations, together with the probability density map D in background. The map D displays the probability for

a given point to be covered by a random conformation. (b) Three toleranced balls used to cover the portion of

the map D involving probabilities beyond a given threshold. Dashed lines represent the inner and outer balls

of the toleranced balls. Note that higher the confidence / probability, the smaller the region between the inner

and outer balls.

2Toleranced Models and Compoundly Weighted Voronoi Diagram

2.1Compoundly Weighted Distance and Toleranced Balls

Toleranced balls.

and αi, we define the additively-multiplicatively distance as follows:

Given a weighted point Si(ci;µi,αi), with center ciand parameters (real numbers) µi> 0

λ(Si,p) = µi|| cip || −αi.

(1)

This distance is associated with so-called compoundly-weighted Voronoi diagrams or CW VD for short [OC00].

Geometrically speaking, this distance is best understood using the following growth process. Let a toleranced

ball Si(ci;r−

and outer balls. Given a toleranced ball Siand a real parameter λ, consider the grown ball Si[λ] centered at ci

and whose radius is defined by:

ri(λ) = r−

i,r+

i) be a pair of concentric balls of radii r−

i< r+

i, centered at ci. These balls are called the inner

i+ λ(r+

i− r−

i).

(2)

Denoting δi= r+

i− r−

i, a point p is reached by this growth process once ri(λ) =|| cip ||, that is

λ(Si,p) =|| cip ||

δi

−r−

i

δi

.

(3)

INRIA

inria-00497688, version 1 - 7 Jul 2010

Page 7

Modeling with toleranced balls5

In other words, a toleranced ball Si(ci;r−

and reciprocally, a weighted point Si(ci;µi,αi) is tantamount to a toleranced ball Si(ci;r−

(1 + αi)/µi). In the sequel, we shall use both terminologies and exchangeable refer to weighted point Si or

toleranced ball Si.

i,r+

i) is tantamount to a weighted point Si(ci;µi= 1/δi,αi= r−

i/δi);

i

= αi/µi,r+

i

=

2.2On Concomitant Interpolation Processes

Consider two toleranced balls Si and Sj. We term the linear interpolation of Eq. (2) concomitant since at

λ = 0 (resp. λ = 1) the grown balls Si[λ] and Sj[λ] respectively match their inner (outer) balls. In the

context of toleranced models, concomitance is important since, for a collection of toleranced balls, we aim

at exploring the region sandwiched between the inner and outer balls coherently. Interestingly, concomitance

requires multiplicatively weighted Voronoi diagram — CW or M¨ obius.

Non concomitant interpolations.

squared radius as follows:

For the power diagram, the growth process consists of modifying the

r2

i(α) =|| cip ||2= r2

i+ α.

(4)

Let a toleranced weighted point be a pair of concentric balls of weights r2

αi required to interpolate from the inner to the outer ball is αi = (r+

concomitant since for two toleranced weighted points, one generically has αi?= αj.

i= (r−

i)2. The interpolation is not

i)2and (r+

i)2. The value

i)2− (r−

The same observation holds for the growth process associated with an Apollonius diagram, which is not

concomitant unless the discrepancy r+

i− r−

iof all toleranced balls is equal to some constant.

Concomitant interpolations.

diagrams, recall that the generalized M¨ obius distance to a weighted point Si(ci,µi,αi) is defined by:

To see that M¨ obius diagrams share the concomitance property with CW

d(Si,p) = µi|| cip ||2+αi.

(5)

Equivalently,

|| cip ||2=

1

µi(d + αi).

(6)

To make the connexion between the distance of Eq. (5) and a toleranced ball, we use d = 0 and d = 1, which

yields

(r−

µi, and (r+

Equivalently, one has:

1

(r+

i)2=αi

i)2=1 + αi

µi

.

(7)

µi=

i)2− (r−

i)2and αi=

(r−

i)2

(r+

i)2− (r−

i)2.

(8)

A comparison of the CW and M¨ obius growth models, that is ri(λ) =|| cip || versus ri(d) =

provided on Fig. 3. Compared to the CW linear growth model and as shown by the variation of the derivative

of ∂ri(d)/∂d, a large difference (r+

?|| cip ||2, is

i)2− (r−

i)2biases the M¨ obius interpolation towards small values.

2.3Toleranced Tangency and Generalization of the Empty Ball Property

For affine (Apollonius) Voronoi diagrams, it is well known that for each point centered on a Voronoi face, there

exists a unique ball orthogonal (tangent) to the balls associated with the vertices of the dual simplex, and

conflict free with all the other balls1. To derive the analogue in the CW-case, consider a point p and two

toleranced balls Siand Sjsuch that λ(Si,p) = λ < λ(Sj,p). For the pair Siand p, one gets with Eq. (1):

|| pci|| −αi

µi

−λ

µi

= 0 ⇔ || pci|| −r−

i− λδi= 0.

(9)

1Consider e.g. the power case, and pick a point p on the Voronoi face dual of a simplex involving a ball Si(ci,wi). Assume that

point p lies on the sphere bounding the ball Si(ci,wi+ α). One has π(p,Si) =|| cip ||2−wi− α = 0, or equivalently, the balls Si

and X(p,α) are orthogonal.

RR n° 7306

inria-00497688, version 1 - 7 Jul 2010

Page 8

6Cazals and Dreyfus

Figure 3: Comparing the variation of the radius for the CW model (green curve) and the M¨ obius model (red

curve). On this example, r−

i= 0 and r+

i= 10.

Similarly, for the pair Sjand point p:

|| pcj|| −αj

µj

−λ

µj

> 0 ⇔ || pcj|| −r−

j− λδj> 0.

(10)

We summarize with the following definition, illustrated on Fig.4:

Definition. 1. A ball B(p,λ) which satisfies the condition of Eq. (9) w.r.t. a toleranced ball Si is called

toleranced tangent (TT for short) to Si. A toleranced ball Sj and a ball B(p,λ) which satisfy the condition of

Eq. (10) are called conflict free.

Remark. 1. Equation (9) states that the inner ball B(ci,r−

scaled by δi, are tangent. Similarly, condition (10) states that B(cj,r−

shall use this property to illustrate TT balls, see e.g. Fig. 4.

i) and the ball B(p,λδi)—which is the ball B(p,λ)

j) and B(p,λδj) do not intersect. We

Remark. 2. Let S be a collection of toleranced balls. Consider a ball B(p,λ) which is TT to a subset of balls

T ⊂ S, and conflict free with the toleranced balls in S\T. The center p of this ball is found at the intersection

of the spheres bounding the grown balls Si[λ] with Si ∈ T, and is located outside the grown balls Sj[λ] with

Sj∈ S\T.

S1

S2

S3

p

Figure 4:

S1(0,0;1,5),S2(0,10;2,8),S3(4,−9;1,3). The three dotted circles represent S1[3/4],S2[3/4],S3[3/4]. The three

circles centered at p are the scaled versions of ball B(p,3/4); following remark 1, ball B(p,3/4) is TT to S1and

S2, and conflict free with S3.

Toleranced tangent (TT) balls and conflict free balls. In dashed lines, toleranced balls

Remark. 3. In Eq. (9) and (10), the radius of the toleranced ball B(p,λδi) depends on the parameter δifrom

toleranced ball Si. Denoting δ+the additively weighted distance between two weighted points, Eq. (9) and Eq.

INRIA

inria-00497688, version 1 - 7 Jul 2010

Page 9

Modeling with toleranced balls7

(10) may be rewritten as follow:

δ+(B(p,λ),B(pi,r−

i

δi

)) =δi− 1

δi

|| ppi||,

(11)

and

δ+(B(p,λ),B(pi,r−

i

δi

)) >δi− 1

δi

|| ppi|| .

(12)

The left-hand side involves B(p,λ), a ball whose radius does not depend on parameters from toleranced balls of

S, as for the power and Apollonius cases. But the right-hand-side is parametrized. In the sequel, we use Eq.

(9) and Eq. (10) for a simpler geometric interpretation of toleranced tangency and conflict-ness. A generic ball

not belonging to S will be denoted B(p,λ).

3The Compoundly Weighted Voronoi Diagram

Consider a collection S of n toleranced balls. The Compoundly Weighted Voronoi diagram is the partition of

the space according to the nearest neighbor relationship, for the CW distance, that is:

V or(Si) = {p ∈ R3| λ(Si,p) ≤ λ(Sj,p)∀j ?= i}.

(13)

More generally, denoting Tk+1a tuple of k+1 toleranced balls, we are interested in V or(Tk+1) = ∩Si∈Tk+1V or(Si).

Naturally, we are also interested in the dual complex generalizing the Delaunay triangulation.

3.1Bisectors in the CW Case

The bisector of a tuple of toleranced balls Tk+1is the loci of points having the same CW distance w.r.t. every

toleranced ball. We denote this bisector ζ(Tk+1), and examine in turn the case for pairs, triples, and quadruples.

Our analysis assumes that the δiare not equal, as this is the Apollonius case [BWY06].

3.1.1Bisector of two toleranced balls

Analysis.

ζ(i,j) of Siand Sj:

Let Siand Sjbe two toleranced balls. The following property describes the existence of the bisector

Proposition. 1. Siis trivial w.r.t. toleranced ball Sjiff δi≤ δjand the following condition, which states that

cibelongs to the interior of the Voronoi region of Sj, holds:

λ(Sj,ci) < −r−

i

δi

.

(14)

Proof. If the Voronoi region Viof Siis empty, one has in particular, ci?∈ Vi, which is exactly Eq. (14). The

second implication also trivial holds. For the converse, applying the definition of λ(Si,p) to any point p, we get:

λ(Si,p) =|| pci|| −r−

i

δi

>|| pci||

δi

+|| cicj|| −r−

j

δj

(15)

≥|| pci|| + || cicj|| −r−

>|| pcj|| −r−

δj

j

δj

(16)

j

= λ(Sj,p).

(17)

The three derivations respectively stem from Eq. (14), from δi≤ δj, and from the triangle inequality.

Assuming that ζ(i,j) exists, its geometry depends on the relative values of δi and δj. Assuming w.l.o.g.

that δi< δj, Sjgrows faster than Siso that for a large enough value of λ, the grown ball Si[λ] is contained in

its counterpart Sj[λ], so that the bisector is a closed surface, with ciin the bounded region delimited by ζ(i,j).

Matching the generalized distances shows that this surface is a degree-four algebraic surface. See Fig. 5 for a

2D illustration.

RR n° 7306

inria-00497688, version 1 - 7 Jul 2010

Page 10

8Cazals and Dreyfus

Figure 5: Two toleranced balls and their bisector which is a degree four algebraic curve –green curve. Dashed

circles corresponding to the inner and outer balls. Dotted circles correspond to the solutions of a degree four

equation : blue ones are toleranced tangent circles, red ones are algebraic artifacts.

Extremal TT balls.

λ value is a local extremum. By radial symmetry w.r.t. the line joining the centers of the balls, such balls are

necessarily centered at the intersection between the bisector and the line joining the centers. Assume w.l.o.g.

that δi< δj. The minimal such ball, denoted Mi,j(mi,j,ρi,j) is such that Si[ρi,j] and Sj[ρi,j] are tangent at

mi,j. The maximal ball Mi,j(mi,j,ρi,j) is such that Si[ρi,j] is interior-tangent to Sj[ρi,j] at mi,j.

If the bisector exists, it makes sense to track the TT balls such that the corresponding

Remark. 4. As illustrated on Fig. 6, Sj[ρi,j] may be exterior or interior to Si[ρi,j]; Ball Sj[ρi,j] is interior

to Si[ρi,j] iff Si is closer to cj than Sj for the CW distance i.e. λ(Si,cj) < λ(Sj,cj). In the limit case

λ(Si,cj) = λ(Sj,cj), cj= mi,jand Sj[ρi,j] may be considered as exterior to Si[ρi,j].

cj

ci

mi,j

mi,j

mi,j

mi,j

cj

ci

Figure 6: Relative position of mininal and maximal TT balls of two balls (Left) Sj[ρi,j] and Si[ρi,j] are exterior

tangent (Right) Sj[ρi,j] is interior tangent to Si[ρi,j].

The parameters of these extremal TT balls are computed as follows:

Proposition. 2. The two extremal TT balls B(p,λ) of two toleranced balls are characterized by

λ =|| cicj|| −(αr−

i+ βr−

j)

αδi+ βδj

,

(18)

INRIA

inria-00497688, version 1 - 7 Jul 2010

Page 11

Modeling with toleranced balls9

and

? cip = αλδi+ r−

i

|| cicj||

?cicj,

(19)

where α = ±1 and β = ±1 depend on the ball processed (minimal or maximal) and the relative positions of Si

and Sj(case analysis in the proof).

Proof. Denote ? up,p? the unit vector between two points p and p?. The extremal TT ball Mi,j= (p,λ) or

Mi,j= (p,λ) of Siand Sjbeing centered on the line joining the centers ciand cj, we can express the weight λ

as follows:

? cip + ? pcj= ?cicj

(20)

⇔|| cip || ? ucip+ || pcj|| ? upcj=|| cicj|| ? ucicj

(21)

⇔|| cip || ? ucip.? ucicj+ || pcj|| ? upcj.? ucicj=|| cicj||

(22)

α(λδi+ r−

i) + β(λδj+ r−

j) =|| cicj||,

(23)

where α = ? ucip.? ucicj= ±1 and β = ? upcj.? ucicj= ±1. Equation (18) follows easily. We note in passing

that following remark 4, the signs of the dot products α and β are obtained from the sign of the expression

λ(Si,cj) − λ(Sj,cj).

The weight of the extremal TT balls being determined, the center is computed as follows:

α? ucip= ? ucicj

(24)

⇔ α

? cip

|| cip ||=

⇔ ? cip = α|| cip ||

?cicj

|| cicj||

(25)

|| cicj||

?cicj

(26)

⇔ ? cip = αλδi+ r−

i

|| cicj||

?cicj.

(27)

3.1.2Bisector of three toleranced balls

Analysis.

the Apollonius case, we suppose without loss of generality that δi0≤ δi1≤ δi2with δi0< δi2. If there is no

intersection between ζ(i0,i1) and ζ(i0,i2), ζ(i0,i1,i2) does not exist, and reciprocally. Assume that ζ(i0,i1,i2)

exists. Since at least one δidiffers from the other two, there is at most one Apollonius bisector. The geometry

of ζ(i0,i1,i2) depends on δi0,δi1and δi2, and the following cases are illustrated on Fig. 7.

? CWB.III.1 If there is no Apollonius bisector, ζ(i0,i1,i2) is a bounded curve resulting from the intersection

of two CW bisectors.

? CWB.III.2 If the Apollonius bisector is not a half straight line, ζ(i0,i1,i2) is a bounded curve resulting from

the intersection of one CW bisector, and one sheet of a hyperboloid (possibly degenerated to a hyperplane).

? CWB.III.3 If the Apollonius bisector is a half straight line, ζ(i0,i1,i2) is reduced to at most two intersection

points. Note that if there are two intersection points, δi1= δi2and Si1is included in and tangent to Si2.

Consider three toleranced balls Si0,Si1,Si2such that the bisector of each pair exists. To avoid

RR n° 7306

inria-00497688, version 1 - 7 Jul 2010

Page 12

10Cazals and Dreyfus

Figure 7: Bisectors of three toleranced balls. The red dots are the centers of the toleranced balls and the

pink/green/blue surfaces respectively represent the bisectors ζ(0,1) / ζ(0,2) / ζ(1,2). (Left) CWB.III.1

No Apollonius bisector (Middle) CWB.III.2 One Apollonius bisector (Right) CWB.III.3 One degenerate

Apollonius bisector.

Extremal TT balls.

half straight line, these balls are found by intersecting this line with one of the other two bisectors.

In the general case, identifying these two balls involves four equations in four unknowns—the coordinates of

the center and the weight λ. Denote π the plane defined by the centers of the three balls. The growth of the

balls being symmetric with respect to this plane, the fourth equation consists of constraining the center of an

extremal TT ball to plane π. The calculation is covered by the following proposition for k = 2:

In any case, there are two (possibly identical) extremal TT balls. If one bisector is a

Proposition. 3. Let Tk+1= {Sij}j=0,...,k be a triple or quadruple of toleranced balls, i.e. k = 2 or k = 3.

Computing the two extremal TT balls of the tuple Tk+1requires solving a degree four equation. A value solution

λ of this equation is valid provided that λδij+ r−

ij≥ 0, ∀j = 0,...,k.

Proof. of Prop. 3 for Tk+1= {Si0,Si1,Si2}.

The ball sought has to be TT to each of the three toleranced balls, as specified by Eq. (9). Assume that the

plane containing the centers of the three balls has equation axx+ayy+azz = aC. Squaring the three equations

of toleranced tangency yields the system:

Subtracting the first squared equation from the two subsequent ones yields:

Using Gaussian elimination on the last three equations, one obtains three linear equations for the coordinates of

p, parametrized by λ2. Injecting these quantities into the first equation yields the quartic equation in λ. Note

that a solution is valid iff λδij+ r−

that the coordinates of point p are rational fractions in λ2.

(p − ci0)2= (λδi0+ r−

(p − ci1)2= (λδi1+ r−

(p − ci2)2= (λδi2+ r−

axx + ayy + azz = aC

i0)2

i1)2

i2)2

(28)

(p − ci0)2= (λδi0+ r−

2p(ci1− ci0) = (λδi0+ r−

2p(ci2− ci0) = (λδi0+ r−

axx + ayy + azz = aC

i0)2

i0)2− (λδi1+ r−

i0)2− (λδi2+ r−

i1)2− (c2

i2)2− (c2

i0− c2

i0− c2

i1)

i2)

(29)

ij≥ 0, and sorting the valid values yields the extreme TT balls. Also note

Remark. 5. Geometrically, three intersecting spheres generically intersect into two points. The extreme TT

balls correspond to the situations where these two points coalesce.

INRIA

inria-00497688, version 1 - 7 Jul 2010

Page 13

Modeling with toleranced balls11

3.1.3Bisector of four toleranced balls

Analysis.

the Apollonius case, we suppose w.l.o.g. that δi0≤ δi1≤ δi2≤ δi3with δi0< δi3. If the intersection of ζ(i0,i1),

ζ(i0,i2) and ζ(i0,i3) is empty, the intersection of all bisectors of pairs is empty and ζ(i0,i1,i2,i3) does not exist,

and reciprocally. If ζ(i0,i1,i2,i3) exists, we have ζ(i0,i1,i2,i3) = ζ(i0,i3)∩ζ(i1,i2,i3), from which the following

analysis follows.

? CWB.IV.1 The bisectors ζ(i0,i3) and ζ(i1,i2,i3) being a surface and a curve, their generic intersection, if

any, consists of a finite set of points. As we shall see below, there are at most four such points.

? CWB.IV.2 As a degenerate case, when ζ(i1,i2,i3) is a bounded curve, the intersection of ζ(i1,i2,i3) and

ζ(i0,i3) may be ζ(i1,i2,i3). In this case, ζ(i0,i1,i2,i3) has the geometry of the bisector ζ(i1,i2,i3) of three

toleranced balls.

Consider four toleranced balls Si0,Si1,Si2,Si3such that the bisector of each pair exists. To avoid

Extremal TT balls.

toleranced balls, we refer to the analysis carried out in section 3.1.2. Otherwise, ζ(i0,i1,i2,i3) is reduced to at

most four points, as shown by the following constructive proof of proposition 3:

We distinguish two cases. If ζ(i0,i1,i2,i3) has the geometry of a bisector of three

Proof. of Prop. 3 for Tk+1= {Si0,Si1,Si2,Si3}.

The ball sought has to be TT to each of the four toleranced balls, that is || pcij||= λδij+ r−

Squaring the four equations of toleranced tangency yields the system

As for the case of three toleranced balls, we use Gaussian eliminations on system (30) to get three equations

linear to the coordinates of p and parametrized by λ2, and one quartic equation on λ. Checking that || pcij||≥ 0

provides the valid solutions, and sorting these provides the extremal solutions.

ijfor j = 0,1,2,3.

(p − ci0)2= (λδi0+ r−

(p − ci1)2= (λδi1+ r−

(p − ci2)2= (λδi2+ r−

(p − ci3)2= (λδi3+ r−

i0)2

i1)2

i2)2

i3)2

(30)

Remark. 6. As illustrated on Fig. 8, the system (30) may have four distinct solutions λisuch that λiδj+r−

0.

i≥

RR n° 7306

inria-00497688, version 1 - 7 Jul 2010

Page 14

12Cazals and Dreyfus

Before intersection: λ = λi− ?

After intersection: λ = λi+ ?

Figure 8: Upon growing, four toleranced balls may intersect into four distinct points. Denoting ? an arbitrarily

small number, we display the toleranced balls Si[λj± ?]. The λjhave been sorted by increasing value from Top

to Bottom.

3.2Voronoi Diagram and its Dual Complex

Empty Voronoi regions.

condition of triviality for two toleranced balls. But triviality of a toleranced ball amidst a collection of balls

is more complex since a toleranced ball might not be trivial w.r.t. any other one, yet, it might be trivial with

respect to their union. To see why, observe that Eq. (13) tells us that a point in space is attributed to the

Voronoi region of a toleranced ball provided that this toleranced ball reaches this point first in the growth

process. Thus, a growing ball which is always contained in the union of a collection of growing balls is trivial,

although it might not be trivial with any of them. Denoting T a collection of toleranced balls, and for any value

of λ, the following condition, illustrated on Fig. 10, must hold for Sito be trivial:

?

A toleranced ball whose region is empty is called trivial. Proposition 1 gives a

Si[λ] ⊂

Sj∈T

Sj[λ].

(31)

INRIA

inria-00497688, version 1 - 7 Jul 2010

Page 15

Modeling with toleranced balls13

Remark. 7. The triviality condition is more complex than in the Apollonius case, where a ball is hidden if and

only if it is included within another ball.

Figure 9: Dual complex of the four balls of Fig.

8—bottom and top rows respectively represent 0-

simplices and 3-simplices.

c0

c1

c2

Figure 10:

(0,1/2;1,3) (red), S1 = (0,0;3,4) (green) and

S2 = (5,0;3,7) (blue). Ball S0 is neither trivial

w.r.t.

S1 nor S2, but is trivial with respect to

both.

Hidden toleranced ball.

S0

=

Dual Complex.

each being termed a face. Each such face corresponds to the intersection of k + 1 Voronoi regions, so that we

associate an abstract simplex or simplex for short in the dual complex. That is, if V or(Tk+1) consists of m faces,

on finds ∆j(Tk+1),j ∈ 1,...,m simplices in the dual complex. (The multiplicity is omitted if the tuple Tk+1

yields a single simplex.) The dual of a simplex ∆(T) is denoted ∆(T)∗. Assuming that the input toleranced

balls are numbered from 1 to n, a simplex is identified by a list of integers, and inclusion between such lists

defines a partial order on simplices. We therefore represent the dual complex by a Hasse diagram DSwith one

node per simplex. The nodes of DS corresponding to k-simplices are denoted DS(k). Note that we may also

(arbitrarily) embed a simplex within the union of Voronoi faces it is associated with. See Figs. 11, 12 and 13

for a 2D illustration.

The Voronoi region V or(Tk+1) of a tuple Tk+1 may have several connected components,

Topological complications.

ing toleranced ball defines a lens between the Voronoi region of two neighboring toleranced balls, a case also

found in the Apollonius diagram. In the dual complex, the vertex of this toleranced balls has exactly two

neighbors and the triangle corresponding to these three toleranced balls does not have any coface.

A Voronoi region might not be connected, and this may happen for tuples of size one to four. We illustrate

this in 2D with Fig. 11. For a toleranced ball, consider S4whose Voronoi region is split into two faces, associated

with the vertices (zero-dimensional simplices) ∆1(4) and ∆2(4) in the Hasse diagram. For two toleranced balls,

note that the Voronoi region V or(S1,S2) consists of two faces—open line segments in this case, yielding the

simplices ∆1(1,2) and ∆2(1,2) in the Hasse diagram. For three toleranced balls, note that the triple (S1,S2,S4)

corresponds to two triangles.

A Voronoi region may not be simply connected. When one toleranced ball punches a hole into a face, the

corresponding one-simplex does not have any coface. See e.g. toleranced ball S7and the simplex ∆(2,7) on

Fig. 11. When two toleranced balls punch a hole into a Voronoi region, the two-simplex they define does not

have any coface either. Finally when three toleranced balls punch a hole into a Voronoi region, two tetrahedra

of the dual complex share the same vertices, the same edges and same triangles. This latter case is illustrated

in 2D, where a hole punched by two toleranced balls in a Voronoi region results in two triangles with the same

vertices and the same edges. See ∆1(2,5,6) and ∆2(2,5,6) on Fig. 11.

A Voronoi region gets sandwiched between two neighbors when the correspond-

Bounded and Unbounded Voronoi regions.

δi≥ δj,∀j ?= i. A toleranced ball which is not maximal has a bounded Voronoi region in the CW VD of S, and

the subset of maximal toleranced balls is denoted Smax. The CW VD diagram of toleranced balls in Smaxis

an Apollonius diagram since all δiare equal, and a subset of balls in Smaxhave an unbounded Voronoi region.

A toleranced ball Si∈ S is called maximal w.r.t. to S if

RR n° 7306

inria-00497688, version 1 - 7 Jul 2010