Combinatorial Decomposition, Generic Independence and Algebraic Complexity of Geometric Constraints Systems: Applications in Biology and Engineering

Material Information

Combinatorial Decomposition, Generic Independence and Algebraic Complexity of Geometric Constraints Systems: Applications in Biology and Engineering
ZHOU, YONG ( Author, Primary )
Copyright Date:


Subjects / Keywords:
Algebra ( jstor )
Coordinate systems ( jstor )
Eggshells ( jstor )
Flow graphs ( jstor )
Geometric angles ( jstor )
Graphical user interfaces ( jstor )
Mathematical variables ( jstor )
Navigation ( jstor )
Seams ( jstor )
Vertices ( jstor )

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright Yong Zhou. Permission granted to University of Florida to digitize and display this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Embargo Date:
Resource Identifier:
659562668 ( OCLC )


This item has the following downloads:

zhou_y ( .pdf )































































































































































Full Text

AL('" i'RAIC CO P:L:i i I OF Cl: 3

i tllC CONI', tAINTS i





I i. cate this work to family.


i :i to all for their 1 1 and guidance.



ACKNOWLEDGMENTS ................... ...... iv

LIST OF FIGURES ................... ......... viii

ABSTRACT ....................... ........... xi


1 INTRODUCTION ................... ........... 1

1.1 Constraint Graphs and Degrees of Freedom .............. 2
1.2 Formal Definition of DR-plans and Essential Properties ....... 6
1.2.1 Overconstraints ........ ................ 6
1.2.2 Optimality ......... .................. 7
1.2.3 Completeness ..... ................. 8
1.2.4 Complexity ............... ..... 8

2 PROBLEMS .......... . ............. 9

2.1 Geometric Constraints System Within Feature Hierarchies . 9
2.2 Tractable Combinatorial 3D rigidity characterization . . 9
2.3 A 2D Rigidity Classification Conjecture . . . 10
2.4 Solution Space N ,i.; iii i for Geometric Constraint Systems .... 11
2.5 Combinatorial Optimization of Algebraic Complexity . ... 11
2.6 Optimization of Wellformed Systems of Incidences . ... 12
2.7 Enumeration of Patr-,v--v~ for Macromolecular Structures ...... 13


3.1 Formal Problem Statement .................. .. 19
3.2 The Frontier Vertex Algorithm (FA) DR-Planner . . .. 23
3.2.1 Distributing Edges ..... .......... ... 24
3.2.2 Simplifying ('Cl-I. i- .................. .. 25
3.2.3 Datastructures. .................. ... .. .. 26
3.2.4 Distributing Vertices and (C!-I . . ...... .. 27
3.2.5 Combining Clusters . . ..... ... 28
3.3 Incorporating an Input Feature Decomposition into FA DR-plan .28
3.3.1 More Detailed Requirements on the Method . ... 28
3.3.2 Distributing Groups or Features ............... .. 30

3.3.3 Proof of Correctness and Complexity . . ..... 34
3.3.4 Preserving Properties of the Old FA DR-planner ...... ..36


4.1 Determining Dof Rigidity: The Frontier Vertex Algorithm (FA) .41
4.1.1 The Frontier Vertex DR-plan (FA DR-plan) . . 43
4.1.2 The Frontier Vertex Algorithm (FA DR-planner) ...... ..44
4.2 Module-Rigidity: (C!i '.terization and Algorithm . ... 50


5.1 Definitions ......... . . ... ..56
5.2 One Combinatorial C('! i '.terization .. ............ 58
5.3 Observations .................. ........... .. 62
5.4 Conjectures .................. ............ .. 65

6 SOLUTION SPACE NAVIGATION ............ ... .. .. 69

6.1 Companion Methods Requirements ................. .. 69
6.1.1 DR-Planner ..... . . ..... ......... 70
6.1.2 Combinatorial Cluster-System Optimizer (CCO) ...... ..75
6.1.3 Algebraic Solver .................. ..... .. 76
6.1.4 Graphical User Interface (GUI) ............... .. 76
6.2 N i ,i, i ig the Solution Space ................ .. .. 77
6.2.1 The Basic ESM Method ... . . .. 77
6.2.2 ESM's Communication with User and Integration . 89
6.3 Conclusions . . . . . .... ... 93


7.1 An Instructive Example .................. ... .. 96
7.1.1 The Unoptimized Polynomial System . . 98
7.1.2 Using Quaternions .................. .... .. 99
7.1.3 An Optimized Alternative .................. .. 101
7.1.4 Interpretation ............... ... .. .... 102
7.2 Optimizing Algebraic Complexity using Cluster Topology ...... 102
7.2.1 Reduction of Algebraic Complexity through Optimization 106
7.2.2 Removing Assumptions Made in Section 1.2 ........ 106
7.3 Solutions to an Optimized System of Cluster Constraints ...... 107


8.1 Introduction ............... . . ...... 112
8.2 Background: Constraint Systems and C(l-i i ........... .. 113
8.2.1 The Optimal Recombination Algorithm . . .... 116
8.2.2 The Wellformed Recombination Algorithm . ... 117
8.2.3 Seam Graphs .................. ..... .. 119

8.3 The New Hybrid Algorithm ................ . 123
8.4 Conclusion. ................ .......... 128


9.1 Introduction ................... .......... 129
9.2 Obtaining Pathway Probabilities by Combinatorial Enumeration 134
9.3 Implementation Results .................. .. .. .. 136
9.4 Another Probability Measure ............... . 139

REFERENCES .................. .............. .. .. 140

BIOGRAPHICAL SKETCH .................. ......... 146


Figure page

1-1 One 2D constraint system example ............ .. .. .. 3

1-2 Simple 3D example drawn on 2D canvas with points and its DR-plan 3

1-3 One 3D example drawn on 2D canvas with solution. . . ... 3

1-4 Geometric constraint system in 3D with ,'i, ii ,- type . . 4

1-5 Constraint graph G1 and DR-plan in 2D. ................ 7

3-1 Small 2D constraint graph that is not triangle decomposable. ...... .15

3-2 Constraint system Si and underlying feature hierarchy Pi. . ... 18

3-3 Feature hierarchy and directed .,. i'. i' graph. .. . ..... 18

3-4 Constraint system and constraint graph showing multiple views. ...... ..19

3-5 Partial decompositions for 3D constraint system (Figure 1-3). . 20

3-6 Two DR-plans of 3D example with input features. ............ .20

3-7 Triangle-decomposable 2D counterexample of ('Cli, !l-Rosser property. .22

3-8 Constraint graph G with edge weight distribution. ........... ..25

3-9 Frontier Algorithm's simplification of graph giving DR-plan (Figure 1-5). 26

3-10 Consistency between the DR-plans of 2 groups of graph (Figure 3-6). .. 30

3-11 Child ('Cl-I. 1- do not overlap (Case 1). .. ... ....... .. 33

3-12 Input groups overlap on frontier vertices (Case 2). ............ ..34

3-13 The overlapped part includes non-frontier vertices (Case 3). ...... ..35

4-1 Finding W first will prevent dof misclassification with 2D and 3D example. 47

4-2 Ensuring Cluster Minimality. .................. ..... 48

4-3 Prevent accumulation of clusters .................. ..... 49

4-4 Examples where module-rigidity beats dof rigidity. ........... .54

4-5 Classic Hinge example: not module-rigid, but dof rigid . .... 55

5-1 Geometric angle constraint system and the angle graph. . ... 57

5-2 The new point pn+ is at the circle or at the radial ........... ..59

5-3 Two new angles: 61 and 62 .................. ....... 59

5-4 One new angle 61 and one old angle 62 ................. 60

5-5 Two old angles do not share a pair of points containing p,n+ ...... ..61

5-6 Two old angles share a pair of points containing p,n+ ......... .61

5-7 Generically independent system that is not gradually constructible. 62

5-8 Implicit angle cycle is not the only type of dependency. . .... 62

6-1 Standard geometric constraint solver architecture. ............ ..75

6-2 Solutions of the cluster formed by the 3 circles (Figure 1-1). ...... ..79

6-3 Complete solution of root cluster (Figure 1-1) after choosing subsolutions. 80

6-4 The structure of the cluster. .................. ..... 80

6-5 N iiv;, .i in; by bottom-up traversal of G79 in DR-plan (Figure 1-4). 83

66 N ,.1i, ling by bottom-up traversal of G82 in DR-plan (Figure 1-4). 83

6-7 Complete solution of constraint system (Figure 1-4). ......... ..84

7-1 The child clusters of hex_tet and the weighted overlap graph. . 97

7-2 Constraint graph and weighted overlap graph of problem pent_plat .. 104

7-3 Five spanning trees of the covering sets of the example (Figure 7-2). .. 104

7-4 Unique solution to problem hex_tet .............. 108

7-5 Diagramatic view of the four solutions to problem (ii). . ... 108

7-6 Diagramatic view of the ten solutions to problem (iii). . ... 109

7-7 Three of the eight solutions to the pent_plat problem (iv). ..... ..110

7-8 Diagramatic view of 8 solutions to the pent_plat problem (iv). . 110

8-1 Schematic representation of a 3D geometric constraint system. . 114

8-2 Overlap graph and the minimal spanning tree of the example (Figure 81). 116

8-3 C'!. ...-ig well-formed incidences for the system (Figure 8-1) is nontrivial. 118

8-4 Seam graph (Figure 8-2) and its seam tree. ..... . . ..... 119

8-5 Wellformed set of incidences obtained from the seam tree (Figure 8-4). 119

8-6 Seam graph, seam trees and seam cycle. ................ 121

8-7 Wellformed incidences may not be optimized. ............. ..122

8-8 Spanning tree of its weighted overlap graph and the seam graph. . 125

9-1 Example monomer primitives and constraints. ............ ..132

9-2 The simulated assembly of a T 1 viral shell. ............... ..133

9-3 Facenumbers and vertex numbers. ................. ..... 135

9-4 The highest pathway type and the widest pathway type in 2000 trials. 137

9-5 Pathi,--,v- of 2 largest isomorphism classes in 2000 trials. . ... 138

Abstract of Dissertation Presented to the Graduate School
of the University of I iarida in Partial lP H :::. :: of the
Requirements for the D. : of Doctor of F'.!. ..

CO iii :)ORIAL DLCO PO lO iON, ('! .iC i .i)- -: D- .C'E AND




C 0 ..: Meera : 'am
".. : D :'t.ment : C< :.. uter and Information Science and Engineering

S. dissertation contributes to 7 problems in geometric constraints solving

and ..i1 F' : We study the .: .1 1 ::: of enabling general -D and 3D variational

constraint :- ..... '... to be used in .. 'unction with a feature '" .....

representation, where some of the features may use procedural or other non-constraint

based representations. NWe give a combinatorial approximate characterization

of such gr : !: which we cal module-. ..'.' which can be determined I a

i' :.. : .1 time algorithm. 1i new method has been implemented in the

S110- i :i arnd has i :: : :1 properties and : : : al i: 1 :'

.:..ose a combinatorial characterization ... lecture of _) r: of angle

constraint system. \'.. give the formal statement of generically independence.

XWe arc ': :r to prove it use induction on the number ( points. TI.:. of

four cases have been proved. We also study the well-do(cumented .. !.1'. of

.. '1.."y navigating the potentially exponentially many roots or realizations

of well-constrained, variational geometric constraint systems. We give a scalable

method called the i or Equation and Solution .: that can be used both

for automatic searches and visual, user-driven searches for desired realizations.

;'., also show that, especially for 3D geometric constraint systems, a further

optimization of the algebraic complexity of the :1 : .., is both possible, and

often necessary to solve the well-constrained :selected by the DR-plan. XWe

give an efficient algorithm to optimize the algebraic complexity of the wellformed

system that is constructed 1. the algorit hm given "-- Sithiaram. we implement a

randomized .: :::: to (. :::ipute one measure of the probability of the p, '1:

and prospect to incorporate another probability measure, that will be obtained

combinat ::: :i -- extending Hendricksons 1: x)rem on ::i: :: circuits and unique

graph realization into this algorithm.


Geometric constraint systems have been studied in the context of variational

constraint solving in CAD for nearly 2 decades [1, 2, 3, 4].

A geometric constraint system consists of a finite set of primitive geometric

objects such as points, lines, planes, conics and so on and a finite set of geometric

constraints between them such as distance, angle, incidence and so on. The

constraints can usually be written as algebraic equations and inequalities whose

variables are the coordinates of the participating geometric objects. For example,

a distance constraint of d between two points (xl, iy) and (x2, Y2) in 2D is written

as (x2 _- X1)2 + (Y2 y)2 = d2. In this case the distance d is the parameter

associated with the constraint. Most of the constraint solvers so far deal with

2D constraint systems. With the exception of work related to the FRONTIER

geometric constraint solver [1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], to the best of our

knowledge, work on stand-alone 3D geometric constraint solvers is relatively sparse

[16, 17].

A solution or realization of a geometric constraint system is the (set of) real

zero(es) of the corresponding algebraic system. In other words, the solution is a

class of valid instantiations of (the position, orientation and any other parameters

of) the geometric elements such that all constraints are satisfied. Here, it is

understood that such a solution is in a particular geometry, for example the

Euclidean plane, the sphere, or Euclidean 3 dimensional space. A constraint

system can be classified as overconstrained, wellconstrained, or underconstrained.

Well-constrained systems have a finite, albeit potentially very large number of rigid

solutions; that is, solutions that cannot be infinitesimally flexed to give another

nearby solution: the solution space (modulo rigid body transformations such as

rotations and translations) consists of isolated points which are zero-dimensional.

Underconstrained systems have infinitely many solutions; their solution space is not

zero-dimensional. Overconstrained systems do not have a solution unless they are

cor ;i. l:-/,/ overconstrained. In that case, they could be embedded within overall

underconstrained systems. Systems that are not underconstrained are called rigid


1.1 Constraint Graphs and Degrees of Freedom

DR-plans, formally defined in the next section, provide the formal basis

of our feature hierarchy incorporation algorithm. Geometric constraint graph

representations of a constraint system are typically used to develop DR-plans.

Specifically these graphs are used for combinatorial analysis of algebraic properties

of the system (such as wellconstrainedness, rigidity and so on,), that hold generi-

, ./l/; that is, for all generic values for the constraint parameters (for example, for

almost all distance values, in the case of distance constraint systems).

A geometric constraint graph G = (V, E, w) corresponding to geometric

constraint system is a weighted graph with vertex set (representing geometric

objects) V and edge set (representing constraints) E; w(v) is the weight of vertex

v and w(e) is the weight of edge e, corresponding to the number of degrees of

freedom available to an object represented by v and number of degrees of freedom

(dofs) removed by a constraint represented by e respectively.

For example, Figures 1-1, 1-2 and 1-5 show 2D and 3D constraint systems

and their respective dof constraint graphs. More 3D constraint systems whose

graphs have vertices of weight 3 (points) and edges of weight 1,3 can be found in

Figures 1-3 1-4.

. ^ I
-- ,

K;U K. ;

Figure 1-1: One 2D constraint system example.


Figure 1-2: Simple 3D example drawn on 2D canvas with points and its DR-plan


.p4 p2 a
Am ak


I --s~


p3 p5

Figure 1-3: One 3D example drawn on

I r ,


S--1 FL.

' .


2D canvas with solution.

% hEi :rE.r

i1 -I t : .. ... -, ,, ....m .

SI- I- i

I 7 1 .
Il : ',, ..,.

---- -"

1llll 1

I -" I l .l 1 ]

Figure 1-4: Geometric constraint system in 3D with ''i i i i- type

Note that the constraint graph could be a /', i,'il'l' each hyperedge

involving any number of vertices. A subgraph A C G that satisfies

ww(e) D > w(v) (1

is called dense, where D is a dimension-dependent constant, to be described below.

Function d(A) = eA w(e)- EVA w(v) is called I. -.:/;/ of a graph A.

The constant D is typically ( d+) where d is the dimension. The constant D

captures the degrees of freedom of a rigid body in d dimensions. For 2D contexts

and Euclidean geometry, we expect D = 3 and for spatial contexts D = 6, in

general. If we expect the rigid body to be fixed with respect to a global coordinate

system, then D = 0. A trivial subgraph is single vertex (in 2D) and a vertex or

edge (in 3D).

Next we give purely combinatorial properties related to density that are used

to detect generic algebraic properties. A dense, nontrivial graph with density

strictly greater than -D is called dof-overconstrained. A graph that is dense


I -- -.

i -t

I : ::

[11 l'


I '


and all of whose subgraphs (including itself) have density at most -D is called

dof-wellconstrained. A graph G is called dof-well-overconstrained if it satisfies the

following: G is dense, G has at least one overconstrained subgraph, and has the

property that on replacing all overconstrained subgraphs by dof-wellconstrained

subgraphs (in any manner), G remains dense. Intuitively, this definition is used

to prevent some overconstrained subgraphs with high density from skewing

the classification of the entire graph. In particular, an extreme example could

be a graph that has 2 subgraphs that are severely overconstrained, but with

no constraints between them. By this definition, such a graph would not be

well-overconstrained and would be correctly classified as underconstrained. A graph

that is wellconstrained or well-overconstrained is called dof-cluster. A nontrivial

dense graph is minimal if it has no nontrvial dense proper subgraph. All minimal

dense subgraphs are dof-clusters but the converse is not the case. A graph that is

not a dof-cluster is said to be underconstrained. If a dense graph is not minimal,

it could in fact be an underconstrained graph: as pointed out, the density of the

graph could be the result of embedding a subgraph of density greater than -D.

Next we discuss how the graph theoretic properties degree of freedom (dof)

il.-!-.: relate to corresponding properties of the corresponding constraint system.

In 2 dimensions, according to Laman's theorem [18], if all geometric objects

are points and all constraints are distance constraints between these points then

any minimal dense cluster represents a generically rigid system. In general,

however, while generically rigid system ahv-- ~ gives a cluster, the converse is

not ah--, i- the case. In fact, there are wellconstrained, dense clusters whose

corresponding systems are not generically rigid and are in fact generically not

rigid due to the presence of generic constraint dependence. One example (Figure

1-4) with 3D points and distance constraints illustrates the so-called ..i. i1 i-

problem [19], which generalizes to the so-called hmli_" problem [20, 21]. To date,

there is no known, tractable, combinatorial characterization of generic rigidity

of systems for 3 or higher dimensions even when only points and distances are

involved [19, 22], although several conjectures exist. There are no known general

combinatorial characterizations of 2D rigidity, when other constraints besides

distances (such as angles) are involved. For constraint systems with angle and

incidence constraints but no distances, such a characterization is given [23]. For

3D points and distances, the notion of module-rigid clusters [12] (an extension of

dof-rigid clusters defined above) deals with all aspects of the bananas and hinge

problems, and so on, it correctly characterizes generic rigidity in all known cases.

Currently, no counterexamples are known of module-rigid constraint graphs that

are not generically rigid.

1.2 Formal Definition of DR-plans and Essential Properties

Here we formally define and give essential properties of DR-plans and

DR-planners. This section is important since we require our feature incorporation

algorithm to preserve these properties. Please refer to Hoffmann et al. and

Lomonosov [6, 24] for a detailed discussion of these properties.

Formally, a dof-DR-plan of a constraint graph G is a directed ., i-, 1i graph

(dag) whose nodes represent dof-clusters in G, and edges represent containment.

The leaves or sinks of the dag are all the vertices (primitive dof-clusters) of G. The

roots or sources are a complete set of the maximal dof-clusters of G. For well or

well-overconstrained graphs, the DR-plans have a single source. There could be

Ir I.-: DR-plans for G (Figures 1-5, 1-1, 1-2, 1-3, 1-4).

1.2.1 Overconstraints

First, each dof-cluster C in the DR-plan should be accompanied by a tractable

representation of a complete list of reducible overconstraint sets directly associated

with C. That is, sets of constraints that do not lie entirely within any child cluster

of C and can be removed without affecting the dof-rigidity of C. The DR-planner


18 C21
....... --,.. C O

,16 g .21
15 1 3 6
13 /20h-- '.0 13'3 10 1 0

1/\ / C1 .5 11 C

122 3 4 1151 92019 2 I 4 1

Figure 1-5: Constraint graph G1 and DR-plan in 2D.

should additionally admit an efficient method of removing overconstraints by

making the appropriate changes to the DR-plan.

1.2.2 Optimality

The size of a cluster in a DR-plan is its fan-in or number of its children

(it represents the size of the corresponding subsystem, once its children are

solved). Since the algebraic-numeric solvers take time exponential in the size of the

subsystems they solve, and the number of solutions is also typically exponential,

minimizing the size of a DR-plan is essential to the ESM method presented

here. An optimal DR-plan is one that minimizes the maximum fan-in. The

problem of finding the optimal DR-plan of even a 2D distance constraint graph

is NP-hard [9, 24], and approximability results are shown only in special cases.

Nonapproximability results are not known.

One measure used in lieu of absolute optimality is based on the fact that

most DR-planners make adhoc choices during computation (-Zw the order in

which vertices are considered) and we can ask how well (close to optimal) the best

computation path of such a DR-planner would perform (on the worst case input).

We call this the best-choice approximation factor of the DR-planner.

A more satisfactory measure of optimality is based on the following alternative

property. A tractable DR-plan for systematic navigation should ensure that each

cluster C should be accompanied by a a small set of its children Ci that form an

optimal covering set of maximal clusters properly contained in C. A covering set of

clusters is one whose union contains all geometric elements within C. The size of C

is 1 y the size of this optimal covering set. Ti: .'". here refers not to the

size of the covering set, but to l .n suitable combinatorial measure of the algebraic

complexity of the active constraint ; : for solving C, given the solutions of

the child clusters in t he covering set. leads to the notion (.' completeness (<.

DR-plans, given below.

1.2.3 Completeness

Any method that chooses an, ir-'-. 1 ... ~, set for a cluster C requires as

input a generalized complete d, : n' n of C into mnaximal proper subclusters,

formally defined as follows. Ti. decomposition <." : cluster C falls into one

of 2 .. A T I cluster C has exactly 2 child clusters, which intersect on a

nontrivial :1 .1: and their union covers all the geometric elements in C. A

Type 2 cluster C has a set of child clusters C(,, with the following .....ty. Ti..

union of C's covers all the geometric elements in C; --- pair c- > intersect on

at most a trivial su'. and -.-- C, is a proper mraximal subcluster of C. that

is, there is no proper subcluster of C that strictly contains (CQ. Completeness is

also needed for detecting implicit constraint <1a ...1' :es and for more accurate,

module-rigid E R-planners.

1.2.4 Complexity

Another basic property of a E:. i : : is its width i.e. number of clusters in the

DR-plan to be small, preferably linear in the size of G: this reflects the complexity

of the planning process and : i : the complexity of the sol process that is

based on the DF 1 : Clearly, this property competes with completeness.

Other desirable properties of DR-planners not mentioned above include

: : .: correction of underconstrained systems, and .: : ::: to efficient

updates of geometric primitives or constraints.


2.1 Geometric Constraints System Within Feature Hierarchies

One application of geometric constraints system is mechanical computer

aided design. However, a bottleneck in using geometric constraints system is that

designers use another representation based on the conceptual hierarchy of features

in a part or assembly.

In C'! lpter 3, we study the problem of enabling general 2D and 3D variational

constraint representation to be used in conjunction with the feature hierarchy

representation, where some of the features may use procedural or other non-constraint

based representations. We trace the challenge to a requirement on constraint

decomposition algorithms or decomposition-recombination (DR) planners used by

most variational constraint solvers, formalize the feature hierarchy incorporation

problem for DR-planners, clarify its relationship to other problems, and provide an

efficient algorithmic solution. The new algorithms have been implemented in the

general, 2D and 3D opensource geometric constraint solver FRONTIER.

2.2 Tractable Combinatorial 3D rigidity characterization

One big open problem is the question of rigidity of 3D constraint systems

even when only distances are involved. The problem is that most combinatorial

characterizations of rigidity will miss hidden dependencies between constraints and

will be wrongly classify many classical nonrigid systems as rigid.

In C'! lpter 4, we give a polynomial time characterization called module-, .:,i.:.:/;'

that is not fooled by any known such counterexample of nonrigid systems. We

show that this property is natural and robust in a formal sense. Rigidity implies

module-rigidity, and module-rigidity significantly improves upon the generalized

Laman degree-of-freedom or density count. Specifically, graphs containing

'II, i I or "Ii;,. [19] are not module-rigid, while the generalized Laman

count would claim rigidity. The algorithm that follows from our characterization of

module-rigidity gives a complete decomposition of non module-rigid graphs into its

maximal module-rigid subgraphs.

To put the result in perspective, it should be noted that, prior to the recent

algorithm of [9] there was no known polynomial time algorithm for obtaining all

maximal subgraphs of an input constraint graph that satisfy the generalized Laman

count, specifically when overconstraints or redundant constraints are present.

The new method has been implemented in the FRONTIER [10, 11, 15], [2]

opensource 3D geometric constraint solver and has many useful properties and

practical applications [13, 14, 25, 26, 27]. Specifically, the method is used for

constructing a so-called decomposition-recombination (DR) plan for 3D geometric

constraint systems, which is crucial to defeat the exponential complexity of solving

the (sparse) polynomial system obtained from the entire geometric constraint

system. The DR-plan guides the algebraic-numeric solver by ensuring that only

small subsystems are ever solved. The new, approximate characterization of

3D rigidity permits FRONTIER to deal with a far larger class of 3D constraint

systems (a class adequate for most applications) than any other current geometric

constraint solver.

2.3 A 2D Rigidity Classification Conjecture

Laman's theorem shows one combinatorial characterization of 2D distance

constraint system [18]. When other constraints are involved, for example, i .,.

there is no combinatorial characterization. In C'i plter 5, we give a combinatorial

characterization conjecture of 2D rigidity of angle constraint system. First, we give

the formal statement of generically independence. We observe that for an given

angle constraint system G in 2D with k dof, there is at least one point involved in

at most 7 angles. We divide it into 4 cases based on there exists at least one point

with 0, 1, 2 or more angles involved. We are trying to prove it use induction on the

number of points. The first three cases have been proved.

2.4 Solution Space Navigation for Geometric Constraint Systems

In ('!i lpter 6, we study the well-documented problem of systematically

navigating the potentially exponentially many roots or realizations of well-constrained,

variational geometric constraint systems. We give a scalable method called the

ESM or Equation and Solution Manager that can be used both for automatic

searches and visual, user-driven searches for desired realizations. The method

incrementally assembles the desired solution of the entire system and avoids

combinatorial explosion, by offering the user a visual walkthrough of the solutions

to recursively constructed subsystems and by permitting the user to make gradual,

adaptive solution choices.

We isolate requirements on companion methods that permit (a) incorporation

of many existing approaches to solution space steering or navigation into the

ESM; and (b) integration of the ESM into a standard geometric constraint solver

architecture. We address the latter challenge and explain how the integration is

achieved. And we clarify these requirements essential and desirable for efficient,

meaningful solution space navigation. Also, we sketch the ESM implementation

as part of an opensource, 2D and 3D geometric constraint solver FRONTIER

developed by our group.

2.5 Combinatorial Optimization of Algebraic Complexity

In ('! Ilpter 7 we show that, Most 1i ii, Ir geometric constraint solvers use a

combinatorial or graph algorithm to generate a decomposition-recombination

(DR) plan. A DR plan recursively decomposes the system of polynomial equations

into small, generically rigid subsystems that are more likely to be solved by

algebraic-numeric solvers.

Especially for 3D geometric constraint systems, a further optimization of the

algebraic complexity of these subsystems is both possible, and often necessary

to solve the well-constrained systems selected by the DR-plan. In C'! lpter 7, to

attack this apparently undocumented challenge, we use principles of rigid body

transformation and quaternion forms and we combinatorially optimize a function

over the minimum spanning trees of a graph generated from DR-plan information.

This approach follows an interesting connection between the algebraic complexity

of a well-constrained system and the topology of its maximal well-constrained

proper subsystems. The optimization has two secondary advantages: for navigating

the solution space of the constraint system and for mapping solution paths in the

configuration spaces of the subsystems.

We compare the reduction in algebraic complexity of the -,1 i-i'-, in' after

optimization with that of the unoptimized -, 1 i-i--I i, and illustrate the practical

benefit with natural examples that could only be solved after optimization.

2.6 Optimization of Wellformed Systems of Incidences

For tractability, many modern geometric constraint solvers recursively

decompose an input geometric constraint system into standard collections of

smaller, generically rigid subsystems or clusters. These are recursively solved and

their solutions or realizations are recombined to give the solution or realization of

the input constraint system.

The recombination of a standard collection of solved clusters typically reduces

to positioning and orienting the rigid realizations of the clusters with respect to

each other, subject to incidence constraints representing primitive, shared objects

between the clusters and distance constraints.

The paper [28] shows that even for generically wellconstrained systems in

3D, finding a wellconstrained system of incidence constraints for recombining

its cluster decomposition is a significant hurdle faced by geometric constraint

solvers. In general, we would like a wellformed system of incidences that preserves

the classification of the original, undecomposed system as a well, under or

overconstrained system. The author formally states and gives an efficient, greedy

algorithm to find such a wellformed system.

2.7 Enumeration of Pathways for Macromolecular Structures

We consider the problem of explicitly enumerating and counting the assembly

path-- i-, by which an icosahedral viral shell forms from identical constituent

protein monomers. This poorly understood assembly process is a remarkable

example of symmetric macromolecular self-assembly occurring in nature and

possesses many features that are desirable while engineering self-assembly at the


Sitharam and Mckenna [25, 29] give the new model of that employs a static

geometric constraint graph to represent the driving (weak) forces that cause a viral

shell to assemble and hold it together. The model was developed to answer focused

questions about the structural properties of the most probable types of successful

assembly pathv-i- Specifically, the model reduces the study of pathway types

and their probabilities to the study of the orbits of the automorphism group of the

underlying geometric constraint graph, acting on the set of pathv-i- The authors

give a randomized algorithm to compute one measure of the probability of these

pathi--,v- by faithfully sampling them.

In C'!i lpter 9, we give the implementation of the algorithm and propose to

incorporate another probability measure, that will be obtained combinatorially

by extending Hendricksons Theorem [30] on rigidity circuits and unique graph

realization into this algorithm. This involves both the theory of geometric

constraints system and implementation of the new algorithm.


Designers find it intuitive to use a spatial feature hierarchy representation,

which includes: a procedural history or an almost linear sequence of attachments,

extrusions, sweeps; or CSG Boolean operations such as intersections; or parametric

constraints, while additionally permitting B-rep and other representations of some

features. We use the FEMEX and other standard definitions of feature hierarchy,

[31, 32] and are concerned primarily with the conceptual design stage.

While designers additionally appreciate the expressiveness of variational

constraints, tod-(v's CAD systems largely restrict variational constraint representations

to 2D cross sections. This persists despite the general consensus that advocates

a judicious use of 3D variational constraints for the intuitive expression and

maintenance of certain complex and cyclic relationships that often occur between

features, parts or subassemblies.

To rectify this situation, it would be desirable if a feature hierarchy could

simultaneously incorporate 2D and 3D variational constraints. In this chapter, we

denote such representations as mixed representations (Figure 3-2).

Previous work on such mixed representations can be classified into two broad

types. The first type [33, 34], dictates a unified representation language which is an

amalgamation of variational constraints with other representation languages such as

CSG and Brep. The second type [35] wrestles with a heterogeneous approach, using

many servers, one for each representation language, so that the appropriate one can

be called when required. Both approaches, while highly general in scope, have their


Figure 3-1: Small 2D constraint graph that is not triangle decomposable.

Our approach in this chapter has a narrower focus: how to freely enable

a variational constraint solver to deal with feature interactions at any level of

a feature hierarchy, permitting the features to be independently manipulated.

Recursively, these features could themselves be represented using other representations,

or in a similar, mixed manner, using constraints to relate the sub-features. This

is a natural representation, since regardless of the way in which the features at

any given level are represented, constraints between features at that level could be

specified between primitive geometric objects or handles belonging to the features

(Figure 3-2).

One main challenge to achieving this type of representation is the following

competing pair of requirements on variational constraint solvers. Effectively

representing the interaction of independent features, especially in 3D, would require

the use of fairly general, cyclic constraint systems, which are often (consistently)


To deal with and resolve such constraint systems the efficient generation of

a close-to-optimal decomposition and recombination (DR) plan (formally defined

in Section 1.2) of general 2D or 3D constraint graphs is needed. These may not

be amenable to decomposition into triangular or other fixed patterns which many

DR-planners use (Figure 3-1).

DR-plans are widely used in geometric constraint solving and are crucial in

order to deal with the tractability bottleneck in constraint solving: minimizing

the size of simultaneous polynomial equation systems, thereby controlling the

dependence on exponential time algebraic-numeric solvers which are practically

crippled when dealing with even moderately sized systems. Effective DR-plans

are used also for navigating the solution space of the constraint system [13],

optimizing the algebraic complexity of subsystems sent to an algebraic-numeric

solver [14], for dealing with explicit inconsistencies (overconstrained systems) [8],

implicit or geometric redundancies and constraint dependence [12, 23], ambiguities

(underconstrained systems) and for efficient updates and online solving [2, 11].

In order for variational constraints to be used in conjunction with a feature

hierarchy representation, the DR-plans of geometric constraint systems should now

be made to incorporate an input, feature decomposition representing the underlying

feature, part or subassembly hierarchy. This is a partial order, typically represented

as a Directed Acyclic Graph or dag (Figures 3-2, 3-3, 3-4).

Again, this incorporation of an arbitrary input, conceptual design decomposition

into the DR-plan is only possible if the DR-planning process is sufficiently general.

In particular, the incorporation should be insensitive to the order in which

the elements in the constraint graph are considered during the DR-planning

process, the so-called C('!r, !I-Rosser property. However this property while

necessary, is not sufficient as explained in Section 1.2. Hoffmann et al. [6] first

formalized the concept of a DR-plan as well as several performance measures of

DR-planners some of which are relevant to this. It additionally gives a table of

comparisons which shows that many of the previous DR-planners for example

[3, 36, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], (or any obvious modifications of them)

would inherently fail to incorporate even tree-like input design decompositions or

feature hierarchies. We explain in Section 3.1 what the difficulty is in the case of

DR-planners that depend on decomposition based on fixed patterns.

Incorporation of input decompositions is crucial also in order to capture design

intent, or assembly order and allow independent and local manipulation of features,

parts, subassemblies or subsystems within their local coordinate systems. It is

also crucial for facilitating solution space navigation [13] in a manner that reflects

a conceptual design intent. In addition, it is crucial for providing the user with

a feature repertoire, the ability to paste into a sketch already resolved features

and constraint subsystems that are specified in another representation or allowing

certain features or easier subsystems to be solved using other, simpler, methods

such as triangle-based decomposition or parametric constraint solving. Sometimes

the user would prefer to specify a priority at the vertices of the dag which dictates

the order of resolution of the features, parts, subassemblies or subsystems. This

occurs also when one features can only be defined or generated based on another,

as in procedural or history based representations. Also, note that parametric

constraint solving can in fact be achieved as a special case, where the order is

a complete, total order. More generally, this can be used in the CAD database

maintenance of multiple product views [46, 47], for example the design view and a

downstream application client's view may be somewhat different constraint systems

and the two feature hierarchies may not even be refinements of one another,

but intertwined (Figure 3-4). Furthermore, each view could contain different

referencing shape elements that are not part of the net shape and therefore, not

part of the other views. This is particularly the case when these referencing shape

elements are actually generated during the operations of a history-based procedural



mixed procedural

( ) f13
hg 179



Procedural History Based
Parametric Constraints
2D Variational Constraints and Sweeps

o e
to 0

c d




Figure 3 2: Constraint system S and .1 :1 feature hierarchy Pi .

G1 3

G1 G2 G3 G4 G5

Figure 3-3: Feature hiera --!: and: i

1' : gr : !:

X / \B 3 3 _
A B-Q- -Q-\ 3 2

y y
X 2y

Figure 3-4: Constraint system and constraint graph showing multiple views.

3.1 Formal Problem Statement

We now describe the algorithmic problem of feature incorporation in a DR-plan

as an input-output specification.

Input: A 2D or 3D geometric constraint system (Section 1.1), S. A partial

feature decomposition of the constraint system given as a directed .,. i-, i graph

(dag) P obtained from one or more feature, part or subassembly hierarchies

or design views. A feature or subassembly is a node of P with its immediate

subfeatures represented as its children (Figures 3-5, 3-3, 3-6).

Desired Output: A DR-plan for the input constraint system whose

nodes include those features in the input partial feature decomposition that

are dof-clusters. For features that are not dof-clusters, a complete set of maximal

dof-clusters within them should appear as nodes in the DR-plan.

Other output Requirements: Once the output DR-plan has been obtained,

updates to the input feature hierarchy should be achieved efficiently without having

to redo the entire DR-plan.

The desirable properties of DR-plans and DR-planners given in Section

1.2 must be preserved by the feature incorporation algorithm and its output

DR-plan. Some of these properties require straightforward re-definition for feature

,:. -..

Figure 3-5: Partial decompositions for 3D constraint system (Figure -3).
i' '~- I-.... .

,,I .{'- K f i

Sbr de r h

With subassembl
S. L t i
41 U_ l ;:, -~ ~~~ ..-- -

'' 'i I

| t r.-
,-0. .. I
S. ,..
~- ... :, i
-t. ( -- I I

II tb

Figure 3 5: Partial decompositions for 3D constraint system (Figure 1 3).

a b c d e f g h

With subassemblies

Figure 3 6: Two DR-plans of 3D example with input features.

incorporating DR-plans, since often no DR-plan even exists that incorporates a

given input feature decomposition and preserves these properties as such. For

example, it may not be possible to preserve optimality since certain features

may simply require clusters with large fan-in; similarly it may not be possible

to preserve complexity and small width, since the number of given features may

force a large width. However, we would like to ensure that our algorithm generate

DR-plans that preserve these properties as much as possible, given the restriction

that these DR-plans are forced to incorporate a given input feature decomposition.

The ability of a DR-planner to incorporate any input feature decomposition

into a DR-plan of a constraint graph G implies that the DR-planner can find

the clusters of the graph in any order that is consistent with containment. This

is called the Ch i,, Rosser property of the DR-planner [6, 41, 42]. A formal

definition is the following.

Assume that a DR-planner P constructs its output DR-plan (a dag) for a

constraint graph G bottom up, that is, if a cluster C contains cluster D, and both

appear in the dag output, then D has been found and inserted into the DR-plan

before C. Except for this restriction, the DR-planner is allowed to find and insert

any cluster of G into the output dag at any stage. The DR-planner P has the

('!li, i !i-Rosser property if any dag that it outputs is a valid DR-plan for the input

graph G.

The C'!lii !I Rosser property is weaker and does not imply the feature

incorporation property, especially when the DR-planner in question does not

perform a generalized analysis, but works only on graphs that have a restricted

type of DR-plan.

For example, consider a DR-planner that requires the graph G to be

decomposable into clusters that have a specific structure or topological 1ii

[41, 42], and only finds such clusters. The DR-planner could have a ('!i, i1 !i-Rosser


e 9
c ..d .

S0000 0

a b a b c d e f g h

Figure 3-7: Triangle-decomposable 2D counterexample of ('!,ii !i-Rosser property.

property in that it would successfully find a DR-plan regardless of the order in

which such clusters are found and processed. However, by simply picking a feature

which is a cluster that in G that does not have that pattern, the DR-planner would

not be able to incorporate that feature in its DR-plan and hence would not possess

the feature incorporation property. Note that in the specific case of Fuddos and

Hoffmann [41, 42], it can be shown that a graph is well-constrained and I' i: ,fl5

decoin.p.- li!., if and only if all clusters in it are triangle-decomposable (although

this proof does not appear in the papers of Fudos and Hoffmann [41, 42]). So in

this case the 0C'!Li, !li-Rosser property implies the feature incorporation property;

however in this case both properties do not hold for overconstrained graphs

(Figure 3-7); and as pointed out above, the presence of consistent overconstraints

may be crucial in order to effectively mix feature-based and constraint-based


Finally, even if a DR-planner has the C'!,ii. !I-Rosser property and is in fact

shown to be amenable to feature incorporation, the actual algorithmic problem

still remains: of effo. -, /1i incorporating a given input feature decomposition into

a DR-plan while minimally altering its other desirable properties. This is the

problem that we address here.

3.2 The Frontier Vertex Algorithm (FA) DR-Planner

Here we sketch the essential algorithmic details of the dof-rigid Frontier

vertex (FA) DR-planner which are absolutely necessary to describe our feature

incorporation algorithm. The dof-rigid FA DR-planner satisfies the properties

discussed in the Section 1.2. The basic idea of this DR-planner and its performance

was presented by Hoffmann et al. [6]; a complete formal description along with

analysis of correctness and (cubic) complexity and proof of the completeness

property are given by Lomonosov and Sitharam [2, 9, 24]. A pseudocode is

provided by Sitharam [11] and the documented code can be found on her CISE

and GNU websites [15]. A method of combinatorially obtaining an optimal, stable

algebraic system for solving C, that is, for obtaining optimal covering sets is given

by Sitharam et al. and Sitharam and Zhou [14, 48]. The method for obtaining

all possible sets of reducible constraints for overconstrained clusters of dof-rigid

Frontier vertex DR-plans, both for 2D and 3D, and modifying the DR-plan once

they have been removed, is presented by Hoffmann et al. [8]. Other desirable

properties such as systematic correction of underconstraints, and amenability

to efficient updates of geometric primitives or constraints are given by Sitharam

[2, 11].

The input is the constraint graph G and the output is a DR-plan of quadratic

width, satisfying the completeness property, with constant best-choice approximation


pick a cluster C from clusterqueue CQ
Distributecluster(C) in cluster graph CG
if new cluster C' is found (containing C)
Complete (C'G)
recursivee procedure builds complete sub DR-plan for
cluster graph restricted to C', that is, input
constraint graph restricted to C', starting from those
subclusters of C' that are already present in DR-plan;

modifies DR-plan, inserting C' and
new found subclusters of C' into it.]
insert C' at the end of CQ
Combine CQ iterativee procedure that modifies both DR-plan
and CQ until no further combining is possible)
update CG by (frontier vertex) Simplify(clusters in CQ)
remove C from CQ
Until CQ is empty
if DR-plan has more than 1 root, then Complete(CG)

We describe the methods: DistributeC'Ii. r, Simplify, and Combine to the

extent necessary to describe and analyze our feature incorporation algorithm.

DistributeCI, 'I. r in turn relies on 3 methods based on network flow for locating

dof-rigid clusters: DistributeVertex, DistributeEdge and PushOutside. It is not

necessary to describe Complete since it is unaffected by the feature incorporation

algorithm. For these, the reader is referred to Lomonosov and Sitharam [9, 24].

Briefly: and Complete recursively calls itself as well as Distributecluster, Combine

and Simplify and requires care since completeness competes with the small width

property of DR-plans as mentioned in Section 1.2.

3.2.1 Distributing Edges

The dense subgraph isolation algorithm is used repeatedly to find dof-rigid

clusters. It was first given by Hoffmann et al. [1, 5] as a modified incremental

network maximum flow algorithm. We assume standard working knowledge of

network flow. The key routine is the distribution of an edge in the constraint graph

G. For each edge, we try to distribute the weight w(e) + D + 1 to one or both of

its endpoints as flow without exceeding their weights, referred to as "distributing

the edge e." and called the DistributeEdge routine. This is best illustrated on a

corresponding bipartite graph G*: vertices in one of its parts represent edges in

G and vertices in the second part represent vertices in G; edges in G* represent

incidence in G. As illustrated by Figure 3-8, we may need to redistribute (find an

augmenting path).

a 2 e 1 e2 a

33 2

Figure 3-8: Constraint graph G with edge weight distribution.

If we are able to distribute all edges, then the graph is not dense. If no dense

subgraph exists, then the flow based algorithm will terminate in O(n(m + n)) steps

and announce this fact. If there is a dense subgraph, then there is an edge whose

weight plus D + 1 cannot be distributed (edges are distributed in some order, for

example by considering vertices in some order and distributing all edges connecting

a new vertex to all the vertices considered so far). The search for the augmenting

path while distributing this edge marks the required dense graph. If the found

subgraph is not overconstrained, then it is in fact minimal. If it is overconstrained,

Hoffmann et al. [1, 5] give an efficient algorithm to find a minimal cluster inside it.

3.2.2 Simplifying Clusters

We now describe the method Simplify. This frontier vertex simplification

was given by Hoffmann et al. [6, 7]. The found cluster C interacts with the rest

of the constraint graph through its frontier vertices; that is, the vertices of the

cluster that are .,.i i,'ent to vertices not in the cluster. The vertices of C that are

not frontier, called the internal vertices, are contracted into a single core vertex.

This core is connected to each frontier vertex v of the simplified cluster T(C) by

an edge whose weight is the sum of the weights of the original edges connecting

internal vertices to v. Here, the weights of the frontier vertices and of the edges

connecting them remain unchanged. The weight of the core vertex is chosen so that

the density of the simplified cluster is -D, where D is the geometry-dependent

constant. This is important for proving many properties of the FA DR-plan:

even if C is overconstrained, T(C)'s overall weight is that of a wellconstrained

graph, (unless C is rotationally symmetric in which case, it lacks one dof).

22 3 .-- -_10.-
0 19 8 ""
i17 o 615 12

13 h 2

1 5.15

h h

0' 2
0- ,-

Figure 3-9: Frontier Algorithm's simplification of graph giving DR-plan (Figure

Technically, T(C) may not be wellconstrained in the precise sense: it may contain

an overconstrained subgraph consisting only of frontier vertices and edges, but its

overall dof count is that of a wellconstrained graph.

Figure 3 9 illustrates this iterative simplification process ending in the final

DR-plan (Figure 1 5).

The flows on the internal edges and the core vertex are inherited from the old

flows on the internal edges and internal vertices. The undistributed weights on the

internal edges simply disappear. The undistributed weights on the frontier edges

are distributed (within the cluster) as much as possible. However, undistributed

weights on the frontier edges (edges between frontier vertices) may still remain if

the frontier portion of the cluster is severely overconstrained.

3.2.3 Datastructures

Four datastructures are maintained. The cluster datastructure for a cluster

C contains data on the simplification of the cluster (frontier vertices, edges and

so on.), the original graph vertices and edges corresponding to C, and pointers to

the roots of the current sub DR-plan rooted at C (may or may not be complete

sub-DR-plan depending on the stage of the algorithm). The DR-plan datastructure

just contains pointers to the clusters that are currently the top-level clusters

in the DR-plan. The flow or cluster pI'r'l, CG contains the current simplified

graph where the found clusters have been simplified using the frontier vertex

simplification. It also contains all the current flow information on the edges. a

cluster queue, CQ which is the top-level clusters of the DR-plan that have not been

considered so far, in the order that they were found.

We start with the original graph which serves as the cluster or flow graph

initially, where the clusters are singleton vertices, The DR-plan consists of the

leaf or sink nodes which are all the vertices. The cluster queue consists of all the

vertices in an arbitrary order.

3.2.4 Distributing Vertices and Clusters

The method Distribute Vertex distributes all edges (calls DistributeEdge)

connecting the current vertex to all the vertices considered so far. When one of the

edges cannot be distributed a minimal dense cluster C is isolated, as described in

Section 3.2.1.

Now we describe the method DistributeC I'-i r. Assume all the vertices in

the cluster queue have been distributed (either they were included in a higher

level cluster in the DR-plan, or they failed to cause the formation of a cluster

and continue to be a top level node of the DR-plan, but have disappeared from

the cluster queue). Assume further that the DR-plan is not entire, that is, its top

level clusters are not maximal. The next level of clusters are found by distributing

the (completed) clusters currently in the cluster queue. This is done by filling up

the !h .!I -C" or the available degrees of freedom of a cluster C being distributed

by D units of flow. Then the PushOutSide method successively considers each

edge incident on the cluster with 1 endpoint outside the cluster. It distributes any

undistributed weight on these edges + 1 extra weight unit on each of these edges.

It is shown by Lomonosov and Sitharam [9, 24] that if C is contained inside a

larger cluster, then at least one such cluster will be found by this method once all

the clusters currently in the cluster queue have been distributed.

3.2.5 Combining Clusters

Next, we emphasize the parts of the algorithm that ensure a crucial property

of the output DR-plan that the feature incorporation algorithm must deal with,

namely small width, while maintaining complete decomposition of clusters (two

types) defined in Section 1.2. The FA DR-planner controls the width of the

FA DR-plan to ensure FA achieves a quadratic bound on DR-plan width by

maintaining the following invariant of the clusterqueue whenever DistributeCluster

is called, every pair of clusters in the cluster queue and cluster graph intersect

on at most a trivial subgraph (that is, a subgraph which on resolving incidence

constraints either represents to a single point in 2D or a variable or fixed length

line segment in 3D). FA does this by repeatedly performing the Combine operation

each time a new cluster is isolated.

The operation is to iteratively combine N U D1 with any clusters D2, D3,...

based on a nontrivial overlap. In this case, N U D1 U D2, N U D1 U D2 U D3

and so on enter the DR-plan as a staircase, or chain, but only the single cluster

N U D1 U D2 U D3 U..... enters the cluster graph and cluster queue after removing

D1, D2, D3 ....

3.3 Incorporating an Input Feature Decomposition into FA DR-plan

We develop a new algorithm that solves the algorithmic problem of Section

3.1. That is, it permits the FA DR-planner (sketched in Section 3.2 [9, 24]) to

incorporate into its output DR-plan an input feature decomposition or conceptual,

design decomposition.

3.3.1 More Detailed Requirements on the Method

A recursive method called DistributeGroup drives the new FA DR-planner It is

called on the root node of the input feature decomposition, which, by convention,

represents the entire graph. Let GI, G2,.., G, be the children of some parent

feature G in the input decomposition.

Now that the FA DR-planner's structure has been described, we can give a

more detailed set of requirements on the feature incorporation algorithm based on

the formal problem requirements of Section 3.1.

First of all, we need to ensure that each feature Gi itself appears in the

output DR-plan provided it is a valid cluster. If it is not a cluster, then a complete

maximal decomposition of it is obtained. This implies that a separate DR-plan for

each Gi needs to be obtained and all of these DR-plans should appear within the

DR-plan for G.

Secondly, while we cannot maintain the same width W as an FA DR-plan

that is not required to incorporate any features (for the same constraint graph),

we would like to have a width significantly smaller than O(WF), where F is

the number of features in the input feature hierarchy. Instead of specifying the

desired complexity, we simply require the "best possible." that is, we require that

consistency between the DR-plans of the different Gi's needs to be established, in

case they have shared objects. In particular, in the 3D constraint system (Figure

3-10), assume Gi's DR-plan has been obtained and has an intermediate cluster bcd.

When the DR-plan for G2 is obtained, the same cluster should appear.

Thirdly, for efficiency, we would like the new DR-planner while working on

some Gi to use as much of the flow, cluster and DR-plan information that it

already obtained while working on some earlier Gk, so that the entire complexity is

proportional to the width or number of clusters in the final DR-plan.

Thus the key issues are: how are the flow or cluster graph (Section 3.2) and

the output DR-plan efficiently maintained and modified as each Gi is worked on, so

that the above requirements are satisfied.

a b c d e h g f

Figure 3-10: Consistency between the DR-plans of 2 groups of graph (Figure 3-6).

Finally, note that since the input decomposition may be a dag, and not a

tree, some children may have more than one p rentt" However, DistributeGroup

must be performed only once on any given group G; When another parent of G

calls DistributeGroup (G) at a later point in time, the stored results for the flow or

cluster graph and DR-plan for G should be returned.

3.3.2 Distributing Groups or Features

We discuss 3 distinct cases that need to be dealt with differently at the crucial

steps of the algorithm.

Case 1: the children of G are I,,nlll;i pairwise disjoint, i.e, do not overlap each


Case 2: Gi's overlap with Gk(1 < k < i 1) consists entirely of frontier vertices of

the top level clusters in the merged DR-plan of the Gk '.

Case 3: for at least one of the G's(1 < k < i 1), G 's overlap with Gk includes

vertices (of the o, .::,r,, ,jIi,1I) that map to the core of one of the clusters of Gk.

The method DistributeGroup(G). consists of 4 steps. First, for each child

group Gi of G, it performs the following 3 steps.

For clarity of exposition, we prefer to not give a pseudocode for DistributeGroup(G),

but rather explain successively each of the 4 steps for all three of the cases. When

we refer to the "old" DR-planner, we mean the pseudocode of Section 3.2; and

the v.-" refers to the old FA DR-planner augmented by the DistributeGroup

driver. A detailed pseudocode of the entire FA DR-planner including the feature

incorporation algorithm are provided by Sitharam [11].

The old FA DR-planner of Section 3.2 is called on Gi and starts a new

DR-plan for Gi (which will eventually get merged with the DR-plans of the other

children of G after Step 3 below). Then the new DR-planner uses different options

for the flow or cluster graphs for the three cases.

Case 1: Use the current flow or cluster graph by freezing all the edges and vertices

outside of Gi;

Case 2: Use the current flow or cluster graph, modify the flow on carefully

selected edges and vertices outside of Gi, marking them and freezing them; that

is for each edge e with one endpoint in Gi and another endpoint outside Gi, if

there is any flow f on this edge towards Gi, then remove it and instead add f

to the undistributed flow capacity on this edge e. Mark this edge e as having

undistributed flow.

Case 3: Create a new local copy of a flow graph for Gi alone (which will eventually

be used to update the current flow graph in Step 3 below).

The DR-planner continues with a recursive call to DistributeGroup(Gi) during

which it ensures that DistributeEdge is run on the undistributed flow on all marked

edges within Gi. An edge e is unmarked only if distribution is successful on all

undistributed units on e.

The DR-planner merges the DR-Plan of Gi with the DR-Plans of Gi through

Gi-1. This includes merging copies of clusters that could have been independently

found by the DistributeGroup method on 2 different groups. It additionally

includes putting clusters together to form larger clusters, based on amount of

overlap; augmenting current flow graph (merged flow graphs so far) using the local

flow or cluster graph for Gi. This latter part includes not only combining clusters

but also modifying flows.

More specifically, the following merging operations are performed.

First, if a cluster in the DR-plans for GC, G2,..., G_i appears again in the

DR-plan for Gi, the two copies are linked to prevent replication of effort during

the solving stage. While the distinct groups of the input decomposition that are

present in the sub-DR-plan of each cluster copy will have to be solved, the cluster

itself and any cluster in its sub-DR-plan that is not a subset of a group in the input

decomposition, will only have to be solved once. Note that merging the cluster

copies (by taking the union of their parents and union of their children) will violate

the so-called cluster minimality property of a good DR-plan (mentioned in Section

3.1), since a proper subset of the children would already form the cluster.

Next, the DR-planner looks at the top level clusters of the merged DR-plan

for G1, G2,..., Gi_1 and the top level clusters of the DR-plan for Gi. If any pair of

these -v C and D intersect nontrivially, on more than 2 points in 2D and 3 points

in 3D, then create a parent cluster C U D of C and D, in the DR-plan; (this is the

same as the Combine operation on clusters performed by the basic FA Section

3.2), and making the corresponding simplification in the flow or cluster graph,

described below.

Cases 1 and 2: Because the local flow graph is inherited from the flow graph for G,

no additional modification is needed;

Case 3: removes all flow from the non-cluster edges that are in the overlapped part

between Gi and that part of G that has been completed so far i.e: G1,..., Gi_1 and

marks their entire weight as undistributed. These edges will be redistributed when

the clusters that contain them are distributed.

Once the DR-plans of all the Gi's have been combined, the DR-planner

proceeds as described in Section 3.2 on the resulting flow or cluster graph of G,

performing DistributeClI-, r on the clusters in them, potentially isolating and


0 1 h 10 h G2
g a dg

a eGG
a- Gd1 a G2
1 h /h

G\a b c d a a b e d g


Figure 3-11: Child C'li-I i- do not overlap (Case 1).

simplifying new clusters that contain the Gi's, modifying the cluster queue and the

DR-plan, until the DR-plan for G is completed.

We now describe how the above algorithm works on 3 examples that represent

the 3 cases. For the 3D example of points and distance constraints in Case 1 Part

I shows (Figure 3-11) the flow graph and the cluster queue (Section 3.2) after

the DR-plan for G1 has been constructed. When the old DR-planner starts to

distribute G2, it creates a new cluster queue for G2 and inherits the flow graph in

Step 1. After the old DR-planner in finished with G2, in Step 2, the DR-plan of G2

and the flow or cluster graph are shown in Part II. Then the new DR-planner tries

to combine them in Step 3 and the results are shown in Part III of the figure. The

final DR-plan of G which is obtained after Step 4 is shown in Part IV.

For the 3D example of points and distance constraints in Case 2 (Figure

3-12), Part I shows the flow graph and cluster queue after the DR-plan for G1 has

been completed. When the DR-planner starts to distribute G2, it creates a new

cluster queue for G2 and inherits the flow graph in Step 1. It also removes the flows

on the edge ce and eg and marks them. After the old DR-planner is finished with

G2 in Step 2, the DR-plan of G2 and the flow graph are shown in Part II. Since G1

)Gi G
G2 Gg G2

G3 b G3 b
e d g c e d g f h


ga G2 G1 G G GI
G3 b
c e d g f h a b c e d g f h

Figure 3-12: Input groups overlap on frontier vertices (Case 2).

and G2 overlap on 3 points, the new DR-planner combines them in Step 3 and the

results are shown in Part III. The final DR-plan of G which is obtained after Step 4

is shown in Part IV.

For the 3D example of points and distance constraints in Case 3 Part I shows

(Figure 3-13) the flow graph and cluster queue after the DR-plan for G1 has been

constructed. When the old DR-planner starts to distribute G2, it creates a new

cluster queue for G2 and the flow graph in Step 1. After the old DR-planner is

finished with G2 in Step 2, the DR-plan of G2 and the flow graph are shown in

Part II. Since GC and G2 overlap on 4 points, the DR-planner combines them in

Step 3 and the results are shown in Part III. The final DR-plan of G which is

obtained after Step 4 is shown in Part IV.

3.3.3 Proof of Correctness and Complexity

We show how the 3 requirements of Section 3.3.1 are met.

From Steps 1 and 2, we know that for each decomposition Gi, the algorithm

creates a new DR-plan. This ensures, by the properties of the old FA DR-planner

given in Section 3.2, that each feature Gi appears in the output DR-plan provided

e G2G2
GI 1 G2
G G3 G G3

G1\ 1\
b\ b c d e g f
\ a bcd e b


Gi C X; \ a G2 ( G2
G3 Gi GI G3

d h

a b c d e g f a b c d e g f h

Figure 3 13: Ti'. < .1 .led part includes non-frontier vertices (Case 3).

it is a valid cluster, and otherwise a complete decomposition into maximal clusters

is obtained. In SI 3, the DR-planner checks their .: of the level clusters

of DP ; G and those of the combined Di plan for (CG, (G2,... -, Gi- and

combine them if possible. Because this process is executed for each Gi : its

DR-plan is established, the algorithm combines the DR-plans for all the G,'s to

give the DR-plan for G. Thus P ei"ement 1 is met.

In S' 3, the new algorithm links two copies of the same cluster in different

i's. T there is cr- one copy of this cluster in the DR-plan < G. So, the

consistency between the DR-plans is ensured, i r .:-. Requirement 2.

S ivy, the i w i::. : : in the 3 cases is either used as such, copied and

restored, or is ( .. i.. iup as undistributed units which will be re-,-: i uted in

Step 2 ?. the old D-l .... i .. guarantees that flow ...i..... :n remains

accurate throughout, given correctness ( old DP :. .:.: :. o, notice that

lor any given edge, the number of times it is re-distributed is no more than the

number of groups or features in the feature hierarchy that share that edge. i :

ensures that .- additional time ient (beyond that of the original DR-planner)

is proportional to the number of features in the input feature hierarchy; thereby

ensuring Requirement 3.

3.3.4 Preserving Properties of the Old FA DR-planner

Incorporation of features into the DR-plan leaves entirely unchanged many

desirable properties of the the output DR-plan mentioned in Section 1.2, simply

because the old DR-planner is called by the DistributeGroups driver at each stage

to actually construct the DR-plan. These include properties such as detection and

characterization of over and under constrainedness [6, 8], completeness [9, 24],

systematic correction of underconstrainedness by giving so-called completion

constraints amenability to efficient updates (addition or deletion or modification) of

geometric primitives or constraints [2, 11], or navigation of the solution space [13].

Next, we briefly discuss some desirable properties of the FA DR-plan that are

affected by the feature incorporation algorithm as well as properties that are only

relevant in the presence of features.

Let n is the number of vertices of the input constraint graph and k is the

number of features in the input feature decomposition. Using the argument

given in the proof of correctness and complexity, and the complexity of the old

DR-planner, the following hold. If all the features are either di-j 1iil or contain

one another (Case 1). new algorithm's time complexity is O(n3), width O(n2) (the

complexity of the old DR-planner). If the features intersect on trivial subgraphs

or contain one another (Case 2), the complexity is O(n3 + k), width O(n2 + k).

Finally if the features could intersect on nontrivial subgraphs, the best bound

on complexity is O(n3k), width O(n2k) (we omit a finer, but significantly more

cumbersome complexity expression in terms of sizes of the intersections and so on.)

These are the best complexities one can expect. The first factor is the complexity

of the underlying old FA DR-planner and in typical cases, the second factor is


Concerning optimality, the FA DR-planner's best choice approximation factor

is unaffected by the new augmentation. The proof is the same as for the old

DR-planner [6]. Among all DR-plans that incorporate the given input feature

decomposition, the FA DR-planner augmented by the feature incorporation

algorithm can find one whose maximum fan-in cluster has a fan-in that is at most a

constant factor larger than the optimum.

Also, as mentioned earlier, the feature incorporation does not affect he

completeness property, so the algorithms [14, 48] can still be used to find an

optimal covering set.

Another property of FA DR-plans that is superficially affected by the presence

of features is the systematic correction of overconstraints, that is, the method

presented [8]. Clearly feature incorporation does not affect the ability to detect

overconstraints and isolate of a complete set of overconstraints that can be

removed without making the entire graph underconstrained. However, correction

of overconstraints typically results in removing some clusters in the DR-plan, since

they become underconstrained, although the entire graph remains well-constrained.

In the presence of features, it is reasonable to require that no feature that was

previously a cluster is made underconstrained by the correction, that is, the set

of so-called reducible overconstraints is smaller. However, the overconstraint

correction method [8] explicitly provides a list of reducible overconstraints dir. i./;

associated with each cluster in the DR-plan. Hence, the required modification is

straightforward: the new set of reducible overconstraints that preserve features is

the union of all the reducible sets of overconstraints directly associated with each

cluster feature in the DR-plan, together with the union of all the reducible sets of

overconstraints for clusters that are not descendants of .niv cluster feature in the


Finally, a property listed under the output requirements of the feature

incorporation problem in Section 3.1 is the ability to update the input feature

decomposition and correspondingly efficiently update the DR-plan.

Removal of a feature is straightforward. If the feature is a cluster it simply

entails the removal of the corresponding node C from the DR-plan, and all of

its descendants that are inessential children of their other parents who are not

descendants of C (Section 3.2). If the feature is not a cluster, then all of its

maximal proper clusters are present as nodes in the DR-plan and these are treated

like C above. The DR-planner does not need to be involved in this simple edit of

the DR-plan.

Addition of a feature is more involved. There are two cases. In the case where

the feature is not contained within an existing cluster of the DR-plan (it could

be contained in the single root if the graph is wellconstrained), then the addition

of the feature is straightforward since it will enter the upper most level of the

DR-plan. It is simply treated by the Distributegroups method as though it is a

(last) child of the root of the input feature decomposition. If the feature contains

new geometric elements and constraints, these are processed using the update

method for FA DR-plans, given by Sitharam [2, 11]. In case the new feature F

is contained within one or more of the existing clusters Ci in the DR-plan, it is

first assumed to be a cluster and inserted in the DR-plan as a child of the Ci

and as a parent of all the maximal clusters Di that are contained in F and are

present in the sub-DR-plan rooted at any of the Q's. Since F lies inside an already

processed cluster, no flow information is available. A cluster or flow graph of F is

created by using the frontier vertex simplifications of these maximal clusters. These

frontier vertices are connected using edges from the original graph. A cluster queue

with these clusters is created and these clusters are treated as the top level of the

DR-plan for F constructed so far. that is, Steps 3 and 4 of the DistributeGroup

method on F are executed, taking the sub-DR-plan rooted at F as the input

feature decomposition and assuming that DistributeGroup has already been called

on the children of F in this feature decomposition. During Step 4, since none of

the edges in the flow or cluster graph constructed for F have been distributed,

Pushoutside and other methods cannot assume that the edges in the cluster graph

for F have been distributed, DistributeEdge is run again on these edges.

A detailed pseudocode that includes the new feature incorporation algorithm

is provided by Sitharam [11]. Documented opensource code can be downloaded

from Sitharam's website [15] (use post-December-2003 versions for 3D) To use

the feature incorporation option after opening the main sketcher window, and

after pulling up (or drawing) a sketch: press 'ctrl' key and left click the objects

which should be in the same feature. You will see the color of all selected objects is

changed. Tip: you can use left mouse button to draw a rectangle to select objects

quickly, then use 'ctrl' + left click to modify selected set ('ctrl' + left click on

a selected object would unselect it.) Click 'Design' menu, then click 'Make new

tree' to create each feature hierarchy (independent feature hierarchies for the same

constraint graph provided by different ,-, i -' or multiple views, are combined to

form a single composite feature hierarchy, internally). Then click 'Make new group'

to create the feature. For each features, you could simply select the primitive

objects in them and click 'Make new group'. You can check the features by clicking

the 'group' tab in right-bottom of the window.

Note. Recall that the dof-rigid FA DR planner (Section 1.2) considered

here does not deal with implicit constraint dependence. However, the more

general, module-rigid FA DR-planner [12] deals with all known types of constraint

dependence such as bananas and hinges. While incorporation of a feature

hierarchy into the the module-rigid FA DR-planner [12] has been implemented

in FRONTIER [10, 15], its description and analysis are beyond our current scope.


We would like to note that the detection of module-rigidity crucially relies on the

completeness of the underlying dof-rigid DP _1 :: : :, which is unchanged by the

feature inc.i. oration algorithm. More significantly, the notion of a module-rigid

cluster includes so-called dependent clusters that are not self-contained, but'

need to be resolved after others, imposing a solving pri, : '' order. DR 1.

that can deal with such clusters have an edge in incorporating those features as

in procedural history based representations whose very definition is based on

previously ( e. tI features.


One big open problem is the question of rigidity of 3D constraint systems

even when only distances are involved. The problem is that most combinatorial

characterizations of rigidity will miss hidden dependencies between constraints and

will be wrongly classify many classical nonrigid systems as rigid.

In this chapter, we give a polynomial time characterization called module-

i ,:/1',::l/ that is not fooled by any known such counterexample of nonrigid

systems. We show that this property is natural and robust in a formal sense.

Rigidity implies module-rigidity, and module-rigidity significantly improves

upon the generalized Laman degree-of-freedom or density count. Specifically,

graphs containing -, ii, i- or "hi1, [19] are not module-rigid, while the

generalized Laman count would claim rigidity. The algorithm that follows from

our characterization of module-rigidity gives a complete decomposition of non

module-rigid graphs into its maximal module-rigid subgraphs.

4.1 Determining Dof Rigidity: The Frontier Vertex Algorithm (FA)

In this section, we first give an alternative characterization of dof rigidity

which translates to a useful property of dof DR-plans called dof completeness.

(We omit proofs). Then we sketch relevant properties of Frontier vertex DR-plans

and the corresponding DR-planner (FA DR-planner) [6, 9] which follows this


Let C be a geometric constraint graph. Then Q = {C1,..., C,}, a set of

dof rigid proper subgraphs of C, is a complete, maximal, dof rigid decomposition

of C if the following hold. If there is a maximal, dof rigid proper subgraph of C

then it must contain one of the Ci in Q. Furthermore, Q should satisfy one of

the following. Case 1: m = 2 and C1 and C2 intersect on a nontrivial subgraph

and their union induces all of C Case 2: Each of the Ci's is nearly maximal with

respect to the set Q in the following sense: the only dof rigid proper subgraphs of

C that strictly contain Ci intersect all the other subgraphs Cj, j / i on nontrivial


The next theorem gives an alternate characterization of dof rigidity.

Theorem 4.1.1 Let C be a geometric constraint ,'.,.'l, and Q = {C1,..., C}, be

a complete, maximal, dof rigid decomposition of C. Then C is dof rigid if and only


) lsl -Adj dof ( (Ci)) < D,
where (recall) D is the number of dofs of a rigid body, and Adj-dof(Ci) is either

the number of dofs (negation of /1 ,-.:.i) of Ci if C is trivial; or .:'"l' D if Ci is

nontrivial. Note that if Case 1 holds, then C is r,.ii ,/,/.:i ll.i dof rigid in fact, the

first 1' */' '/;/ of Q is redundant.

The next lemma explains the tractability of this method of determining dof


Lemma 4.1.2 If C is not dof rigid, then only Case 2 in the D. fil.. 4.1

applies. Furthermore, Case 2 implies that no pair of Ci intersect on more than a

trivial u<.l'.p'1 Thus (using a simple HR.i,,, ; theoretic argument), m is at most

O(n3), where n is the number of vertices C. Furthermore, the computation of the

inclusion-exclusion formula in Theorem 4.1.1 takes O(n3) time.

This leads to a robust property of DR-plans using which the characterization

can be translated to an algorithm.

A dof DR-plan P for a geometric constraint graph G is dof complete if the set

Q of child clusters of every dof cluster C in P is a complete, maximal, dof rigid

decomposition of C. Partial dof complete DR-plans are defined analogously as in

Section 6.1, and just as before, any partial dof-complete) DR-plan for a constraint

graph G can be extended to a dof-complete) DR-plan for G

4.1.1 The Frontier Vertex DR-plan (FA DR-plan)

Note. Throughout this section, unless otherwise mentioned, "(< !-I. i means

"dof cluster,'" iigid" means "dof rigid," and "DR-1p! i means "dof DR-plan."

Intuitively, an FA DR-plan is built by following two steps repeatedly: Isolate

a cluster C in the current graph Gi (which is also called the cluster .'l, or flow

'Ij',l' for reasons that will be clear below). C'! I 1: and ensure a complete, maximal,

dof rigid decomposition of C.

Simplify C into T(C), transforming Gi into the next cluster graph G+ =

T(Gi) (the recombination step).

The isolation algorithm, first given by Hoffmann et al. [1, 5] is a modified

incremental network maximum flow algorithm. The key routine is the distribution

of an edge in the constraint graph G. For each edge, we try to distribute the weight

w(e) +D+1 to one or both of its endpoints as flow without exceeding their weights,

referred to as "distributing the edge e." This is best illustrated on a corresponding

bipartite graph G*: vertices in one of its parts represent edges in G and vertices in

the second part represent vertices in G; edges in G* represent incidence in G. As

illustrated by Figure 3-8, we may need to redistribute (find an augmenting path).

If we are able to distribute all edges, then the graph is not dense. If no dense

subgraph exists, then the flow based algorithm will terminate in O(n(m + n)) steps

and announce this fact. If there is a dense subgraph, then there is an edge whose

weight plus D + 1 cannot be distributed (edges are distributed in some order, for

example by considering vertices in some order and distributing all edges connecting

a new vertex to all the vertices considered so far). It can be shown that the search

for the augmenting path while distributing this edge marks the required dense

graph. It can also be shown that if the found subgraph is not overconstrained, then

it is in fact minimal. If it is overconstrained, Hoffmann et al. [1, 5] give an efficient

algorithm to find a minimal (non-trivial, if one exists) dof cluster inside it. Then

Lomonosov and Sitharam [9] gives a method to ensure a complete, maximal, dof

rigid decomposition of C.

The simplification was given by Hoffmann et al. [6, 7]. The found cluster C

interacts with the rest of the constraint graph through its frontier vertices; that

is, the vertices of the cluster that are .,.i ,i:ent to vertices not in the cluster. The

vertices of C that are not frontier, called the internal vertices, are contracted

into a single core vertex. This core is connected to each frontier vertex v of the

simplified cluster T(C) by an edge whose weight is the sum of the weights of the

original edges connecting internal vertices to v. Here, the weights of the frontier

vertices and of the edges connecting them remain unchanged. The weight of the

core vertex is chosen so that the density of the simplified cluster is -D, where D is

the geometry-dependent constant. This is important for proving many properties

of the FA DR-plan: even if C is overconstrained, T(C)'s overall weight is that of

a wellconstrained graph, (unless C is rotationally symmetric and trivial, in which

case, it retains its dof or weight). Technically, T(C) may not be wellconstrained

in the precise sense: it may contain an overconstrained subgraph consisting only

of frontier vertices and edges, but its overall dof count is that of a wellconstrained


Figure 3-9 illustrates this iterative simplification process ending in the final

DR-plan (Figure 1-5).

4.1.2 The Frontier Vertex Algorithm (FA DR-planner)

The challenge met by FA is that it provably meets several competing

requirements. Specifically, it gives a dof complete DR-plan. The graph transformation

performed by the FA cluster simplification is described formally by Hoffmann et al.

[6, 7] that provide the vocabulary for proving certain properties of FA that follow

directly from this simplification. However, other properties of FA require details of

the actual DR-planner that ensures them, and are briefly sketched here.

Note: a detailed pseudocode of the FA DR-planner (the existing version,

as well as incorporating the module-rigidity algorithm of this section) is given

by Sitharam [11, 15]. The pseudocode has been implemented as part of the

downloadable, opensource FRONTIER geometric constraint solver [2, 10, 11, 15].

The basic FA algorithm is based on an extension of the distribute routine for

edges (explained above) to vertices and clusters in order for the isolation algorithm

to work at an arbitrary stage of the planning process, i.e, in the cluster or flow

graph Gi.

First, we briefly describe this basic algorithm. Next, we sketch the parts of the

algorithm that ensure 3 crucial, inter-related properties of the output DR-plan: (a)

ensuring dof completeness; (b) for underconstrained graphs: outputting a complete

set of maximal clusters as sources of the DR-plan; (c) controlling width of the

DR-plan to ensure a polynomial time algorithm.

Three datastructures are maintained. The current flow or cluster ','l, Gi the

current DR-plan (this information is stored entirely in the hierarchical structure of

clusters at the top level of the DR-plan), and a cluster queue, which is the top-level

clusters of the DR-plan that have not been distributed so far, in the order that

they were found (below gives an explanation of how clusters are distributed). We

start with the original graph (which serves as the cluster or flow graph initially,

where the clusters are singleton vertices). The DR-plan consists of the leaf or sink

nodes which are all the vertices. The cluster queue consists of all the vertices in an

arbitrary order.

The method Distribute Vertex distributes all edges (calls DistributeEdge)

connecting the current vertex to all the vertices considered so far. When one of

the edges cannot be distributed and a minimal dense cluster C is discovered, its

simplification T(C) (described above) transforms the flow graph. The flows on the

internal edges and the core vertex are inherited from the old flows on the internal

edges and internal vertices. Notice that undistributed weights on the internal edges

simply disappear. The undistributed weights on the frontier edges are distributed

(within the cluster) as well as possible. However, undistributed weights on the

frontier edges (edges between frontier vertices) may still remain if the frontier

portion of the cluster is severely overconstrained. These have to be dealt with

carefully. The new cluster is introduced into the DR-plan and the cluster queue.

Now we describe the method DistributeCi,';- r Assume all the vertices in

the cluster queue have been distributed (either they were included in a higher

level cluster in the DR-plan, or they failed to cause the formation of a cluster and

continue to be a top level node of the DR-plan, but have disappeared from the

cluster queue). Assume further that the DR-plan is not complete, that is, its top

level clusters are not maximal. The next level of clusters are found by distributing

the clusters currently in the cluster queue. This is done by filling up the I. -'

or the available degrees of freedom of a cluster C being distributed by D units of

flow. The PushOutSide method successively considers each edge incident on the

cluster with 1 endpoint outside the cluster. It distributes any undistributed weight

on these edges + 1 extra weight unit on each of these edges. It can be shown

that if C is contained inside a larger cluster, then at least one such cluster will be

found by this method once all the clusters currently in the cluster queue have been

distributed. The new cluster found is simplified to give a new flow graph, and gets

added in the cluster queue, and the DR-plan as described above.

Eventually, when the cluster queue is empty, i.e, all found clusters have been

distributed, the DR-plan's top level clusters are guaranteed to be the complete

set of maximal dof rigid subgraphs of the input constraint graph. Lomonosov and

Sitharam give the formal proofs [9].


a d

a CC hC
CCf C2


Figure 4 1: Finding W first will prevent dof misclassification with 2D and 3D

Note: Throughout, in the interest of formal clarity, we leave out ad hoc, but

highly effective heuristics that find simple clusters by avoiding full-fledged flow.

One such example is called "sequential (::.i i .i which automatically creates

a larger cluster containing a cluster C and a vertex v provided there are at least

D edges between C and v. These can easily be incorporated into the flow based

algorithm, provided certain basic invariants about distributed edges is maintained.

This completes the description of the backbone of the basic FA DR-planner.

Next we consider some details ensuring the properties (a) (c) above.

First we intuitively explain why dof completeness is a crucial property. After

C1 and C2 are found (Figure 4 1), when C1 is distributed, C1 and C2 would be

picked up as a cluster, although they do not form a cluster. The problem is that

the overconstrained subgraph W intersects Ci on a trivial cluster, and W itself has

not been found. Had W been found before C1 was distributed, W would have been

simplified into a wellconstrained subgraph and this misclassification would not have


It has been shown by Lomonosov and Sitharam [9] that this type of misclassification

can be avoided (W can be forced to be found after C2 is found), by maintaining

b d b d b e d j k

Figure 4-2: Ensuring Cluster Minimality.

three invariants. The first two are described here. The third is highly related to

property (b) and is described in the next subsection.

The first is the following invariant: alvi.-, distribute all undistributed edges

connecting a new found cluster C (or the last distributed vertex that caused C

to be found), to all the vertices distributed so far that are outside the cluster C.

Undistributed weight on edges inside C are less crucial: if they become internal

edges of the cluster, then this undistributed weight "disapp'. ,- when C is

simplified into a wellconstrained cluster; there is also a simple method of treating

undistributed weight on frontier edges so that they also do not cause problems the

method and proof are given by Lomonosov and Sitharam [9]).

The second invariant that is useful for ensuring dof completeness is that for

any cluster in the DR-plan, no proper subset of at least 2 of its child clusters

forms a cluster. We call this property cluster ,,:,..:,,;,l.:/l; FA ensures this using a

generalization of the method Minimal given by Hoffmann et al. [1, 5] which finds a

minimal dense subgraph inside a dense subgraph located by Distribute Vertex and


Once a cluster C is located and has children C1,..., Ck, for k > 2, a recursive

method clusMin removes one cluster Ci at a time (replacing earlier removals)

from C and redoes the flow inside the flow graph restricted to C, before C's

simplification. If a proper subset of at least 2 C 's forms a cluster C', then the

clusMin algorithm is repeated inside C' and thereafter in C again, replacing the set

of child clusters of C that are inside C' by a single child cluster C'. If instead no

such cluster is found, then the removed cluster Ci the essential. That is, it belongs

to every subset of C's children that forms a cluster. When the set of clusters itself

forms a cluster E (using a dof count), then clusMin is called on C again with a new

child cluster E replacing all of C's children inside E.

While the DR-planner described so far guarantees that at termination, top

level clusters of the DR-plan are maximal. It also guarantees that the original

graph is dof underconstrained only if there is more than one top level cluster in

the DR-plan. However, in order to guarantee that all the maximal clusters of an

underconstrained graph appear as top level clusters of the DR-plan, we use the

observation that any pair of such clusters intersect on a subgraph that reduces

(once incidence constraints are resolved) into a trivial subgraph (a single point in

2D or a single edge in 3D). This bounds the total number of such clusters and gives

a simple method for finding all of them. Once the DR-planner terminates with a

set of maximal clusters, other maximal clusters are found by simply performing a

Pushoutside of 2 units on every vertex (in 2D) or every vertex and edge (in 3D),

and continuing with the original DR-planning process until it terminates with a

larger set of maximal clusters. This is performed for each vertex in 2D and each

edge in 3D which guarantees that all maximal clusters will be found. Lomonosov

and Sitharam give the proofs [9].

b e Cl C2 C3

a b c d e f g h i

Figure 4-3: Prevent accumulation of clusters

FA achieves a linear bound on DR-plan width by maintaining the following

invariant of the cluster or flow graph: every pair of clusters in the flow graph (top

level of the DR-plan) at any stage intersect on at most a trivial subgraph. FA does

this by repeatedly performing 2 operations each time a new potential cluster is


The first is an i ,/.,t I i,,n ,, of the found cluster. In general, a new found

cluster N is enlarged by any cluster D1 currently in the flow graph, if their

nonempty intersection is not a rotationally symmetric or trivial subgraph. In this

case, N neither enters the cluster graph nor the DR-Plan. Only N U D1 enters the

DR-plan, as a parent of both D1 and the other children of N. It is easy to see that

the sizes of the subsystems corresponding to both N U D1 and N are the same,

since D1 would already be solved.

When the DR-plan finds (Figure 4-3)the cluster C2 after C1, the DR-planner

will find that Ci can be enlarged by C2 The DR-planner forms a new cluster C4

based on C1 and C2 and puts C4 into the cluster queue, instead of putting C2 to

cluster queue.

The second operation is to iteratively combine N U D1 with any clusters

D2, D3,... based on a nonempty overlap that is not rotationally symmetric or

trivial. In this case, N U D1 U D2, N U D1 U D2 U D3 and so on enter the DR-plan

as a staircase, or chain, but only the single cluster N U D1 U D2 U D3 U ..... enters

the cluster graph after removing D1, D2, D3 ....

Of course, both of these processes are distinct from the original flow

distribution process that locates clusters.

4.2 Module-Rigidity: Characterization and Algorithm

We give a recursive definition of 3D module-rigidity (along with a definition of

module-complete DR-plans) and show that it is a natural and robust characterization.

Then we sketch an extension of the FA algorithm in order to determine module-rigidity

by constructing module-complete DR-plans. We follow with a number of examples

of graphs that are dof rigid but not module-rigid.

Let C be a 3D distance constraint graph. Let E, C1,..., Ck be proper

sub : : of C. '\\' say that C,... C0k =>,c E (read: irmplies '.'"'. if by

C 1 ,..., C,, ( ..: -.'' graphs (by adding additional edges), E becomes rigid.

Analogo. we define =>A and =*"" asserting dof rigidity and module-rigidity

(to be defined below) as the right hand side of the ::.. i'ation, respc i' .

Let C be a 3D distance constraint graph. C is module-rigid if: Base case:

it is trivial and dof rigid. Or the following holds. Let Q {C1,... C.,} be any

maximal, module decomposition of C. This is defined as follows. Let

,* be the transitive closure of the empty set under 4",', that is, if there is a

proper subgraph E of C such that either it is module-rigid, or there is some set of

module-rigid proper subgraphs C1i,... Ck < ( C such that C1,..., CAk ,"c, E, then

E belongs to *. Let Q be : subset {C1,..., ,,,} of '* such that Case 1:

m 2; C, and (2 intersect on a nontrivial subgraph and their union induces all of

C(. Or. the following holds. Case 2: Any maximal subgraph in n* nust contain

one of the Ci in Q. Each of the C's is n n maximnal with r to the set Q in

the following sense: the ( :.' clements ( '* that strictly contain C- intersect all

the other subgraphs Cj, j / i on nontrivial subg. 1'

TT: :: C is module-rigid if

(1)5-iAdj dof( F (Cs)) < ,

where (recall) D is the number of dofs of a rigid body, and :- C) is either

the number of dofs (negation of density) of C, if Ci is trivial; or ; ) D if C is


Observation 4.2.1 F.. module-' .: is do/f and .., .. .' is


next lenmmna shows the track : :: of the above characterization.

Lemma 4.2.2 Let Q = {CI,..., Cm} be I:. set of proper -'J./l'.,l'l, of C that form

a complete, maximal, module decomposition of C. This implies that if m > 2, then

no pair of Ci intersect on more than a trivial -l'g,.,l'l, Thus m is at most O(n3),

where n is the number of vertices C. Thus, the computation of the inclusion-

exclusion formula in D. fil...(- 4.2 takes O(n3) time.

Using the above lemma, the following definition shows the use of so-called

module-complete DR-plans to efficiently determine module rigidity.

A module DR-plan P for a 3D distance constraint graph G is a partial order

where each node represents a subgraph in /,,,* or G itself, if G is module rigid.

The ordering is by containment. These nodes are called module clusters (to be

crucially differentiated from module-rigid subgraphs of G, which we call inherent

module clusters). The leaves are the original vertices of G. Each node in the

subDR-plan rooted at a node C represents a subgraph in "~m,,* or C itself, if C is

module-rigid, or an inherent module cluster. If G is module-rigid, there is a single

source cluster; if G is not module-rigid, the roots or sources form is a complete,

maximal, module decomposition of G. A partial module DR-plan does not have

to satisfy the conditions on the roots or sources. A module DR-Plan is module-

complete if the set Q of child clusters of every module cluster C in P is a complete,

maximal, module decomposition of C.

A module DR-plan is typically defined to contain additional information

by incorporating another partial order called the solving '.:" -.:l./; order, which is

consistent with the module DR-plan's DAG order, but could be more refined. The

intent is that module-rigidity of module clusters that appear later in the order

depend on clusters that appear earlier. That is, the ordering reflects the number of

applications of ="' required to find a module cluster.

The next theorem shows that module-rigidity is robust. That is, the order of

bottom-up construction of module(-complete) DR-plans is immaterial, a type of

C('!ni, !l-Rosser property.

Theorem 4.2.3 If a i'jl, G is module-rigid, then every partial, module(-

complete) DR-plan for G can be extended to a module(-complete) DR-plan.

The above discussion effectively lays out a tractable method for determining

module-rigidity by computing module-complete DR-plans bottom up. This is

done by extending the dof-complete DR-planner FA given in the previous section

as follows. First note that by using FA we guarantee no false negatives, since

module-rigid implies dof-rigid. We now sketch how to eliminating dof-rigid graphs

that are not module-rigid. The FA DR-planner running on an input graph G uses

DistributeCluster (flow) on the current set S of dof rigid clusters to isolate a dof

cluster candidate C, and thereafter constructs a a complete, maximal, dof rigid

decomposition of it, after which it decides whether a new dof-rigid cluster C has

been found, using the dof-rigid characterization of Section 4.1. This is the key point

of extension. We use the analogy between this dof-rigid characterization and the

module-rigid characterization at the beginning of this Section. Inductively, we can

assume that the current set S consists of module-rigid subgraphs of G or inherent

module clusters. The method of construction of a complete, maximal, module

decomposition Q of the candidate (inherent module) cluster C can be done without

constructing ', "'*, by constructing a sequence of Qi's each of which satisfies the

above conditions on Q, but with respect to "mCi (i.e, closure with respect to i

applications of the ="' operation). This sequence reaches a fixed point at Q.

We give examples that illustrate the use of module-rigidity. In Figure 4-4 Top

Left: the graph is dof rigid, but not module-rigid, as seen by the complete maximal

module decomposition shown. Top Right: module-rigid, but no pair of inherent

module clusters shown forms a module-rigid subgraph, they do form dof-rigid

S1 y1

-V C3

--- --- A y v ii c ^ ^ -

Sh CC4


,-'' Cl '" '( C2



C5 \\
C3 C4

---. C1 C2 C3 C4

Figure 4-4: Examples where module-rigidity beats dof rigidity.

subgraphs. Bottom: not module-rigid but dof rigid; complete maximal module

decomposition and solving priority orders as follows: the pair C1, C2 is an inherent

module cluster C5 but that C5 can be solved only after C3 is solved; That is, before

the virtual edge (c, d) is added, Ci and C2 would not be picked up together as a

cluster candidate. Similarly, it will also determine that Cs, C3 form a cluster C6,

but solving priority order shown. Bottom Right: module-complete DR-plan for left

constraint system with 2 sources or roots: C6 and C4.

Figure 4-5 shows a classic graph given by Crapo et al. [20, 21], with

I,!:n, -," which is not module-rigid but is dof rigid. A complete maximal, module

decomposition is shown. The middle cluster C2 is not an inherent module cluster,

although C1 and C2 are.

Figure 4-5: Classic Hinge example: not module-rigid, but dof rigid

A question that immediately arises is to relate the characterization given

here to rigidity matroids and standard conjectures on combinatorial rigidity

characterizations for 3D [19].


Laman shows a combinatorial characterization of 2D distance constraint

system [18]. When other constraints are involved, for example, ,inl there is

no combinatorial characterization. In this chapter, we first give a combinatorial

rigidity characterization of a class of angle constraint system. We then show

this characterization is not sufficient for the general angle constraint system.

Thereafter, we propose a conjecture to determine the rigidity of the general angle


5.1 Definitions

Point: point p E R2, is represented as (x, y).

Angle Constraint: the angle constraint between 2 ordered pairs of points, (Pli, P2i)

and (Plj, P2j), satisfies that

cos 0 (Pli,P2i)*(PlP2j) (x2i-Xli)(x2j-Xlj)+(Y2i-Yli)(Y2j-Ylj)
I(Pli,P '' Pj,P2j) (X2i-Xli)2 ( y2i-Yli)2 (x2j-Xlj)2 (2j- lj)2
CO ilj2 +(U -Y
Geometric Angle Constraint System: a geometric system in which the objects are

finite points and the constraints are finite angle constraints.

Solution: the set values of the variables xi, yi of the system that satisfy the


Valid Solution: the solution of a geometric system which does not make any angle 0

or points coincident is called a valid solution.

Angle Graph: For a geometric angle constraint system, the graph in which the

vertices represent the pairs of points and the edges represent the angles is called the

angle graph (Figure 5-1).

Angle C,. 1. For a geometric constraint system, if there is an angle cycle in its

corresponding angle graph, we -w this angle constraint system has an angle

p v12

S P 13 v14 v23
P\ ,' p4 \

\1 v24 v34
P3 O 6

Figure 5-1: Geometric angle constraint system and the angle graph.

cycle. If the angle graph has one more edge between v13 and v14 (Figure 5-1), its

corresponding angle constraint system has an angle cycle.

Angle Pseudo C;0. 1 For a geometric constraint system, if there is an angle cycle

with one angle missing, we i- this angle constraint system has an angle pseudo

cycle. The system (Figure 5-1) has an angle pseudo cycle.

Angle C/l:'., For a geometric constraint system, if there exists n points (n > 3)

in which any two pairs of points has an angle constraint between them, we -i the

system has an angle clique.

Implicit Angle C; 1. In an angle constraint system, for an angle cycle consisting

of assigned angles 01 ... Os and unassigned angles 1i ... 7<', s > 0, t > 0, in its

corresponding angle graph, if there exists 0i Sj for i / j, where S is the

minimal 4 dof subgraph containing 7j, we -i- this angle constraint system has an

implicit angle cycle. When t = 0, implicit angle cycle turns out to be an angle


Degrees of Freedom of Primitive Geometric Objects: degrees of freedom (DOF)

describes flexibility of motion. It is the number of parameters of the object which

may be independently varied. In 2D, a point has 2 DOF.

Degrees of Freedom of a Geometric System: For a geometric system G, its DOF

equals ,peG DOF of object p eC DOF removed by constraint c. In Figure

5-1, the system has 4 points and 3 angle constraints. Each point has 2 DOF and

each angle constraint removes 1 DOF. So the system has 5 DOF.

1 7. .. Degrces of Freedom (adof): For a geometric system, count the dof of the

sub that are ::.1. cliques as 4, then do the inclusion-exclustion 1 counting,

the total dof is called listedd '. ees of freedom.

C i .' i nden t: Let S be the set of angles of a geometric angle constraint

S'Ti .. system (G' is generically independent (T there is an assignment

S* = ( ,..., ) of values to the set S such that (C has a valid solution and

for such assignment S*, there is a : ',1 ,orhood of S*, that is,

Is 1- x ... x i6,, where the J1e (0, -, .^ + e) are intervals of angle values,

: : some e > 0, such that : ...- tuple < values ( ,.... ,0') E Is, G has a valid


Notations: We use GC' to denote a geometric angle constraint system with n

i:ints; G,, to denote the .:: angle '. of G"' p to denote the point in

Ga: v to denote the vertex in (,.

5.2 One Combinatorial Characterization

In this section, we give a combinatorial characterization of the angle constraint

that can be obtained I.- the following construction.

Gradual Construction: Starting with a pair of points, add a point with at most

2 angles connecting it with the constructed system at each step until all i '..:i ; are


If an angle constraint system G' can be constructed by gradual construction, it

is ... constructible.

Theorem 5.2.1 An .' constructiblhe cgeoetric .'.' constraint :7 is

.:' it does not have .


We prove it by induction on number of points n of CG:

1. Base case: when G'l has ci- 2 points, it is obvio:: i generically independent

v{n+l} v{n+l}

G n G n

Figure 5-2: The new point pn+l is at the circle or at the radial


Figure 5-3: Two new angles: 61 and 62

2. Assume GC has T angles and is generically independent, because CG is

gradually constructible, we can find a point pn+l with at most 2 angles connecting

it with GC.

Case 1: there is no ,.'/,. connecting Pn+ with GC.

Obviously, the case holds.

Case 2: there is an ,.',1/- connecting pn+1 with GC.

Pnj+ could be at the circle or at the radial determined by the angle 6 (Figure

5-2). It is easy to know there exists a value of 6 which together with the T angles

which make GC have a valid solution that make G(+1 have a valid solution. From

hypothesis we know, when G' has a valid solution, these is a corresponding

rectangle IT such that GC with any tuple of values (06,..., 0') E IT has a valid

solution. As the position of pn+l is continuous, there exists an interval Is for 6,

such that G +1 with any tuple of values in IT x 6I has a valid solution. So, GC + is

generically independent.

Case 3: there are 2 1,1- i., connecting pn+l with GC.

Call the 2 angles 61 and 62. We prove case 3 in the following 3 subcases. We

call the angles involved in Pn+1 new angles and the others old angles.


Figure 5-4: One new angle 61 and one old angle 62

Subcase 1: Both 61 and 62 are new 'ii1 (F.:,i. 5 3). The position of p+i

should be at the intersection of two circles which are determined by 61 and 62

respectively. For a T E IT, choose 6i E (0,e), c 0 to ensure two circles

intersect. If for 6*, pn+i is in a corresponding line of a pair of points of GC, we

choose ~ equal this 6* to prevent pn+1 lie in this line. After proceeding with all the

lines, we ensure pn-+ does not lie in any line of GC. If 6*, pn+l coincidents with a

point of GC, we choose cT equal this 6* to prevent pT+l coincident with this point.

After proceeding with all the points, we ensure pT+l does not coincident with any
point in GC. Let I = n (0,T) and 1A I6 x I262. We know GC with any

tuple of values in IT x I1 has a valid solution. So GC+, is generically independent.

Subcase 2: 61 is a new w,.',ll. and 62 is an old i,'ll. (Figure 5-4). The position

of P,+1 should be at the intersection of the circle which is determined by 61 and

the radial which is determined by 62. For a T E IT, choose 61 E (0, ct), T 0.

62 E (C i7). C ->- 7 to ensure the radial intersects the circle. If for 6 pn+i is
in a corresponding line of a pair of points of GC, we choose (T equal this 6* to

prevent pn+l lie in this line. After proceeding with all the lines, we ensure pn+l

does not lie in any line of GC. If 6*, pn+l coincidents with a point of GC, we choose
( equal this 6* to prevent pT+l coincident with this point. After proceeding

with all the points, we ensure pmn+ does not coincident with any point in GC. Let

I,1 = nTT(oCr) and 62 n= TIT( ,,) and l Ist, x I62. We know G +


Figure 5-5: Two old angles do not share a pair of points containing p,+l

/ d G d-t2

Figure 5-6: Two old angles share a pair of points containing pn+l

with any tuple of values in IT x 1, has a valid solution. So G'+, is generically


Subcase 3: Both 61 and 62 are old i,lll, (F:lui'' 5-5). The position of pn,+

should be at the intersection of two radials which are determined by 61 and 62

respectively. For a T E IT, choose 61 E (0, Ce), eT -- 0 and choose 62 E (C, 7r),

cT makes 11 I| 12 to ensure two radials intersect. If for 6 pn+1 is in a corresponding

line of a pair of points of GC, we choose 4T equal this 6" to prevent pn+i lie in this

line. After proceeding with all the lines, we ensure pn+i does not lie in any line of

CG. If for 6 pn+l coincidents with a point of GC, we choose c equal this 6" to

prevent pn+l coincident with this point. After proceeding with all the points, we

ensure pn+1 does not coincident with any point in GC. Let 6, = nTr, (O, ) nd
2 iTIT (,7r) and A = Is x I 2 We know Gn+,I with any tuple of values in

IT x IA has a valid solution. So GCi+, is generically independent.

Note that 61 and 62 can not be 2 old angles sharing a pair of points containing

Pn+i (Figure 5-6), because G has no implicit angle cycle.
From above, we know GC+, is generically independent in case 3.


Figure 5-7: Generically independent system that is not gradually constructible



b c e g

Figure 5-8: Implicit angle cycle is not the only type of dependency.

So if G is gradually constructible and has no implicit angle cycle, it is

generically independent.

On the other hand, if G is not gradually constructible, it may still be

generically independent. G (Figure 5-7) is not gradually constructible because

each point has 3 angles involved. But G is still generically independent.

The implicit angle cycle is not the only type of dependency in the angle

constraint system. Angle 1 (Figure 5-8) is fixed by angles a, b, c, m and angle j is

fixed by angles f, g, h, i. Then the subgraph S actually has 3 degrees of freedom

because it has 5 angles (d, e,j, k, 1) fixed. Thus S is not generically independent.

Because detecting the implicit angle cycle is not sufficient to tell whether an

angle constraint system is generically independent, we propose a rigidity conjecture.

5.3 Observations

The following two observations are crucial for the proof of the conjecture.

First, we give an algorithm that is essential in our discussion.

Verifier: Taken a geometric angle constraint system G as input,

1. If G has a 3 or dof subgraph, return false

2. If there exists an angle cycle which is not contained in an angle clique, return

3. Find an angle pseudo c(!- if it exists. th. :: the missing angle.

4. If there exists one subgraph with 3 or fewer ...i.. return false.

5. Find a 4 .: isu' : i: that is not an angle clique if it exists. .:. : all the
unassigned angles .

6. repeat 2, 3, 4 and 5, :: : no more angles are assigned, return true

Note that Verfier -.- have different <... utational .. .'l based on which angle

( chosen in Step 3 and which 4 adof sugrn: : chosen in step.

Observation 5.3.1 For an 7 that is in a path P, of

V c r,, it will be --. .' in : path 1 ,' unless V 'r T' returns false
. ".,re it, cn ', 7.'

Assume there exists a path P in which 7 is not assigned and Verifier returns true.

Pb does not assign all the angles assigned in Pa otherwise 7 is also assigned in Pb

violating the assumption. Let 0 be the first angle assigned in P0 but not assigned in

Pb. All the angles assigned before 0 in P- that are necessary for assigning 0 are also

assigned in Pj,. Verifier only returns true if there is no more angle to be assigned.

But at the end < Pi,, Verifier can still assign 0 because all angles necessary

assigning 0 have been assigned in Pb. contradicts the .. >tion that Verifier

returns true at the end of Pb.

Observation 5.3.2 All '.'.. returnT the same result.

Assume there are two paths PI and -b that IP returns false and IP returns true. Pb

does not assign all the angles assigned in P, otherwise PV will also return false. Let

0 be the first angle assigned in PO but not assigned in Pb. All the angles assigned

before 0 in P) that are necessary for assigning 0 are also assigned in Pb. Verifier

only returns true if there is no more angle to be assigned. But at the end of Pb,

Verifier can : :1- assign 0 because all angles necessary for assigning 0 have been

assigned in Pb. That contradicts the assumption that Verifier returns true at the

end of Pb.

Observation 5.3.3 All paths that return true assign the same set of il,

Assume there are two paths Pa and Pb that both return true but they assign

different sets of angles. Let 0 be the first angle assigned in Pa but not assigned in

Pb. All the angles assigned before 0 in Pa that are necessary for assigning 0 are also

assigned in Pb. Verifier only returns true if there is no more angle to be assigned.

But at the end of Pb, Verifier can still assign 0 because all angles necessary for

assigning 0 have been assigned in Pb. That contradicts the assumption that Verifier

returns true at the end of Pb.

Observation 5.3.4 Verifier has C'I,,, I/-Rosser 1p'*/' '/ i

From Observation 5.3.2, we know Verifier has ('0lir, !i-Rosser property.

Observation 5.3.5 Verifier has y. ./;;,.,;.,/d time ,..';,,l. ii/,

To use MFA algorithm find 3 or fewer adof subgraph in step 1,4 and the 4-adof

subgraph in step 5, it requires O(n3(n + m)) (n is the number of vertices, m is the

number of edges). To use depth-first search to find angles in step 2, 3, it requires

O(n + m). Verifier runs at most n4 iterations because there are at most n4 angles

and at least one angle is assigned at each iteration, then the time complexity is

O(n'(n + m)). Actually the upbound of the time complexity is very loose.

If the verifier returns true for a geometric angle constraint system, we v- the

system passes the verifier. Then we have the following observations.

Observation 5.3.6 If a geometric ,;.'l. constraint system G fails the verifier, it is

not gene .'.'ll/; independent.

If G fails the verifier at step 1, it is obvious that the angles in the 3 or

fewer dof subgraphs are not independent to each other, thus G is not generically


If G fails at step 2, then for ...- angle of the angle .. i. its value is fixed

by every setting of values of the other angles in the angle cycle, thus G is not

generically : '. pendent.

If G fails at step 4, it is obvious that the angles in the subgraph with 3 or

fewer adof are not i. '*. endent, thus C is not generically :.. Icndent.

Observation 5.3.7 Given n angle constraCint : iin 2D with k(> 0) dof,

there is at least one :-. ,',' involved in at most 7

Let im be the number of angles involve in the point that has the least number

of angles involved. As an angle involves in at most 4 points and G'( has k < the

following ine. holds: mn n < ( 4 (2n k). Ti. we get ?n < 8 [4 k/n]. So

m < 7.

5.4 Conjectures

For the following three lecturess, the first two are used for the i of the

third one which is our 2D rigid characterization ..'ecture of angle constraints


Conjecture 5.4.1 For an ... '. constraint G; with k(> 4 i x) dof that

the '' r, there exists an x-tuple of. :. :1' such that

it does not Tntake the '.. f '' the 'r "

Partial Proof:

Let G'~ be the ith maximal 4 i : : in G' which has at least 3 points.

Si this pr-o 'ty holds: Gs, and Gs are <' pointed for ..-. i -r j, that is G', and

G'C share at most one point.

If Gs, and Gs, share a vertex, G',. U G' has 4 i n angle involves in

both G',. and G(" TI: violates the statement G,. and Gr are the maximal 4 dof

subt- ---(es in GC- Or G(, U G.;, has 3 or fewer dof if at least one angle involves in

both G' and G( This is ::: 1 t because no : 1 : has 3 or fewer dof in

G;'. So the property holds.

G,, has t trees: n(n 1)/2 (2n k) = ((n 2.5)2 6.25)/2 1 k. So when

k is given, t is increasing for n > 3. Note that the tree could be consist of (c 1 one

vertex. When n 3, t .k 3 > x + 1, that is for a given G,, with k dof, it has at

least x i 1 trees.

W\e give an algorithm to find the .:-tuple <.' : ified angles without forming

an angle ( 1. or making ..:-* subgraph 3 or i- 0 dofs. Here is its pseudocode.

While x>0
Find maximal 4 dof subsystems
If there is no $G_{S_i}$ in $G_n$
add an angle between a pair of trees arbitrarily
add an angle between (vl, v2), where vl is in $G_{S_i}$
and v2 which is in another tree of vl and outside
of $G_{Si

If there is no GC' in G' at current stage, then we ca.n choose the angle in the

x-' 1. of unsp. : : i angles between a pair of trees ar : : : without forming

an :. .1. : or making subgraph 3 or fewer dofs. If there is a G'C, because

the trees can't be totally contained in Gs, all together, we can al---. -.:: such a

pair (v1, 'a2) such that. vi is in Gs, and v2 is in another tree of v, and outside of Cs,.

i ensures it does not form an angle cycle. And because Gs s are 1.. pointed it

does not make :: ;-: 1 :3 or fewer dof.

We still need to prove G-, with .. ying that x-tuple the verifier.

Conjecture 5.4.2 For an '.: constrint s '. G>+ that the iver .-

ifn > 4, m is the number of angles involved in .. : that involves the least

angles, then there exists an .... angle 7 in G', such that .

one of the m '. involved in ; : to G, and .. '. in pG to get

G1,n1 1 n+ i passes the

Partial Proof:

From the proof of Observation 5.3.7, we know n + 1 > F4k/(8 m)]. When

m = 4, n > 3. But when n = 3, no G' satisfies that the number of angles involved

in the point that involves the least angles is 4. In fact, it can be at most 3. So

n > 4. When m = 4... 7, n > 4. Then we know G' has at least 4 points.

G' has k, = k + (m 2) dofs. And G, has t = n (n 1)/2 (2n kT) =

(n2 5n)/2 + k, trees. When n = 4, t = m+ (k 4) > m. Then the m 1 edges of

Gn+1 \ G, is not enough to connect all these t trees to be a tree of G+,1. Then we

know the vertices in G, can't be all in a tree of G,+1.

Let G' be the ith maximal 4 dof -i1ii--l. in G" + which has at least 3
S i ---
points. If pn+l is not in any G', then we add 7 by the way similar to Conjecture

5.4.1. If pno+ is in a G', we add 7 between the (11, 12), 11 is the edge in GC and 12

is in G' \ G' and 11 and 12 are not in the same tree of G This pair does exist

because the vertices in G, can't be all in a tree of G, So G"s has no angle

cycles and no subsystem has 3 or fewer dof.

Also, we need to prove G passes the verifier.

Conjecture 5.4.3 For an ,';,l,/ constraint system G" in 2D that passes the

verifier, it is genet ,'/// independent.

Partial Proof:

Case 1: there exists a point pn+l has no ,1;.l/. involved. Case 2: there exists a

point Pn+i which has 1 I,,;/l. involved. Case 3: there exists a point pn,+ which has

2 wig1, involved. In these 3 cases, G+,l) is generically independent. Refer to the

proof of Theorem 5.2.

Case 4: there exists a point pn+ which has m(> 3) or more , involved.

ASSUMPTION: For an angle constraint system sG in 2D with 4 dof and no

angle cycles and no subsystem has 3 or fewer dof, and G" with aI = I x I2 x ... x I

has a valid solution, Ii is the interval of the specified angle i in G", s is the number

of specified angles, for an unspecified angle 6 specifying which does not make any

angle cycle, let 7 be the specified angle which is in the minimal 4 dof -,1ii.- ,-. in

that contains all the lines participating 6, then for any v* E I\,, as 7 varies in I,,

there exists a non-zero sized 6I for 6.

If m = 3, call the three angles 61,62 and 63. From Conjecture 5.4.1, we know

that there exists an unspecified angle 7 in GC that does not form an angle cycle

involving some subset of the specified angles or make any -, ii'.-l ii 3 or fewer

dof. Unspecify 63 and specify 7 to get G i. From case 3, we know GC with

la = I x 12 x ... x ... x I x 16s x I62 has a valid solution, s is the number of

angles in GC. And the minimal 4 dof -, 1i,--l. i:: of 63 must contain 7. Then from

the assumption, we know for any v* E I\a, as 7 varies in I,, there exists a non-zero

sized Is for 63.

Let I, E I, and I|7l 0, i is the specified angle in G i. As v* varies in '

I does not change much because I', is relatively small. Then la3 n* j'\ I'K

has non-zero size.

Then we know GC,1 with 'I\, x 163 has a valid solution, so G'+I is generically


If m = 4, call the 4 angles 61,62, 63 and 64. Choose 7 as described in

Conjecture 5.4.2.

After specify 7 and unspecify 64 to get GCsI, and choose I similar to the case

when m = 3, we know I64 that has non-zero size exists.

Then GC, with ~\' x I64 has a valid solution, so G'+, is generically


We can also do the similar job for m 5... 7.


In this chapter, we study the well-documented problem of systematically

navigating the potentially exponentially many roots or realizations of well-constrained,

variational geometric constraint systems. We give a scalable method called the

ESM or Equation and Solution Manager that can be used both for automatic

searches and visual, user-driven searches for desired realizations. The method

incrementally assembles the desired solution of the entire system and avoids

combinatorial explosion, by offering the user a visual walkthrough of the solutions

to recursively constructed subsystems and by permitting the user to make gradual,

adaptive solution choices.

We isolate requirements on companion methods that permit (a) incorporation

of many existing approaches to solution space steering or navigation into the

ESM; and (b) integration of the ESM into a standard geometric constraint solver

architecture. We address the latter challenge and explain how the integration is

achieved. And we clarify these requirements essential and desirable for efficient,

meaningful solution space navigation. Also, we sketch the ESM implementation

as part of an opensource, 2D and 3D geometric constraint solver FRONTIER

developed by our group.

6.1 Companion Methods Requirements

In order to describe the ESM method and how it can be integrated into

any geometric constraint solver (Figure 6-1), it is necessary to give well-defined

essential and desirable requirements on the companion methods mentioned in the

Introduction for the ESM method to be effective. We additionally point to known

literature that provide the companion methods that meet these requirements.

6.1.1 DR-Planner

In order to give the DR-planner requirements, we first need some preliminaries

about combinatorial analysis of geometric constraint systems. A geometric con-

straint p Ill, G = (V, E, w) corresponding to geometric constraint system is a

weighted graph with vertex set (representing geometric objects) V and edge set

(representing constraints) E; w(v) is the weight of vertex v and w(e) is the weight

of edge e, corresponding to the number of degrees of freedom (dofs) available to an

object represented by v and number of degrees of freedom removed by a constraint

represented by e respectively.

For example, Figure 1-1 shows a 2D constraint systems and their respective

dof constraint graphs. Figure 1-4 shows a 3D constraint systems whose graph have

vertices of weight 3 (points) and edges of weight 1.

Note that the constraint graph could be a iT;,/' ,,'/l, each hyperedge

representing a constraint involving any number of vertices. A vertex induced

subgraph represents a subsystem of the entire constraint system. The subgraphs

can be classified as being underconstrained, well-constrained, or well-overconstrained

- the latter two are called rigid subgraphs or clusters. The meaning is that the

corresponding subsystems have the corresponding constrainedness properties for

generic parameter values. In many cases, this classification of the subgraphs can

be done purely combinatorially, using the dof weights, but ignoring geometric

parameters such as distance, angle and so on attached to the constraints.

As mentioned in the introduction, any effective constraint solver combinatorially

develops a plan for recursively decomposing the constraint system into small

subsystems, whose solutions obtained from the algebraic/numeric solver can be

recursively recombined by solving other small subsystems. Such a recombination

is straightforward, provided all the -,l.-\- 14.-I generically have a finite number of

solutions, that is, they are generically rigid.

The DR-planner is typically a graph algorithm that outputs a decomposition-

recombination plan (DR-plan) of the constraint graph. In the process of combinatorially

constructing the DR-plan in a bottom up manner, at stage i, it locates a

well-constrained subgraph or cluster Si in the current constraint graph Gi,

and uses an abstract -.:,,,/i.: / ,rl/, n of Si to to create a transformed constraint

graph Gi+l. While we rely on a rough correspondence between well-constrained

subgraphs or clusters and rigid subsystems, the exact nature and limitations of this

correspondence is a complex issue, especially in 3D, and is discussed later.

Formally, a DR-plan of a constraint graph G is a directed .,. i' i, graph (DAG)

whose nodes represent rigid clusters in G, and edges represent containment. The

leaves or sinks of the DAG are all the vertices (primitive clusters) of G. The roots

or sources are all the maximal clusters of G. For well or well-overconstrained

graphs, the DR-plans have a single source, and for underconstrained graphs, the

DR-plans have multiple sources. There could be many DR-plans for G (Figures

1-1, 1-4). Generally, for overconstrained clusters, a DR-plan is required to also

contain information about which sets of overconstraints can be removed while

retaining the rigidity of the cluster. These are called reducible overconstraints.

Reducible overconstraint dir. ./11; associated with a cluster C refer to those

that connect primitive elements occurring in different child clusters of C.

Overconstraints that lie within any child cluster Ci are associated with that Ci,

not with C.

We describe essential and desirable properties that a good DR-plan(ner)

should have for it to be useful in conceptual navigation of the solution space of

general, cyclic 2D or 3D systems.

It is desirable to be able to apply the ESM method to a large class of 2D and

3D constraint systems. For the method to work for any such class, it is essential

that the DR-plan's nodes should correspond to rigid clusters or generically rigid

subsystems, and all choices of reducible constraints of overconstrained clusters

should be available. Recall that these clusters and their reducible constraints are

picked by the DR-planner using just the constraint graph, that is, using purely

combinatorial properties of the constraint system.

To illustrate the level of challenge involved in doing this: to date, there is

no known, tractable, characterization of generic rigidity of distance constraint

(sub'-i--, if,, for 3 or higher dimensions, based purely on combinatorial properties

of the constraint graph [19, 22], although several conjectures exist. Moreover,

there are no known combinatorial characterizations of 2D rigidity, when other

constraints besides distances are involved. It should be noted that in 2D, Laman's

theorem [18], gives such a characterization if all geometric objects are points and

all constraints are distances. However, the standard generalization of the Laman

property for 3D, also called dof- .:1.:l/,I': is inadequate: while all rigid systems are

dof-rigid, the converse is not the case in 3D. Standard counterexamples are systems

that contain constraint dependence or inexplicit overconstraints hidden in so-called

" I ,i ,i i- or !! ,!;, -" [19, 20, 21] (Figure 1-4). In fact, these are the only known

types of counterexamples.

The module-rigid Frontier vertex algorithm described by Sitharam and Zhou

[12] and implemented in FRONTIER [15] is the first known polynomial time

DR-planner that is not fooled by any known type of constraint dependence,

specifically, the '- iin or hliii;u" type constraint dependence. It gives

a DR-plan whose nodes are so-called module-rigid clusters. It is an open

question whether there are any nonrigid subgraphs that are module-rigid. No

counterexamples are known.

The module-rigid Frontier vertex algorithm is crucially based on the so-called

dof-rigid Frontier vertex algorithm analyzed by Lomonosov and Sitharam [2, 9, 24].

While the latter does not detect bananas and other constraint dependence, it is

the first algorithm that gives a complete DR-plan, that is, a complete decomposi-

tion of each cluster into maximal proper subclusters. A generalized version of this

decomposition is the key starting point for detecting module-rigidity [12] and is

also crucial for obtaining a tractable DR-plan that aids efficient solving (discussed


The basic idea for the dof-rigid Frontier vertex DR-planners (without a

complete formal analysis and without the fully general completeness property)

was presented by Hoffmann et al. [6]. The method for obtaining all possible sets

of reducible constraints for overconstrained clusters of dof-rigid Frontier vertex

DR-plans, both for 2D and 3D, and modifying the DR-plan once they have been

removed, is presented by Hoffmann and Sitharam [8].

The size of a cluster in a DR-plan is its fan-in (it represents the size of the

corresponding -, 1i-i--I ii once its children are solved). Since the algebraic-numeric

solvers take time exponential in the size of the subsystems they solve, and the

number of solutions is also typically exponential, minimizing the size of a DR-plan

is essential to the ESM method presented here. An optimal DR-plan is one that

minimizes the maximum fan-in. It is shown by Lomonosov and Sitharam [9, 24],

that the problem of finding the optimal DR-plan of even a 2D distance constraint

graph is NP-hard, and approximability results are shown only in special cases.

Nonapproximability results are not known.

To get around this difficulty, we use the following alternative property. A

tractable DR-plan for systematic navigation should ensure that each cluster C

should be accompanied by a a small set of its children Ci that form an optimal

covering set of maximal clusters properly contained in C. A covering set of

clusters is one whose union contains all geometric elements within C. The size

of the optimal covering set for C is the size of the cluster C, that is, its fan-in

in the DR-plan. For scalability of the ESM method, we restrict ourselves to

constraint graphs for which this size is typically constant independent of the

original graph size. The ol'i.:h,,i./'l; here refers not only to the size, but also the

algebraic complexity of the active constraint system for solving C, given the

solutions of its child clusters. This optimization is the function of the combinatorial

cluster-system optimizer (CCO) method (Figure 6-1) described later in this

section. Note that in order to choose the optimal covering set of child clusters for a

cluster C, the CCO needs as input a generalized complete decomposition of C into

maximal proper subclusters, which was already seen to be an essential requirement

for the generality of a DR-planner, now seen to be essential for tractability as well.

Another crucial property of a DR-plan is its width i.e, number of clusters

in the DR-plan. It is essential that this be small, preferably linear, certainly

polynomial, in the size of G: this reflects the complexity of the planning process

and also affects the complexity of the solving process that is based on the DR-plan.

The module-rigid and dof-rigid Frontier vertex DR-planners analyzed by Sitharam

and Yong and Lomonosov [2, 9, 12, 24], and implemented in FRONTIER [15], are

the only ones that have quadratic (typically linear) width and output complete

maximal decompositions of each cluster, whose optimal covering sets have typically

constant size.

For the user to effectively navigate the solution space just by inspecting the

solutions to subsystems in the DR-plan, it is desirable that these subsystems

include those (well or well-overconstrained clusters) that occur in an underlying

conceptual decomposition. This is a feature, part or subassembly hierarchy that

captures design intent, that is, a partial order, typically also represented as a

directed .,, i' 1 graph.

This incorporation of such an input decomposition is crucial also in order

to allow independent and local manipulation of features, parts, subassemblies or

subsystems within their local coordinate systems; for allowing the user to dictate


S____ Front End Eqn-Soln
GUI Adaptor Manager (ESM
UTU Navigator

Combinatorial Proc (CEP
Cluster-System Poc EP

Simple DR- Algebraic
Solver Planner Solver

Figure 6-1: Standard geometric constraint solver architecture.

the order of resolution (and solution space inspection) of the features, parts,

subassemblies or subsystems. For example, parametric constraint solving can in

fact be achieved as a special case, where the order is a complete, total order. In

addition such a solving j ,.: ,.:/; order arises naturally in the case of module-rigid

DR-plans [12] discussed in Section 6.1. These include clusters whose clusterhood

depends on first solving other (nondescendant) clusters in the DR-plan.

6.1.2 Combinatorial Cluster-System Optimizer (CCO)

This method is described in detail by Sitharam et al. [14]. Here we give

its requirements and output. The CCO method takes its input from the DR-plan

(Figure 6-1) one cluster C at a time, along with a complete maximal decomposition

into subclusters Ci, and complete information on reducible overconstraints directly

associated with each Ci and with C. The CCO method's output consists of: (i)

a covering set of clusters among the Ci's that will be used for solving C, (ii) a

subset of the cluster overlap constraints for the chosen covering set which together

with a well-constrained set of original constraints, result in a system of algebraic

equations (a) that is stable or independent and (b) whose complexity that is,

number of variables and degree has been combinatorially minimized; typically this

complexity is constant, independent of the size of the constraint graph. Note that

the actual algebraic system for solving C is never generated or manipulated by the

CCO method. All the output requirements are essential for tractability of solution

and thus for the ESM method presented here, and are proven by Sitharam et al.

[14], except for the Requirement (ii)(a) which is proven by Sitharam [48].

6.1.3 Algebraic Solver

This could be a purely algebraic or numeric solver. An essential property

of the Algebraic Solver (Figure 6-1) is that it should be reasonably efficient in

practice; numerically stable; output all real solutions to the input polynomial

system; uses interval arithmetic, that is, can deal with interval values for the

coefficients of the polynomials; and can search for solutions within specified

intervals for each variable. Desirable properties depend on types of navigation

constraints that we permit: incorporating overconstraints during solving to prune

solution space; dealing with semi-algebraic sets, that is, dealing with polynomial

inequalities during solving. The solver [49] satisfies all of these requirements.

6.1.4 Graphical User Interface (GUI)

Interaction with the user through the GUI is central to the ESM method,

and benefits from a well-designed GUI. The GUI requirements however are

easy to describe: adequate text and menu interaction as well as 2D and 3D

canvases to enable the following. The GUI is used to input: the constraint system

and a conceptual decomposition or feature hierarchy, (these could have been

partially solved and stored from an earlier session), any updates to these, and

interactive user input during the constraint parsing and equation building stages

and realization space navigation. The GUI is also used to modify the object,

constraint and feature repertoire or constraint-to-equation parse tree. The GUI

is used to output: the DR-plan of the input constraint system consistent with

the input conceptual decomposition, the system of equations as they are being

parsed in stages from the constraints, the -, i ,-i-- in solutions corresponding to the

nodes of the DR-plan, a realization of the partially solved system as the navigation

proceeds, and the final realization. A good example is the GUI implemented in

FRONTIER [15, 50] and shown in the figures in Section 6.2.

6.2 Navigating the Solution Space

This section has two parts. The first describes the overall Equation and

Solution iJ.4,,j,r. r (ESM) navigation method and the common, augmented DR-plan

datastructure used by this method and its companion methods that aids

efficiency. The second part describes its integration into a standard constraint

solver architecture (Figure 6-1) specifically, the dataflow, communication with the

companion methods that satisfy the requirements given in Section 6.1, and a sketch

of its implementation in the FRONTIER constraint solver [15].

6.2.1 The Basic ESM Method

The ESM takes as input the constraint graph, the DR-plan output of any

DR-planner as in Section 6.1; a stable and combinatorially optimized system

of constraints for each cluster in the DR-plan that is, the output of any

combinatorial cluster-system optimizer as in Section 6.1; and finally navigation

constraints, such as redundant or consistent overconstraints and chiralities. It

generates an algebraic system of equations and inequalities for each cluster.

Then, using its access to any algebraic-numeric solver as in Section 6.1, it offers

the user a tractable, interactive visual walk-through of the solution space by

outputting to the GUI and storing in the augmented DR-plan datastructure the

partial realizations or solutions of the cluster subsystems in an efficient manner.

Interactive input to the method includes the user's choice of solutions to the

clusters and : 1 "i : navigation constraints added on by the user, using which

the .i i method recursively assembles the desired solution of the entire system.

met hod provides fully :. i- k backtrack ing redoing the user's choices

starting from -- cluster. Finally, the method can be run ::: vy automatically,

without :.-- user intervention, to output a realization of the entire constraint

S including nav~i constraints that are:: :: .

Ti.. Solveforest routine can be merged into the Solvecluster routine. It is not

necessary, except for clarity, and : dealing with the case where the DR-plan has

several roots in case the input constraint i was underconstrained.
S, (set S of clusters)

[1) At top level of recursion S represents
a '::.ilete decomposition of given system into
maximal, well-overconstrained subsystems.
2) At lower levels of recursion, S represents
an optimal coveri--. set output by : ]
For each cluster C in S,
Return user-chosen solution U(C) for each cluster C in S.
[efficiently stored in an augmented DR-plan
datastructure, described below]

Solvecluser r (C)

[The input is : :'s output for C:
1) at bottom level of recursion, a well-constrained
system involving primitive geometric elements;
2) at ,',I'. :" levels, anoptimal ( : :. set S of
solved child clusters Ci, and a stable, independent
set of constraints between the Ci's, partitioned into
tree overlap constraints and non tree constraints]
Solveforest (set S of Ci's)

i (C)
[Gets from user additional navigation constraints
for C.
1) In some iterations, especially the first,


^i, _. ':^- J

1 -- p" I 1i1& I I A
_,. ,1:'. i

I PRiIius I Bdllncdllin 1 2 Nexl
uiscalion.. J RPSohre I Re Pik

Figure 6-2: Solutions of the cluster formed by the 3 circles (Figure 1-1).

it creates algebraic system Alg(C)
for solving C, using the user-chosen solution for
each Ci and the non-tree constraints in the stable
set of constraints between the Ci's,
output by the CCO.
2) In some later iterations, it prunes any already
existing set Sol(C) using the most recently input
navigation constraints.
3) It Interacts with user further for massaging
this algebraic system to reduce complexity]
Algebraic-Numeric Solver(Alg(C))
[Returns solution set Sol(C) for C: rotation
of each Ci w.r.t. its parent in the
tree of overlap constraints given by CCO for C.
The coordinate system of C is the same as
the home or root cluster of the tree
of cluster overlap constraints output by the CCO:
the home cluster's
rotation/translation is fixed to be
the identity.]
Communicate the set Sol(C) visually to user via GUI
Until user is satisfied and picks a solution U(C)
Return user-chosen solution U(C)

This visual walk-through is an interactive process, permitting the usual 3D

visual tools such as 1p I zooii- zooming, rotation to visualize the various solution

possibilities, which cannot be fully illustrated by the figures here. The interested

reader is encouraged to download and run the (opensource) software [15] (Figures

6-2, 63, 65, 66, 67).


Enter tre cluster ID of Ite cluster you want Lo re-solve

..1. G r, I '
I I .. ,- I -

,i '- '- "I

Figure 6 3: Complete solution of root cluster (Figure 1 1) after choosing

1. Group ID
ointrs to the child 2. Cluster Type
Pointers to the cdre 3. Navagation constraints
4. Vertices
5. Points to non-descendant clusters
1. Tree of overlap constraints 1. Solutions
2. Non-tree overlap and original constraints 2. Solved flag

Figure 6-4: The structure of the cluster.

A cluster object represents a DR-planner's simplification [2, 6, 9, 10, 11, 15]

of a well-constrained or a well-overconstrained subgraph, as well as its original


Figure 6-4 shows the contents of the cluster.

1. H: ,1,i ,;, field. These cluster objects are hierarchical and contain

pointers to their sub-DR-plan, a directed .... i ll graph (DAG), i.e, the DAG

interrelationships are stored within each cluster C as a list of its immediate

children Ci.

2. Combinatorial descriptive fields. The cluster C contains more descriptive

fields, 1) a group ID corresponding to a feature, if any, that corresponds to

this cluster C in the input feature hierarchy. Note that not every feature in

the input feature hierarchy is a cluster; however, every cluster feature must

appear in the output DR-plan, if the DR-planner satisfies the desirable feature

incorporation property discussed in Section 6.1. 2) Another important descriptive

field is the cluster type that indicates whether this cluster is well-constrained,

well-overconstrained (combinatorially), and a list of reducible overconstraints

directly associated with C. that is, does not lie within any of the child clusters

of C. 3) Another field contains other navigation constraints that are directly

associated with C (these are discussed later in this section). 4) Another field is

a list of original vertices or geometric primitives that constitute this cluster. 5)

In the case of module-rigid DR-planners [12], as mentioned in Section 6.1, some

clusters become clusters only after other (non-descendant) clusters have been

solved, inducing a solving priority order. Thus a cluster contains pointers to such

non-descendant clusters.

3. Fields giving input/output to CCO. The cluster C stores the input to and

the output of the CCO companion method, that is, a complete set of maximal rigid

clusters within C, of which a subset have been picked by the CCO as the children

of C. The cluster structure contains a stable, independent system of cluster overlap

and original constraints between the (primitive elements of) children of C. These

are partitioned into two parts, 1) a tree of overlap constraints, with a home or

root cluster and a set of non-tree overlap and original constraints. 2) The original

constraints include all non-reducible constraints in C.

4. Fields describing 'il, ib.. :. solution. The cluster object has several fields

that store the solved degrees of freedom of the cluster. A list of strings is stored,

one for each solution of the cluster returned from the algebraic-numeric solver

(given fixed chosen solutions to each of the child clusters). When the user selects a

desired solution, that string is parsed into a list of actual degree of freedom values

for this cluster. Multiple copies of the list are permitted, one for each parent of

the cluster in the DR-plan, if they exist. Note that especially when the DR-plan

incorporates an input feature hierarchy or partial decomposition, the DR-plan

could be a true DAG with child clusters shared by several parent clusters. The final

field is a flag that indicates whether the current Cluster C has been solved or not.

A crucial feature of the datastructure that maintains clarity and < : .

.,: '". nav igation and backtracking is that each realization of the cluster C is not

stored as positions of each geometric element in the cluster this would cost linear

time and f fo r each child cluster but rather it is stored as the homogeneous

rotation/translations (a constant number of matrix entries) of C's child clusters

that resolves the constraints between them. ( i, constraints are the non-tree

portion of the independent set of constraints output by the CCO cO .. :

method and the rotations are associated with the overlap tree output by the CCO

companion method, expressing a child cluster C 's rotation with respect to another

child cluster Cy of C, namely C)'s parent in the tree of overlap constraints output

.- the OC' O companion method. Only when the position ~. a primitive geometric

element v, in a cluster ( is needed is it actually 1 .. T.: could be needed

either by the constraint equation processor (( .' I) of the I : method described

next, in order to construct a stable : !. of equations for C's parent in the

DR-plan, or to prune the solution set of C, or when a --ticular realization of C

needs to be ( : to the user.

T: ... ... of a primitive element v in C is obtained by taking a nested

product of rotations. (i) T: "o::: : product is a product taken over ( : of

the paths that lead ..... the current cluster to a leaf/sink of the DR- .E that

corresponds to that geometric element. T:: 7 path is not unique if the geometric

element v is shared ".. more than one cluster appearing in the DR .! ... but all

these paths provide the same, unique position for the geometric element v: this is

ensured by the CCO companion method. (ii) Each : :. : product is associated

with a single cluster D along the above path: it is a product of rotation matrices

that I D within the coc: :: :.! system of its ent E in the DR-plan. Ti:

is, it is the product of rotations along the unique *'!. to D from the root or home

p10' P11 p15 1 p15

p12 P i3
p14 p p12
p17 M p14
p p17

SPleviois BdIlllai. n 1 i Bdurll: 2.i 2 I IN xl
Sel.E BiuIIcalium. r I Rr.Sol I. Re Ri S ih | I R- PI. C.anr.

Figure 6-5: N ii;, i iiig by bottom-up traversal of G79 in DR-plan (Figure 1-4).

p13 p17 p13

p150p5 p8 *- 17
pl2 p102

pp16 p1 p14 p16

IPfl Il
Pl &v li^s Blicallon 1 '2 r BdlurelIuI2 2 lNtx
S erlifireialinr 1i ReS IIv R R R _h'Mv I I R-Pi.k 11 cancr.

Figure 6-6: N ii;, iiiin by bottom-up traversal of G82 in DR-plan (Figure 1-4).

cluster in the tree of overlaps for E generated by the CCO companion method

(Section 6.1).

Thus the entire DR-Plan object is simply a pointer to the root node of a list

of clusters as they are described above. In case the graph is underconstrained, the

root node is a dummy node, whose children are the actual sources of the DR-plan,

i.e, a complete set of maximal clusters (Section 6.1).

The CEP method is a crucial part of the ESM method and has the following

functionality: It generates a system of equations and inequalities for solving a

cluster C, using (a) the output of the CCO companion method; (b) the user-chosen

solutions for the child clusters Ci of C; and (c) navigation constraints directly

associated with C, including reducible overconstraints which have been isolated by

the DR-planner. In order to obtain algebraic systems of low complexity, it helps to

permit user interaction during the process of building the system corresponding to

Figure 6-7: Complete solution of constraint system (Figure 1-4).

a cluster. The CEP is additionally editablee" since it permits modifications to the

constraint repertoire as well as the constraint parsing mechanism to be input by

the user systematically and efficiently instead of having to rewrite the code for the

ESM. The CEP's user interaction is effected via the GUI text interface, discussed

in the communication and integration section.

The CEP has a two stage operation. The first conversion stage converts edges

or constraints in the non tree portion of the output of the CCO into algebraic

equation strings understandable by the AlgebraicSolver. These equations are

between variables describing the positions of the primitive elements in the child

clusters Ci of C. The second substitution stage of the CEP expresses the position

variables corresponding to a primitive element v in a child cluster Ci in terms of

the variable rotation and translation of the cluster Ci within C's coordinate system

obtained from the tree portion of cluster overlaps returned by the CCO.

The CCO's properties described in Section 6.1 guarantee that the resulting

system from the conversion and substitution stages is a stable, independent system

of algebraic equations for solving C.

Conversion stage of the CEP proceeds in steps, so that at any step, the

user can interfere and make substitutions that make the system of equations

simpler. The heart of the CEP is a datastructure and look-up system, the

constraint-to-equation parse tree (C tree), which takes the unique characteristics

of each e l 1 or constraint and searches an index of user-defined equations strings

for a match. T. CEP organizes those strings into a n-ary tree representing a

natural hierarc -- of constraints this conceptual hierarci 1 is also mirrored in

the representation of constraints used by ..:. standard constraint solver CUI.

use of this tree data structure makes the searching of the constraint list, and

conversion of constraint to e :: .1c :both i: : ::H and more interactive. Moreover,

this datastructure can be input or moi -. -. by the user, making it -. -y editable

and extensible, as discussed below.

Ti.. CEP tree is organized by ..... ... classes and sub-classes. For instance,

consider a distance constraint between two points and a I -: -: constraint

between a two circles. 1T. distance has the e.-i:: : (xl x-2)2 + (yl y2)2 ,

and the i :: : has the equation (xl ..)2 .- :" .)2 (rl r2)2, where

:xl, x2, y1, and y2 are either the locations of the points or the centers of the circles,

d is the distance between the points, and rl and r2 are the radii (<. the two circles.

equations fall into the same .: .1'. class because they are in a sense

generated by the same basic template or ,. ... .." In this ( .1 the tangency

equation would be a sub-class of the distance e : : : since its L ] could be

created with the substitution of the d variable in the distance equation with the

string (rl i r2). This relatib :: !:: would be represented in the ( : :' tree I- two

nodes, one node r each .. ... and the tan node r an te tangn node would be a child

node of the distance node. To complete the data structure, each node stores (a)

a list of edge ob'. which map to an eq nation and (b) either an e.i:: : or a

list of substitutions which create the new <1 :1-1 equation from the parent equation.

By storing only the substitution information, the .: .:ess (.' converting the list of

constraints to a list of : -.ns is highly simplified.

When the equation system for a current cluster C is being built one equation

at a time, that is, when single constraints are parsed one at a time, the actual

variable names c.. :1: in the output :: ; are irrelevant during the conversion

stage !.. will be appropriately modified during the substitution stage described


However, the process of -sing a single constraint can be extended to parsing

a system of constraints en bloc. T:: requires more care with preserving identical

and ,-. c variable names that .:.ear in < ... ..: constraints. Generating the

corresponding equation set involves traversing several paths of the parse tree in

lock i with substitutions being made along the way. Ti. user can interfere

at .nr- stage and make substitutions to : : : the entire algebraic system. Ti:

user interaction proceeds through a simple GUI text interface discussed in the

communication and integration section below.

Substitution stage of the CiP re-, : the .. '. variables corresponding

to primitive element v in a child cluster (C which occur in the equation system

obtained t. the conversion stage. Ti. variables are expressed in terms (a)

the variable rotation and translation of the cluster C,- within C's coordinate m

obtained from the tree portion of cluster c :' I. returned by the CCO. and (b)

the already solved, constant position of v within C.'s local coordinate ..-.-.

Both (a) and (b) require products of rotation matrices, as in the I :' ition of the

efficient, augmented DR-plan datastructure. In the case of (b), a nested product

is required, with the "c :- : duct taken over the clusters on : : :'1: in the

DR-plan from C, to v. In the case of (a), there is only an :: .: .: ..'i::. i of the

rotation matrices along the path to i -. : the home or root cluster in the tree of

( : constraints for C returned the CCO : : : : method.

S -m constraints are used not o~"-' to prune the search during user

directed navigation, but more importantly, to convert the 5 method into a

(tractable) automatic search for desired solutions for any cluster of the DR-plan.

These constraints can either be given apriori or interactively during a user-directed

navigation, to prune unwanted realizations of the DR-plan's clusters encountered

thus far.

Leveraging the modularity of the ESM method discussed above that is,

its separation from the DR-planner, and its applicability to any input DR-plan

as in Section 6.1 permits methods developed along with other DR-planners for

incorporating navigation constraints to be transferred practically unchanged to

the FA DR-planner and the ESM methods discussed above, for example relational

and engineering constraints for triangle decomposable systems given by Fudos and

Hoffmann [42]. We describe the two other common types of navigation constraints


One type of constraint used for navigation or picking out desired solutions

for any cluster C of the DR-plan are simply redundant or overconstraints directly

associated with C, that is, connecting primitive elements that lie in different child

clusters of C. These are isolated by any DR-planner as in Section 6.1. There is a

well-developed theory of unique realizations and so-called rigidity circuits obtained,

for isolating desired solutions from the solution space using redundant constraints


The other type of common navigation constraints are chirality [4, 41], also

called order type or relative orientation constraints. Chirality constraints can be

infered from the input sketch. For example, for point objects, these constraints

assign signs to the D + 1 by D + 1 determinants of the homogeneous coordinate

matrices obtained from each set of D + 1 point objects. I.e, these constraints

are D + 1 degree polynomial inequalities. These correspond to a complete

oriented matroid specification [51]. Alternatively, a partial oriented matroid

specification could be specified by the user: these assert intersection or separation

of pairs of convex hulls of subsets of point ob'. ; (called respectively circuits and

co-circuits in oriented matroid t,:::': 1 I ). or. 1- .two line segments could

be constrained to intersect. or a ...' could be forced to lie in the convex hull of

some other set of points. : ... too could be written as pc---nomial inequalities.

( i. : .::y constraints, like redundant overconstraints, are also directly associated

with a uni( ..:. cluster C in the DP t- the smallest cluster that contains all the

.:ive elements that in the (:: :T: constraint. Ti : also i: ''

that not all of the p; : ': .. '. 've elements i .-i in .---- single *. cluster of


Ti. navigation constraints associated with a cluster C are processed by the

('Ci using the same Conversion and Substitution stages described above. At the

end of these I I the :- .. equations and ini : .: :: are not in terms of

the primitive elements that they involve. ::: : t1 are in terms of the rotation

matrix entries (variables) that place the children C, of C (in the DR-plan), within

C's coordinate system. Thereafter, during each iteration in which the C('i i is

called for cluster C, i': a are dealt with in one <." two .. If the algebraic system

associated with the cluster has not yet been solved (in the :. iteration), or the

number of solutions is beyond some 0 : .1 :: 'd threshold (in later iterations), and

the ':. ebraicSolver is capable of .*.... .. redundant equations and ...1 -nomial

li: ties, then these processed navigation equations and L : : lIties are tacked

on to the stable, independent system for C generated as described above, and

sent to the AlgebraicSolver. If not, i.e, if either of these conditions does not hold,

these navigation e.-i: '. .: aind inequalities are ':.1,- used to : .. the solution

set for C. that since the navigation e : ': and inequalities have alr

been processed the Substitution stage of the C P ', this pruning can be done 1

directly using the solutions output by the ',;ebr .. over, i.e, using the rotation

Full Text




Copyright2006 by YongZhou




ACKNOWLEDGMENTS Thankstoallfortheirhelpandguidance. iv


TABLEOFCONTENTS page ACKNOWLEDGMENTS .............................iv LISTOFFIGURES ................................viii ABSTRACT ....................................xi CHAPTER1INTRODUCTION ..............................1 1.1ConstraintGraphsandDegreesofFreedom ..............2 1.2FormalDenitionofDR-plansandEssentialProperties .......6 1.2.1Overconstraints .........................6 1.2.2Optimality ............................7 1.2.3Completeness ..........................8 1.2.4Complexity ...........................8 2PROBLEMS .................................9 2.1GeometricConstraintsSystemWithinFeatureHierarchi es .....9 2.2TractableCombinatorial3Drigiditycharacterization ........9 2.3A2DRigidityClassicationConjecture ................10 2.4SolutionSpaceNavigationforGeometricConstraintSys tems ....11 2.5CombinatorialOptimizationofAlgebraicComplexity ........11 2.6OptimizationofWellformedSystemsofIncidences ..........12 2.7EnumerationofPathwaysforMacromolecularStructures ......13 3GEOMETRICSYSTEMWITHINFEATUREHIERARCHIES ....14 3.1FormalProblemStatement .......................19 3.2TheFrontierVertexAlgorithm(FA)DR-Planner ..........23 3.2.1DistributingEdges .......................24 3.2.2SimplifyingClusters .......................25 3.2.3Datastructures ..........................26 3.2.4DistributingVerticesandClusters ...............27 3.2.5CombiningClusters .......................28 3.3IncorporatinganInputFeatureDecompositionintoFADR -plan ..28 3.3.1MoreDetailedRequirementsontheMethod .........28 3.3.2DistributingGroupsorFeatures ................30 v


3.3.3ProofofCorrectnessandComplexity .............34 3.3.4PreservingPropertiesoftheOldFADR-planner .......36 4COMBINATORIAL3DRIGIDITYCHARACTERIZATION .......41 4.1DeterminingDofRigidity:TheFrontierVertexAlgorith m(FA) ..41 4.1.1TheFrontierVertexDR-plan(FADR-plan) .........43 4.1.2TheFrontierVertexAlgorithm(FADR-planner) .......44 4.2Module-Rigidity:CharacterizationandAlgorithm ..........50 5CONJECTUREOFANGLECONSTRAINTSYSTEM .........56 5.1Denitions ................................56 5.2OneCombinatorialCharacterization .................58 5.3Observations ..............................62 5.4Conjectures ...............................65 6SOLUTIONSPACENAVIGATION ....................69 6.1CompanionMethodsRequirements ..................69 6.1.1DR-Planner ...........................70 6.1.2CombinatorialCluster-SystemOptimizer(CCO) .......75 6.1.3AlgebraicSolver .........................76 6.1.4GraphicalUserInterface(GUI) ................76 6.2NavigatingtheSolutionSpace .....................77 6.2.1TheBasicESMMethod ....................77 6.2.2ESM'sCommunicationwithUserandIntegration ......89 6.3Conclusions ...............................93 7COMBINATORIALOPTIMIZATIONOFALGEBRAICCOMPLEXITY 96 7.1AnInstructiveExample ........................96 7.1.1TheUnoptimizedPolynomialSystem .............98 7.1.2UsingQuaternions ........................99 7.1.3AnOptimizedAlternative ...................101 7.1.4Interpretation ..........................102 7.2OptimizingAlgebraicComplexityusingClusterTopolog y ......102 7.2.1ReductionofAlgebraicComplexitythroughOptimizat ion ..106 7.2.2RemovingAssumptionsMadeinSection1.2 .........106 7.3SolutionstoanOptimizedSystemofClusterConstraints ......107 8OPTIMAL,WELL-FORMEDRECOMBINATION ............112 8.1Introduction ...............................112 8.2Background:ConstraintSystemsandClusters ............113 8.2.1TheOptimalRecombinationAlgorithm ............116 8.2.2TheWellformedRecombinationAlgorithm ..........117 8.2.3SeamGraphs ..........................119 vi


8.3TheNewHybridAlgorithm ......................123 8.4Conclusion ................................128 9ENUMERATIONOFPATHWAYSFORMACROMOLECULAR ....129 9.1Introduction ...............................129 9.2ObtainingPathwayProbabilitiesbyCombinatorialEnum eration ..134 9.3ImplementationResults ........................136 9.4AnotherProbabilityMeasure .....................139 REFERENCES ...................................140 BIOGRAPHICALSKETCH ............................146 vii


LISTOFFIGURES Figure page 1{1One2Dconstraintsystemexample. ....................3 1{2Simple3Dexampledrawnon2DcanvaswithpointsanditsDR -plan ..3 1{3One3Dexampledrawnon2Dcanvaswithsolution. ............3 1{4Geometricconstraintsystemin3Dwith\bananas"type .........4 1{5ConstraintgraphG1andDR-planin2D. ..................7 3{1Small2Dconstraintgraphthatisnottriangledecomposa ble. .......15 3{2Constraintsystem S i andunderlyingfeaturehierarchy P i ........18 3{3Featurehierarchyanddirectedacyclicgraph. ...............18 3{4Constraintsystemandconstraintgraphshowingmultipl eviews. .....19 3{5Partialdecompositionsfor3Dconstraintsystem(Figur e1{3). ......20 3{6TwoDR-plansof3Dexamplewithinputfeatures. .............20 3{7Triangle-decomposable2DcounterexampleofChurch-Ro sserproperty. .22 3{8Constraintgraph G withedgeweightdistribution. .............25 3{9FrontierAlgorithm'ssimplicationofgraphgivingDRplan(Figure1{5). 26 3{10ConsistencybetweentheDR-plansof2groupsofgraph(F igure3{6). ..30 3{11ChildClustersdonotoverlap(Case1). ...................33 3{12Inputgroupsoverlaponfrontiervertices(Case2). .............34 3{13Theoverlappedpartincludesnon-frontiervertices(C ase3). .......35 4{1Finding W rstwillpreventdofmisclassicationwith2Dand3Dexampl e. 47 4{2EnsuringClusterMinimality. ........................48 4{3Preventaccumulationofclusters ......................49 4{4Exampleswheremodule-rigiditybeatsdofrigidity. ............54 viii


4{5ClassicHingeexample:notmodule-rigid,butdofrigid ..........55 5{1Geometricangleconstraintsystemandtheanglegraph. .........57 5{2Thenewpoint p n +1 isatthecircleorattheradial ............59 5{3Twonewangles: 1 and 2 ..........................59 5{4Onenewangle 1 andoneoldangle 2 ...................60 5{5Twooldanglesdonotshareapairofpointscontaining p n +1 .......61 5{6Twooldanglesshareapairofpointscontaining p n +1 ...........61 5{7Genericallyindependentsystemthatisnotgraduallyco nstructible ....62 5{8Implicitanglecycleisnottheonlytypeofdependency. ..........62 6{1Standardgeometricconstraintsolverarchitecture. .............75 6{2Solutionsoftheclusterformedbythe3circles(Figure1 {1). .......79 6{3Completesolutionofrootcluster(Figure1{1)aftercho osingsubsolutions. 80 6{4Thestructureofthecluster. ........................80 6{5Navigatingbybottom-uptraversalofG79inDR-plan(Fig ure1{4). ...83 6{6Navigatingbybottom-uptraversalofG82inDR-plan(Fig ure1{4). ...83 6{7Completesolutionofconstraintsystem(Figure1{4). ...........84 7{1Thechildclustersof hex tet andtheweightedoverlapgraph. ......97 7{2Constraintgraphandweightedoverlapgraphofproblem pent plat ..104 7{3Fivespanningtreesofthecoveringsetsoftheexample(F igure7{2). ..104 7{4Uniquesolutiontoproblem hex tet ...................108 7{5Diagramaticviewofthefoursolutionstoproblem( ii ). ..........108 7{6Diagramaticviewofthetensolutionstoproblem( iii ). ..........109 7{7Threeoftheeightsolutionstothe pent plat problem( iv ). ......110 7{8Diagramaticviewof8solutionstothe pent plat problem( iv ). ....110 8{1Schematicrepresentationofa3Dgeometricconstraints ystem. ......114 8{2Overlapgraphandtheminimalspanningtreeoftheexampl e(Figure8{1). 116 8{3Choosingwell-formedincidencesforthesystem(Figure 8{1)isnontrivial. 118 ix


8{4Seamgraph(Figure8{2)anditsseamtree. ................119 8{5Wellformedsetofincidencesobtainedfromtheseamtree (Figure8{4). .119 8{6Seamgraph,seamtreesandseamcycle. ..................121 8{7Wellformedincidencesmaynotbeoptimized. ...............122 8{8Spanningtreeofitsweightedoverlapgraphandtheseamg raph. ....125 9{1Examplemonomerprimitivesandconstraints. ..............132 9{2ThesimulatedassemblyofaT=1viralshell. ................133 9{3Facenumbersandvertexnumbers. ......................135 9{4Thehighestpathwaytypeandthewidestpathwaytypein20 00trials. ..137 9{5Pathwaysof2largestisomorphismclassesin2000trials .........138 x


AbstractofDissertationPresentedtotheGraduateSchool oftheUniversityofFloridainPartialFulllmentofthe RequirementsfortheDegreeofDoctorofPhilosophy COMBINATORIALDECOMPOSITION,GENERICINDEPENDENCEAND ALGEBRAICCOMPLEXITYOFGEOMETRICCONSTRAINTSSYSTEMS: APPLICATIONSINBIOLOGYANDENGINEERING By YongZhou December2006 Chair:MeeraSitharamMajorDepartment:ComputerandInformationScienceandEng ineering Thisdissertationcontributesto7problemsingeometricco nstraintssolving andapplications.Westudytheproblemofenablinggeneral2 Dand3Dvariational constraintrepresentationtobeusedinconjunctionwithaf eaturehierarchy representation,wheresomeofthefeaturesmayuseprocedur alorothernon-constraint basedrepresentations.Wegiveacombinatorial approximate characterization ofsuchgraphswhichwecall module-rigidity ,whichcanbedeterminedbya polynomialtimealgorithm.Thenewmethodhasbeenimplemen tedinthe FRONTIERandhasmanyusefulpropertiesandpracticalappli cations.We proposeacombinatorialcharacterizationconjectureof2D rigidityofangle constraintsystem.Wegivetheformalstatementofgenerica llyindependence. Wearetryingtoproveituseinductiononthenumberofpoints .Threeof fourcaseshavebeenproved.Wealsostudythewell-document edproblemof systematicallynavigatingthepotentiallyexponentially manyrootsorrealizations ofwell-constrained,variationalgeometricconstraintsy stems.Wegiveascalable methodcalledtheESMorEquationandSolutionManagerthatc anbeusedboth xi


forautomaticsearchesandvisual,user-drivensearchesfo rdesiredrealizations. Wealsoshowthat,especiallyfor3Dgeometricconstraintsy stems,afurther optimizationofthealgebraiccomplexityofthesubsystems isbothpossible,and oftennecessarytosolvethewell-constrainedsystemssele ctedbytheDR-plan.We giveanecientalgorithmtooptimizethealgebraiccomplex ityofthewellformed systemthatisconstructedbythealgorithmgivenbySithara m.weimplementa randomizedalgorithmtocomputeonemeasureoftheprobabil ityofthepathways andprospecttoincorporateanotherprobabilitymeasure,t hatwillbeobtained combinatoriallybyextendingHendricksonsTheoremonrigi ditycircuitsandunique graphrealizationintothisalgorithm. xii


CHAPTER1 INTRODUCTION Geometricconstraintsystemshavebeenstudiedintheconte xtofvariational constraintsolvinginCADfornearly2decades[ 1 2 3 4 ]. A geometricconstraintsystem consistsofanitesetofprimitivegeometric objectssuchaspoints,lines,planes,conicsandsoonanda nitesetofgeometric constraintsbetweenthemsuchasdistance,angle,incidenc eandsoon.The constraintscanusuallybewrittenasalgebraicequationsa ndinequalitieswhose variablesarethecoordinatesoftheparticipatinggeometr icobjects.Forexample, adistanceconstraintof d betweentwopoints( x 1 ;y 1 )and( x 2 ;y 2 )in2Diswritten as( x 2 x 1 ) 2 +( y 2 y 1 ) 2 = d 2 : Inthiscasethedistance d isthe parameter associatedwiththeconstraint.Mostoftheconstraintsolv erssofardealwith 2Dconstraintsystems.Withtheexceptionofworkrelatedto theFRONTIER geometricconstraintsolver[ 1 5 6 7 8 9 10 11 12 13 14 15 ],tothebestofour knowledge,workonstand-alone3Dgeometricconstraintsol versisrelativelysparse [ 16 17 ]. A solutionorrealization ofageometricconstraintsystemisthe(setof)real zero(es)ofthecorrespondingalgebraicsystem.Inotherwo rds,thesolutionisa classofvalidinstantiationsof(theposition,orientatio nandanyotherparameters of)thegeometricelementssuchthatallconstraintsaresat ised.Here,itis understoodthatsuchasolutionisinaparticulargeometry, forexamplethe Euclideanplane,thesphere,orEuclidean3dimensionalspa ce.Aconstraint systemcanbeclassiedas overconstrained wellconstrained ,or underconstrained Well-constrainedsystemshaveanite,albeitpotentially verylargenumberof rigid solutions;thatis,solutionsthatcannotbeinnitesimall yrexedtogiveanother 1


2 nearbysolution:thesolutionspace(modulorigidbodytran sformationssuchas rotationsandtranslations)consistsofisolatedpointswh icharezero-dimensional. Underconstrainedsystemshaveinnitelymanysolutions;t heirsolutionspaceisnot zero-dimensional.Overconstrainedsystemsdonothaveaso lutionunlesstheyare consistentlyoverconstrained .Inthatcase,theycouldbeembeddedwithinoverall underconstrainedsystems.Systemsthatarenotunderconst rainedarecalled rigid systems. 1.1ConstraintGraphsandDegreesofFreedom DR-plans,formallydenedinthenextsection,providethef ormalbasis ofourfeaturehierarchyincorporationalgorithm.Geometr icconstraintgraph representationsofaconstraintsystemaretypicallyusedt odevelopDR-plans. Specicallythesegraphsareusedforcombinatorialanalys isofalgebraicproperties ofthesystem(suchaswellconstrainedness,rigidityandso on,),thathold generically ,thatis,forallgenericvaluesfortheconstraintparamete rs(forexample,for almostalldistancevalues,inthecaseofdistanceconstrai ntsystems). Ageometricconstraintgraph G =( V;E;w )correspondingtogeometric constraintsystemisaweightedgraphwithvertexset(repre sentinggeometric objects) V andedgeset(representingconstraints) E ; w ( v )istheweightofvertex v and w ( e )istheweightofedge e ,correspondingtothenumberofdegreesof freedomavailabletoanobjectrepresentedby v andnumberofdegreesoffreedom (dofs)removedbyaconstraintrepresentedby e respectively. Forexample,Figures 1{1 1{2 and 1{5 show2Dand3Dconstraintsystems andtheirrespectivedofconstraintgraphs.More3Dconstra intsystemswhose graphshaveverticesofweight3(points)andedgesofweight 1,3canbefoundin Figures 1{31{4


3 Figure1{1:One2Dconstraintsystemexample. Figure1{2:Simple3Dexampledrawnon2Dcanvaswithpointsa nditsDR-plan Figure1{3:One3Dexampledrawnon2Dcanvaswithsolution.


4 Figure1{4:Geometricconstraintsystemin3Dwith\bananas "type Notethattheconstraintgraphcouldbea hypergraph ,eachhyperedge involvinganynumberofvertices.Asubgraph A G thatsatises X e 2 A w ( e )+ D X v 2 A w ( v )(1) iscalled dense ,where D isadimension-dependentconstant,tobedescribedbelow. Function d ( A )= P e 2 A w ( e ) P v 2 A w ( v )iscalled density ofagraph A Theconstant D istypically d +1 2 where d isthedimension.Theconstant D capturesthedegreesoffreedomofarigidbodyin d dimensions.For2Dcontexts andEuclideangeometry,weexpect D =3andforspatialcontexts D =6,in general.Ifweexpecttherigidbodytobexedwithrespectto aglobalcoordinate system,then D =0.A trivial subgraphissinglevertex(in2D)andavertexor edge(in3D). Nextwegivepurelycombinatorialpropertiesrelatedtoden sitythatareused todetectgenericalgebraicproperties.Adense,nontrivia lgraphwithdensity strictlygreaterthan D iscalled dof-overconstrained .Agraphthatisdense


5 andallofwhosesubgraphs(includingitself)havedensitya tmost D iscalled dof-wellconstrained. Agraph G iscalled dof-well-overconstrained ifitsatisesthe following: G isdense, G hasatleastoneoverconstrainedsubgraph,andhasthe propertythatonreplacingalloverconstrainedsubgraphsb ydof-wellconstrained subgraphs(inanymanner), G remainsdense.Intuitively,thisdenitionisused topreventsomeoverconstrainedsubgraphswithhighdensit yfromskewing theclassicationoftheentiregraph.Inparticular,anext remeexamplecould beagraphthathas2subgraphsthatareseverelyoverconstra ined,butwith noconstraintsbetweenthem.Bythisdenition,suchagraph wouldnotbe well-overconstrainedandwouldbecorrectlyclassiedasu nderconstrained.Agraph thatiswellconstrainedorwell-overconstrainediscalled dof-cluster .Anontrivial densegraphis minimal ifithasnonontrvialdensepropersubgraph.Allminimal densesubgraphsaredof-clustersbuttheconverseisnotthe case.Agraphthatis notadof-clusterissaidtobe underconstrained .Ifadensegraphisnotminimal, itcouldinfactbeanunderconstrainedgraph:aspointedout ,thedensityofthe graphcouldbetheresultofembeddingasubgraphofdensityg reaterthan D Nextwediscusshowthegraphtheoreticproperties degreeoffreedom(dof) analysis relatetocorrespondingpropertiesofthecorrespondingco nstraint system In2dimensions,accordingtoLaman'stheorem[ 18 ],ifallgeometricobjects arepointsandallconstraintsaredistanceconstraintsbet weenthesepointsthen anyminimaldenseclusterrepresentsagenericallyrigidsy stem.Ingeneral, however,whilegenericallyrigidsystemalwaysgivesaclus ter,theconverseis notalwaysthecase.Infact,therearewellconstrained,den seclusterswhose correspondingsystemsarenotgenericallyrigidandareinf actgenericallynot rigidduetothepresenceofgeneric constraintdependences .Oneexample(Figure 1{4 )with3Dpointsanddistanceconstraintsillustratestheso -called\bananas" problem[ 19 ],whichgeneralizestotheso-called\hinge"problem[ 20 21 ].Todate,


6 thereisnoknown,tractable,combinatorialcharacterizat ionofgenericrigidity ofsystemsfor3orhigherdimensionsevenwhenonlypointsan ddistancesare involved[ 19 22 ],althoughseveralconjecturesexist.Therearenoknownge neral combinatorialcharacterizationsof2Drigidity,whenothe rconstraintsbesides distances(suchasangles)areinvolved.Forconstraintsys temswithangleand incidenceconstraintsbutnodistances,suchacharacteriz ationisgiven[ 23 ].For 3Dpointsanddistances,thenotionof module-rigidclusters [ 12 ](anextensionof dof-rigidclustersdenedabove)dealswithallaspectsoft hebananasandhinge problems,andsoon,itcorrectlycharacterizesgenericrig idityinallknowncases. Currently,nocounterexamplesareknown-ofmodule-rigidc onstraintgraphsthat arenotgenericallyrigid. 1.2FormalDenitionofDR-plansandEssentialProperties HereweformallydeneandgiveessentialpropertiesofDR-p lansand DR-planners.Thissectionisimportantsincewerequireour featureincorporation algorithmtopreservetheseproperties.PleaserefertoHo mannetal.and Lomonosov[ 6 24 ]foradetaileddiscussionoftheseproperties. Formally,a dof-DR-plan ofaconstraintgraph G isadirectedacyclicgraph (dag)whosenodesrepresentdof-clustersin G ,andedgesrepresentcontainment. Theleavesorsinksofthedagareallthevertices(primitive dof-clusters)of G .The rootsorsourcesareacompletesetofthemaximaldof-cluste rsof G .Forwellor well-overconstrainedgraphs,theDR-planshaveasingleso urce.Therecouldbe manyDR-plansfor G (Figures 1{5 1{1 1{2 1{3 1{4 ). 1.2.1Overconstraints First,eachdof-cluster C intheDR-planshouldbeaccompaniedbyatractable representationofacompletelistof reducible overconstraintsetsdirectlyassociated with C .Thatis,setsofconstraintsthatdonotlieentirelywithin anychildcluster of C andcanberemovedwithoutaectingthedof-rigidityof C .TheDR-planner


7 22 i 5 10 8 C0 3 11 9 64 2 12 1 20 15 13 17 19 18 21 e f g C7 C6 C4 C21 16 14 7 23 h C15 C19 C14 C20 C13C10 C17 C12 C21 C8 C11 C18 C16 C9 4 2 12 9 8 6 5 3 10 11 7 1 C4 C3 14 C1 C2 20 1615171819 C6 C5 2223 21 C0=S(D(G1)) C7 13 Figure1{5:ConstraintgraphG1andDR-planin2D. shouldadditionallyadmitanecientmethodofremovingove rconstraintsby makingtheappropriatechangestotheDR-plan.1.2.2Optimality The size ofaclusterinaDR-planisitsfan-inornumberofitschildre n (itrepresentsthesizeofthecorrespondingsubsystem,onc eitschildrenare solved).Sincethealgebraic-numericsolverstaketimeexp onentialinthesizeofthe subsystemstheysolve,andthenumberofsolutionsisalsoty picallyexponential, minimizingthesizeofaDR-planis essential totheESMmethodpresented here.An optimal DR-planisonethatminimizesthemaximumfan-in.The problemofndingtheoptimalDR-planofevena2Ddistanceco nstraintgraph isNP-hard[ 9 24 ],andapproximabilityresultsareshownonlyinspecialcas es. Nonapproximabilityresultsarenotknown. Onemeasureusedinlieuofabsoluteoptimalityisbasedonth efactthat mostDR-plannersmakeadhocchoicesduringcomputation(sa ytheorderin whichverticesareconsidered)andwecanaskhowwell(close tooptimal)the best computationpathofsuchaDR-plannerwouldperform(onthew orstcaseinput). Wecallthisthe best-choiceapproximationfactor oftheDR-planner. Amoresatisfactorymeasureofoptimalityisbasedonthefol lowingalternative property.A tractable DR-planforsystematicnavigationshouldensurethateach cluster C shouldbeaccompaniedbyaasmallsetofitschildren C i thatforman


8 optimalcoveringset ofmaximalclustersproperlycontainedin C .A coveringset of clustersisonewhoseunioncontainsallgeometricelements within C .Thesizeof C issimplythesizeofthisoptimalcoveringset.The optimality hererefersnottothe sizeofthecoveringset,buttoanysuitablecombinatorialm easureofthealgebraic complexityoftheactiveconstraintsystemforsolving C ,giventhesolutionsof thechildclustersinthecoveringset.Thisleadstothenoti onof completeness of DR-plans,givenbelow.1.2.3Completeness Anymethodthatchoosesanoptimalcoveringsetforacluster C requiresas inputageneralized completedecompositionof C intomaximalpropersubclusters, formallydenedasfollows.Thedecompositionofanycluste r C fallsintoone of2types.AType1cluster C hasexactly2childclusters,whichintersectona nontrivialsubgraph,andtheirunioncoversallthegeometr icelementsin C .A Type2cluster C hasasetofchildclusters C i withthefollowingproperty.The unionof C i 'scoversallthegeometricelementsin C ;anypairof C i 'sintersecton atmostatrivialsubgraph;andevery C i isa propermaximal subclusterof C ,that is,thereisnopropersubclusterof C thatstrictlycontains C i .Completenessis alsoneededfordetectingimplicitconstraintdependences andformoreaccurate, module-rigidDR-planners.1.2.4Complexity AnotherbasicpropertyofaDR-planisits width i.e, number ofclustersinthe DR-plantobesmall,preferablylinearinthesizeof G :thisrerectsthecomplexity oftheplanningprocessandaectsthecomplexityofthesolv ingprocessthatis basedontheDR-plan.Clearly,thispropertycompeteswithc ompleteness. OtherdesirablepropertiesofDR-plannersnotmentionedab oveinclude systematiccorrectionofunderconstrainedsystems,andam enabilitytoecient updatesofgeometricprimitivesorconstraints.


CHAPTER2 PROBLEMS 2.1GeometricConstraintsSystemWithinFeatureHierarchi es Oneapplicationofgeometricconstraintssystemismechani calcomputer aideddesign.However,abottleneckinusinggeometriccons traintssystemisthat designersuseanotherrepresentationbasedontheconceptu alhierarchyoffeatures inapartorassembly. InChapter 3 ,westudytheproblemofenablinggeneral2Dand3Dvariation al constraintrepresentationtobeusedinconjunctionwithth efeaturehierarchy representation,wheresomeofthefeaturesmayuseprocedur alorothernon-constraint basedrepresentations.Wetracethechallengetoarequirem entonconstraint decompositionalgorithmsordecomposition-recombinatio n(DR)plannersusedby mostvariationalconstraintsolvers,formalizethefeatur ehierarchyincorporation problemforDR-planners,clarifyitsrelationshiptoother problems,andprovidean ecientalgorithmicsolution.Thenewalgorithmshavebeen implementedinthe general,2Dand3DopensourcegeometricconstraintsolverF RONTIER. 2.2TractableCombinatorial3Drigiditycharacterization Onebigopenproblemisthequestionofrigidityof3Dconstra intsystems evenwhenonlydistancesareinvolved.Theproblemisthatmo stcombinatorial characterizationsofrigiditywillmisshiddendependenci esbetweenconstraintsand willbewronglyclassifymanyclassicalnonrigidsystemsas rigid. InChapter 4 ,wegiveapolynomialtimecharacterizationcalled module-rigidity thatisnotfooledbyanyknownsuchcounterexampleofnonrig idsystems.We showthatthispropertyisnaturalandrobustinaformalsens e.Rigidityimplies module-rigidity,andmodule-rigiditysignicantlyimpro vesuponthegeneralized 9


10 Lamandegree-of-freedomordensitycount.Specically,gr aphscontaining "bananas"or"hinges"[ 19 ]arenotmodule-rigid,whilethegeneralizedLaman countwouldclaimrigidity.Thealgorithmthatfollowsfrom ourcharacterizationof module-rigiditygivesacompletedecompositionofnonmodu le-rigidgraphsintoits maximalmodule-rigidsubgraphs. Toputtheresultinperspective,itshouldbenotedthat,pri ortotherecent algorithmof[ 9 ]therewasnoknownpolynomialtimealgorithmforobtaining all maximalsubgraphsofaninputconstraintgraphthatsatisfy thegeneralizedLaman count,specicallywhenoverconstraintsorredundantcons traintsarepresent. ThenewmethodhasbeenimplementedintheFRONTIER[ 10 11 15 ],[ 2 ] opensource3Dgeometricconstraintsolverandhasmanyusef ulpropertiesand practicalapplications[ 13 14 25 26 27 ].Specically,themethodisusedfor constructingaso-calleddecomposition-recombination(D R)planfor3Dgeometric constraintsystems,whichiscrucialtodefeattheexponent ialcomplexityofsolving the(sparse)polynomialsystemobtainedfromtheentiregeo metricconstraint system.TheDR-planguidesthealgebraic-numericsolverby ensuringthatonly smallsubsystemsareeversolved.Thenew,approximatechar acterizationof 3DrigiditypermitsFRONTIERtodealwithafarlargerclasso f3Dconstraint systems(aclassadequateformostapplications)thananyot hercurrentgeometric constraintsolver. 2.3A2DRigidityClassicationConjecture Laman'stheoremshowsonecombinatorialcharacterization of2Ddistance constraintsystem[ 18 ].Whenotherconstraintsareinvolved, forexample,angles thereisnocombinatorialcharacterization.InChapter 5 ,wegiveacombinatorial characterizationconjectureof2Drigidityofangleconstr aintsystem.First,wegive theformalstatementofgenericallyindependence.Weobser vethatforangiven angleconstraintsystem G in2 D with k dof,thereisatleastonepointinvolvedin


11 atmost7angles.Wedivideitinto4casesbasedonthereexist satleastonepoint with0,1,2ormoreanglesinvolved.Wearetryingtoproveitu seinductiononthe numberofpoints.Therstthreecaseshavebeenproved. 2.4SolutionSpaceNavigationforGeometricConstraintSys tems InChapter 6 ,westudythewell-documentedproblemofsystematically navigatingthepotentiallyexponentiallymanyrootsorrea lizationsofwell-constrained, variationalgeometricconstraintsystems.Wegiveascalab lemethodcalledthe ESMorEquationandSolutionManagerthatcanbeusedbothfor automatic searchesandvisual,user-drivensearchesfordesiredreal izations.Themethod incrementallyassemblesthedesiredsolutionoftheentire systemandavoids combinatorialexplosion,byoeringtheuseravisualwalkt hroughofthesolutions torecursivelyconstructedsubsystemsandbypermittingth eusertomakegradual, adaptivesolutionchoices. Weisolaterequirementsoncompanionmethodsthatpermit(a )incorporation ofmanyexistingapproachestosolutionspacesteeringorna vigationintothe ESM;and(b)integrationoftheESMintoastandardgeometric constraintsolver architecture.Weaddressthelatterchallengeandexplainh owtheintegrationis achieved.Andweclarifytheserequirementsessentialandd esirableforecient, meaningfulsolutionspacenavigation.Also,wesketchtheE SMimplementation aspartofanopensource,2Dand3Dgeometricconstraintsolv erFRONTIER developedbyourgroup. 2.5CombinatorialOptimizationofAlgebraicComplexity InChapter 7 weshowthat,Mostmajorgeometricconstraintsolversusea combinatorialorgraphalgorithmtogenerateadecompositi on-recombination (DR)plan.ADRplanrecursivelydecomposesthesystemofpol ynomialequations intosmall,genericallyrigidsubsystemsthataremorelike lytobesolvedby algebraic-numericsolvers.


12 Especiallyfor3Dgeometricconstraintsystems,afurthero ptimizationofthe algebraiccomplexityofthesesubsystemsisbothpossible, andoftennecessary tosolvethewell-constrainedsystemsselectedbytheDR-pl an.InChapter 7 ,to attackthisapparentlyundocumentedchallenge,weuseprin ciplesofrigidbody transformationandquaternionformsandwecombinatoriall yoptimizeafunction overtheminimumspanningtreesofagraphgeneratedfromDRplaninformation. Thisapproachfollowsaninterestingconnectionbetweenth ealgebraiccomplexity ofawell-constrainedsystemandthetopologyofitsmaximal well-constrained propersubsystems.Theoptimizationhastwosecondaryadva ntages:fornavigating thesolutionspaceoftheconstraintsystemandformappings olutionpathsinthe congurationspacesofthesubsystems. Wecomparethereductioninalgebraiccomplexityofthesubs ystemafter optimizationwiththatoftheunoptimizedsubsystemandill ustratethepractical benetwithnaturalexamplesthatcouldonlybesolvedafter optimization. 2.6OptimizationofWellformedSystemsofIncidences Fortractability,manymoderngeometricconstraintsolver srecursively decomposeaninputgeometricconstraintsystemintostanda rdcollectionsof smaller,genericallyrigidsubsystemsorclusters.Thesea rerecursivelysolvedand theirsolutionsorrealizationsarerecombinedtogivethes olutionorrealizationof theinputconstraintsystem. Therecombinationofastandardcollectionofsolvedcluste rstypicallyreduces topositioningandorientingtherigidrealizationsofthec lusterswithrespectto eachother,subjecttoincidenceconstraintsrepresenting primitive,sharedobjects betweentheclustersanddistanceconstraints. Thepaper[ 28 ]showsthatevenforgenericallywellconstrainedsystemsi n 3D,ndingawellconstrainedsystemofincidenceconstrain tsforrecombining itsclusterdecompositionisasignicanthurdlefacedbyge ometricconstraint


13 solvers.Ingeneral,wewouldlikeawellformedsystemofinc idencesthatpreserves theclassicationoftheoriginal,undecomposedsystemasa well,underor overconstrainedsystem.Theauthorformallystatesandgiv esanecient,greedy algorithmtondsuchawellformedsystem. 2.7EnumerationofPathwaysforMacromolecularStructures Weconsidertheproblemofexplicitlyenumeratingandcount ingtheassembly pathwaysbywhichanicosahedralviralshellformsfromiden ticalconstituent proteinmonomers.Thispoorlyunderstoodassemblyprocess isaremarkable exampleofsymmetricmacromolecularself-assemblyoccuri nginnatureand possessesmanyfeaturesthataredesirablewhileengineeri ngself-assemblyatthe nanoscale. SitharamandMckenna[ 25 29 ]givethenewmodelofthatemploysastatic geometricconstraintgraphtorepresentthedriving(weak) forcesthatcauseaviral shelltoassembleandholdittogether.Themodelwasdevelop edtoanswerfocused questionsaboutthestructuralpropertiesofthemostproba bletypesofsuccessful assemblypathways.Specically,themodelreducesthestud yofpathwaytypes andtheirprobabilitiestothestudyoftheorbitsoftheauto morphismgroupofthe underlyinggeometricconstraintgraph,actingonthesetof pathways.Theauthors givearandomizedalgorithmtocomputeonemeasureofthepro babilityofthese pathwaysbyfaithfullysamplingthem. InChapter 9 ,wegivetheimplementationofthealgorithmandproposeto incorporateanotherprobabilitymeasure,thatwillbeobta inedcombinatorially byextendingHendricksonsTheorem[ 30 ]onrigiditycircuitsanduniquegraph realizationintothisalgorithm.Thisinvolvesboththethe oryofgeometric constraintssystemandimplementationofthenewalgorithm


CHAPTER3 GEOMETRICSYSTEMWITHINFEATUREHIERARCHIES Designersnditintuitivetouseaspatialfeaturehierarch yrepresentation, whichincludes:aproceduralhistoryoranalmostlinearseq uenceofattachments, extrusions,sweeps;orCSGBooleanoperationssuchasinter sections;orparametric constraints,whileadditionallypermittingB-repandothe rrepresentationsofsome features.WeusetheFEMEXandotherstandarddenitionsoff eaturehierarchy, [ 31 32 ]andareconcernedprimarilywiththeconceptualdesignsta ge. Whiledesignersadditionallyappreciatetheexpressivene ssofvariational constraints,today'sCADsystemslargelyrestrictvariati onalconstraintrepresentations to2Dcrosssections.Thispersistsdespitethegeneralcons ensusthatadvocates ajudicioususeof3Dvariationalconstraintsfortheintuit iveexpressionand maintenanceofcertaincomplexandcyclicrelationshipsth atoftenoccurbetween features,partsorsubassemblies. Torectifythissituation,itwouldbedesirableifafeature hierarchycould simultaneouslyincorporate2Dand3Dvariationalconstrai nts.Inthischapter,we denotesuchrepresentationsas mixed representations(Figure 3{2 ). Previousworkonsuchmixedrepresentationscanbeclassie dintotwobroad types.Thersttype[ 33 34 ],dictatesauniedrepresentationlanguagewhichisan amalgamationofvariationalconstraintswithotherrepres entationlanguagessuchas CSGandBrep.Thesecondtype[ 35 ]wrestleswithaheterogeneousapproach,using manyservers,oneforeachrepresentationlanguage,sothat theappropriateonecan becalledwhenrequired.Bothapproaches,whilehighlygene ralinscope,havetheir drawbacks. 14


15 L A B C D E F G HI J K 5L S S S S S S S 1 2 S 3 4 5 6 S 7 S 8 S 9 S 10 13 16 S 14 S 15 S S 12 11 3L 3R 3M 4R 4L 4M 5R 6R 6M 5M 6L Figure3{1:Small2Dconstraintgraphthatisnottrianglede composable. Ourapproachinthischapterhasanarrowerfocus:howtofree lyenable avariationalconstraintsolvertodealwithfeatureintera ctionsatanylevelof afeaturehierarchy,permittingthefeaturestobeindepend entlymanipulated. Recursively,thesefeaturescouldthemselvesberepresent edusingotherrepresentations, orinasimilar,mixedmanner,usingconstraintstorelateth esub-features.This isanaturalrepresentation,sinceregardlessofthewayinw hichthefeaturesat anygivenlevelarerepresented,constraintsbetweenfeatu resatthatlevelcouldbe speciedbetweenprimitivegeometricobjectsor handles belongingtothefeatures (Figure 3{2 ). Onemainchallengetoachievingthistypeofrepresentation isthefollowing competingpairofrequirementsonvariationalconstraints olvers.Eectively representingtheinteractionofindependentfeatures,esp eciallyin3D,wouldrequire theuseoffairlygeneral,cyclicconstraintsystems,which areoften(consistently) overconstrained. Todealwithandresolvesuchconstraintsystemstheecient generationof aclose-to-optimal decompositionandrecombination(DR)plan (formallydened inSection 1.2 )of general 2Dor3Dconstraintgraphsisneeded.Thesemaynot beamenabletodecompositionintotriangularorotherxedp atternswhichmany DR-plannersuse(Figure 3{1 ).


16 DR-plansarewidelyusedingeometricconstraintsolvingan darecrucialin ordertodealwiththetractabilitybottleneckinconstrain tsolving:minimizing thesizeofsimultaneouspolynomialequationsystems,ther ebycontrollingthe dependenceonexponentialtimealgebraic-numericsolvers whicharepractically crippledwhendealingwithevenmoderatelysizedsystems.E ectiveDR-plans areusedalsofornavigatingthesolutionspaceoftheconstr aintsystem[ 13 ], optimizingthealgebraiccomplexityofsubsystemssenttoa nalgebraic-numeric solver[ 14 ],fordealingwithexplicitinconsistencies(overconstra inedsystems)[ 8 ], implicitorgeometricredundanciesandconstraintdepende nces[ 12 23 ],ambiguities (underconstrainedsystems)andforecientupdatesandonl inesolving[ 2 11 ]. Inorderforvariationalconstraintstobeusedinconjuncti onwithafeature hierarchyrepresentation,theDR-plansofgeometricconst raintsystemsshouldnow bemadetoincorporatean input,featuredecomposition representingtheunderlying feature,partorsubassemblyhierarchy.Thisisapartialor der,typicallyrepresented asaDirectedAcyclicGraphor dag (Figures 3{2 3{3 3{4 ). Again,thisincorporationofanarbitraryinput,conceptua ldesigndecomposition intotheDR-planisonlypossibleiftheDR-planningprocess issucientlygeneral. Inparticular,theincorporationshouldbeinsensitivetot heorderinwhich theelementsintheconstraintgraphareconsideredduringt heDR-planning process,theso-calledChurch-Rosserproperty.Howeverth ispropertywhile necessary,isnotsucientasexplainedinSection 1.2 .Homannetal.[ 6 ]rst formalizedtheconceptofaDR-planaswellasseveralperfor mancemeasuresof DR-plannerssomeofwhicharerelevanttothis.Itadditiona llygivesatableof comparisonswhichshowsthatmanyofthepreviousDR-planne rsforexample [ 3 36 36 37 38 39 40 41 42 43 44 45 ],(oranyobviousmodicationsofthem) wouldinherentlyfailtoincorporateeventree-likeinputd esigndecompositionsor


17 featurehierarchies.WeexplaininSection 3.1 whatthedicultyisinthecaseof DR-plannersthatdependondecompositionbasedonxedpatt erns. Incorporationofinputdecompositionsiscrucialalsoinor dertocapturedesign intent,orassemblyorderandallowindependentandlocalma nipulationoffeatures, parts,subassembliesorsubsystemswithintheirlocalcoor dinatesystems.Itis alsocrucialforfacilitatingsolutionspacenavigation[ 13 ]inamannerthatrerects aconceptualdesignintent.Inaddition,itiscrucialforpr ovidingtheuserwith afeaturerepertoire,theabilitytopasteintoasketchalre adyresolvedfeatures andconstraintsubsystemsthatarespeciedinanotherrepr esentationorallowing certainfeaturesoreasiersubsystemstobesolvedusingoth er,simpler,methods suchastriangle-baseddecompositionorparametricconstr aintsolving.Sometimes theuserwouldprefertospecifyapriorityattheverticesof thedagwhichdictates theorderofresolutionofthefeatures,parts,subassembli esorsubsystems.This occursalsowhenonefeaturescanonlybedenedorgenerated basedonanother, asinproceduralorhistorybasedrepresentations.Also,no tethatparametric constraintsolvingcaninfactbeachievedasaspecialcase, wheretheorderis acomplete,totalorder.Moregenerally,thiscanbeusedint heCADdatabase maintenanceofmultipleproductviews[ 46 47 ],forexamplethedesignviewanda downstreamapplicationclient'sviewmaybesomewhatdier entconstraintsystems andthetwofeaturehierarchiesmaynotevenberenementsof oneanother, butintertwined(Figure 3{4 ).Furthermore,eachviewcouldcontaindierent referencingshapeelementsthatarenotpartofthenetshape andtherefore,not partoftheotherviews.Thisisparticularlythecasewhenth esereferencingshape elementsareactuallygeneratedduringtheoperationsofah istory-basedprocedural representation.


18 b e constraints internal constraints external f f f f f f f0 1 2 3 4 5 7 8 10f f d f6f f f01f4 2f f6f3 12fCSG mixed preceduralBREP f51011ff Procedural History BasedParametric Constraints2D Variational Constraints and Sweeps g a12f f9f13c f11 Si 0 2 3 f f f 1 4568 13 fff f ff f 9 f 7a b10 fc11 fd ee12 ff gPi Figure3{2:Constraintsystem S i andunderlyingfeaturehierarchy P i Figure3{3:Featurehierarchyanddirectedacyclicgraph.


19 Y D E F X A B C ABC EF Y D Y X F X Y A BC DE 3 3 3 3 3 3 3 3 3 3 3 32 2 22 1 Figure3{4:Constraintsystemandconstraintgraphshowing multipleviews. 3.1FormalProblemStatement Wenowdescribethealgorithmicproblemof featureincorporation inaDR-plan asaninput-outputspecication. Input: A2Dor3Dgeometricconstraintsystem(Section 1.1 ), S .A partial featuredecomposition oftheconstraintsystemgivenasadirectedacyclicgraph (dag) P obtainedfromoneormorefeature,partorsubassemblyhiera rchies ordesignviews.Afeatureorsubassemblyisanodeof P withitsimmediate subfeaturesrepresentedasitschildren(Figures 3{5 3{3 3{6 ). DesiredOutput: ADR-planfortheinputconstraintsystemwhose nodesincludethosefeaturesintheinputpartialfeaturede compositionthat aredof-clusters.Forfeaturesthatarenotdof-clusters,a completesetofmaximal dof-clusterswithinthemshouldappearasnodesintheDR-pl an. OtheroutputRequirements: OncetheoutputDR-planhasbeenobtained, updatestotheinputfeaturehierarchyshouldbeachievede cientlywithouthaving toredotheentireDR-plan. ThedesirablepropertiesofDR-plansandDR-plannersgiven inSection 1.2 mustbepreservedbythefeatureincorporationalgorithman ditsoutput DR-plan.Someofthesepropertiesrequirestraightforward re-denitionforfeature


20 Figure3{5:Partialdecompositionsfor3Dconstraintsyste m(Figure 1{3 ). Figure3{6:TwoDR-plansof3Dexamplewithinputfeatures.


21 incorporatingDR-plans,sinceoftennoDR-planevenexists thatincorporatesa giveninputfeaturedecompositionandpreservestheseprop ertiesassuch.For example,itmaynotbepossibletopreserveoptimalitysince certainfeatures maysimplyrequireclusterswithlargefan-in;similarlyit maynotbepossible topreservecomplexityandsmallwidth,sincethenumberofg ivenfeaturesmay forcealargewidth.However,wewouldliketoensurethatour algorithmgenerate DR-plansthat preservethesepropertiesasmuchaspossible ,giventherestriction thattheseDR-plansareforcedtoincorporateagiveninputf eaturedecomposition. TheabilityofaDR-plannertoincorporateanyinputfeature decomposition intoaDR-planofaconstraintgraph G impliesthattheDR-plannercannd theclustersofthegraphinanyorderthatisconsistentwith containment.This iscalledthe ChurchRosser propertyoftheDR-planner[ 6 41 42 ].Aformal denitionisthefollowing. AssumethataDR-planner P constructsitsoutputDR-plan(adag)fora constraintgraph G bottomup,thatis,ifacluster C containscluster D ,andboth appearinthedagoutput,then D hasbeenfoundandinsertedintotheDR-plan before C .Exceptforthisrestriction,theDR-plannerisallowedto ndandinsert anyclusterof G intotheoutputdagatanystage.TheDR-planner P hasthe Church-RosserpropertyifanydagthatitoutputsisavalidD R-planfortheinput graph G TheChurchRosserpropertyisweakeranddoesnotimplythefe ature incorporationproperty,especiallywhentheDR-plannerin questiondoesnot performageneralizedanalysis,butworksonlyongraphstha thavearestricted typeofDR-plan. Forexample,consideraDR-plannerthatrequiresthegraph G tobe decomposableintoclustersthathaveaspecicstructureor topological\pattern" [ 41 42 ],andonlyndssuchclusters.TheDR-plannercouldhaveaCh urch-Rosser


22 h a b cd e f g h abcdefg Figure3{7:Triangle-decomposable2DcounterexampleofCh urch-Rosserproperty. propertyinthatitwouldsuccessfullyndaDR-planregardl essoftheorderin which such clustersarefoundandprocessed.However,bysimplypickin gafeature whichisaclusterthatin G thatdoesnothavethatpattern,theDR-plannerwould notbeabletoincorporatethatfeatureinitsDR-planandhen cewouldnotpossess thefeatureincorporationproperty.Notethatinthespeci ccaseofFuddosand Homann[ 41 42 ],itcanbeshownthatagraphiswell-constrainedand\trian gle decomposable"ifandonlyif all clustersinitaretriangle-decomposable(although thisproofdoesnotappearinthepapersofFudosandHomann[ 41 42 ]).Soin thiscasetheChurch-Rosserpropertyimpliesthefeaturein corporationproperty; howeverinthiscasebothpropertiesdonotholdforovercons trainedgraphs (Figure 3{7 );andaspointedoutabove,thepresenceofconsistentoverc onstraints maybecrucialinordertoeectivelymixfeature-basedandc onstraint-based representations. Finally,evenifaDR-plannerhastheChurch-Rosserpropert yandisinfact showntobeamenabletofeatureincorporation,theactualal gorithmicproblem stillremains:of eciently incorporatingagiveninputfeaturedecompositioninto aDR-planwhileminimallyalteringitsotherdesirableprop erties.Thisisthe problemthatweaddresshere.


23 3.2TheFrontierVertexAlgorithm(FA)DR-Planner HerewesketchtheessentialalgorithmicdetailsofthedofrigidFrontier vertex(FA)DR-plannerwhichareabsolutelynecessarytode scribeourfeature incorporationalgorithm.Thedof-rigidFADR-plannersati sestheproperties discussedintheSection 1.2 .ThebasicideaofthisDR-planneranditsperformance waspresentedbyHomannetal.[ 6 ];acompleteformaldescriptionalongwith analysisofcorrectnessand(cubic)complexityandproofof thecompleteness propertyaregivenbyLomonosovandSitharam[ 2 9 24 ].Apseudocodeis providedbySitharam[ 11 ]andthedocumentedcodecanbefoundonherCISE andGNUwebsites[ 15 ].Amethodofcombinatoriallyobtaininganoptimal,stable algebraicsystemforsolving C ,thatis,forobtainingoptimalcoveringsetsisgiven bySitharametal.andSitharamandZhou[ 14 48 ].Themethodforobtaining allpossiblesetsofreducibleconstraintsforoverconstra inedclustersofdof-rigid FrontiervertexDR-plans,bothfor2Dand3D,andmodifyingt heDR-planonce theyhavebeenremoved,ispresentedbyHomannetal.[ 8 ].Otherdesirable propertiessuchassystematiccorrectionofunderconstrai nts,andamenability toecientupdatesofgeometricprimitivesorconstraintsa regivenbySitharam [ 2 11 ]. The input istheconstraintgraph G andthe output isaDR-planofquadratic width,satisfyingthecompletenessproperty,withconstan tbest-choiceapproximation factor.Repeat pickaclusterCfromclusterqueueCQDistributecluster(C)inclustergraphCGifnewclusterC'isfound(containingC)then Complete(C'G) [recursiveprocedurebuildscompletesubDR-planfor clustergraphrestrictedtoC',thatis,inputconstraintgraphrestrictedtoC',startingfromthosesubclustersofC'thatarealreadypresentinDR-plan;


24 modifiesDR-plan,insertingC'andnewfoundsubclustersofC'intoit.] insertC'attheendofCQCombineCQ(iterativeprocedurethatmodifiesbothDR-plan andCQuntilnofurthercombiningispossible) updateCGby(frontiervertex)Simplify(clustersinCQ)removeCfromCQ UntilCQisemptyifDR-planhasmorethan1root,thenComplete(CG) Wedescribethemethods: DistributeCluster,Simplify,andCombine tothe extentnecessarytodescribeandanalyzeourfeatureincorp orationalgorithm. DistributeCluster inturnrelieson3methodsbasedonnetworkrowforlocating dof-rigidclusters: DistributeVertex,DistributeEdgeandPushOutside .Itisnot necessarytodescribeCompletesinceitisunaectedbythef eatureincorporation algorithm.Forthese,thereaderisreferedtoLomonosovand Sitharam[ 9 24 ]. Briery:andCompleterecursivelycallsitselfaswellasDis tributecluster,Combine andSimplifyandrequirescaresincecompletenesscompetes withthesmallwidth propertyofDR-plansasmentionedinSection 1.2 3.2.1DistributingEdges Thedensesubgraphisolationalgorithmisusedrepeatedlyt onddof-rigid clusters.ItwasrstgivenbyHomannetal.[ 1 5 ]asamodiedincremental networkmaximumrowalgorithm.Weassumestandardworkingk nowledgeof networkrow.Thekeyroutineisthe distribution ofanedgeintheconstraintgraph G .Foreachedge,wetryto distribute theweight w ( e )+ D +1tooneorbothof itsendpointsas row withoutexceedingtheirweights,referredtoas\distribut ing theedge e ."andcalledthe DistributeEdge routine.Thisisbestillustratedona correspondingbipartitegraph G :verticesinoneofitspartsrepresentedgesin G andverticesinthesecondpartrepresentverticesin G ;edgesin G represent incidencein G .AsillustratedbyFigure 3{8 ,wemayneedtoredistribute(ndan augmentingpath).


25 e g f a c b 3 4 3 3 3 2 3 21 3 f e c b a g t3 3 3 2 3 4 2 1 3 3 0 0 s 2 s t2 3 4 3 3 3 1 2 1 2 1 3 s t *3 3 3 2 3 4 0 Figure3{8:Constraintgraph G withedgeweightdistribution. Ifweareabletodistributealledges,thenthegraphisnotde nse.Ifnodense subgraphexists,thentherowbasedalgorithmwillterminat ein O ( n ( m + n ))steps andannouncethisfact.Ifthereisadensesubgraph,thenthe reisanedgewhose weightplus D +1cannotbedistributed(edgesaredistributedinsomeorde r,for examplebyconsideringverticesinsomeorderanddistribut ingalledgesconnecting anewvertextoalltheverticesconsideredsofar).Thesearc hfortheaugmenting pathwhiledistributingthisedgemarkstherequireddenseg raph.Ifthefound subgraphisnotoverconstrained,thenitisinfactminimal. Ifitisoverconstrained, Homannetal.[ 1 5 ]giveanecientalgorithmtondaminimalclusterinsideit 3.2.2SimplifyingClusters Wenowdescribethemethod Simplify .Thisfrontiervertexsimplication wasgivenbyHomannetal.[ 6 7 ].Thefoundcluster C interactswiththerest oftheconstraintgraphthroughits frontiervertices ;thatis,theverticesofthe clusterthatareadjacenttoverticesnotinthecluster.The verticesof C thatare notfrontier,calledthe internalvertices ,arecontractedintoasingle core vertex. Thiscoreisconnectedtoeachfrontiervertex v ofthesimpliedcluster T ( C )by anedgewhoseweightisthesumoftheweightsoftheoriginale dgesconnecting internalverticesto v .Here,theweightsofthefrontierverticesandoftheedges connectingthemremainunchanged.Theweightofthecorever texischosensothat thedensityofthesimpliedclusteris D ,where D isthegeometry-dependent constant.Thisisimportantforprovingmanypropertiesoft heFADR-plan: evenif C isoverconstrained, T ( C )'soverallweightisthatofawellconstrained graph,(unless C isrotationallysymmetric-inwhichcase,itlacksonedof).


26 i 2 2 5 10 8 3 11 9 64 2 12 1 20 15 13 17 19 18 21 22 C4 3 7 23 h g f e 15 19 3 3 13 h 5 10 8 3 11 9 64 2 12 1 20 2 6 7 g f e g 13 3 1 10 15 19 20 ef 2 4 3 4 C7 4 h 1 3 C21 6 9 12 3 4 7 19 6 2 2 h C7 2 3 3 13 g f e 20 1 2 3 8 9 11 10 12 15 Figure3{9:FrontierAlgorithm'ssimplicationofgraphgi vingDR-plan(Figure 1{5 ). Technically, T ( C )maynotbewellconstrainedintheprecisesense:itmaycont ain anoverconstrainedsubgraphconsistingonlyoffrontierve rticesandedges,butits overalldofcountisthatofawellconstrainedgraph. Figure 3{9 illustratesthisiterativesimplicationprocessendingi nthenal DR-plan(Figure 1{5 ). Therowsontheinternaledgesandthecorevertexareinherit edfromtheold rowsontheinternaledgesandinternalvertices.Theundist ributedweightsonthe internaledgessimplydisappear.Theundistributedweight sonthefrontieredges aredistributed(withinthecluster)asmuchaspossible.Ho wever,undistributed weightsonthefrontieredges(edgesbetweenfrontierverti ces)maystillremainif thefrontierportionoftheclusterisseverelyoverconstra ined. 3.2.3Datastructures Fourdatastructuresaremaintained.The cluster datastructureforacluster C containsdataonthesimplicationofthecluster(frontier vertices,edgesand soon.),theoriginalgraphverticesandedgescorrespondin gto C ,andpointersto therootsofthecurrentsubDR-planrootedat C (mayormaynotbecomplete sub-DR-plandependingonthestageofthealgorithm).The DR-plan datastructure


27 justcontainspointerstotheclustersthatarecurrentlyth etop-levelclusters intheDR-plan.The roworclustergraph CG containsthecurrentsimplied graphwherethefoundclustershavebeensimpliedusingthe frontiervertex simplication.Italsocontainsallthecurrentrowinforma tionontheedges.a clusterqueue CQ whichisthetop-levelclustersoftheDR-planthathavenotb een consideredsofar,intheorderthattheywerefound. Westartwiththeoriginalgraphwhichservesastheclustero rrowgraph initially,wheretheclustersaresingletonvertices,TheD R-planconsistsofthe leaforsinknodeswhichareallthevertices.Theclusterque ueconsistsofallthe verticesinanarbitraryorder.3.2.4DistributingVerticesandClusters Themethod DistributeVertex distributesalledges(callsDistributeEdge) connectingthecurrentvertextoalltheverticesconsidere dsofar.Whenoneofthe edgescannotbedistributedaminimaldensecluster C isisolated,asdescribedin Section 3.2.1 Nowwedescribethemethod DistributeCluster .Assumealltheverticesin theclusterqueuehavebeendistributed(eithertheywerein cludedinahigher levelclusterintheDR-plan,ortheyfailedtocausetheform ationofacluster andcontinuetobeatoplevelnodeoftheDR-plan,buthavedis appearedfrom theclusterqueue).AssumefurtherthattheDR-planisnoten tire,thatis,itstop levelclustersarenotmaximal.Thenextlevelofclustersar efoundbydistributing the(completed)clusterscurrentlyintheclusterqueue.Th isisdonebyllingup the\holes"ortheavailabledegreesoffreedomofacluster C beingdistributed by D unitsofrow.Thenthe PushOutSide methodsuccessivelyconsiderseach edgeincidentontheclusterwith1endpointoutsidetheclus ter.Itdistributesany undistributedweightontheseedges+1extraweightunitone achoftheseedges. ItisshownbyLomonosovandSitharam[ 9 24 ]thatif C iscontainedinsidea


28 largercluster,thenatleastonesuchclusterwillbefoundb ythismethodonceall theclusterscurrentlyintheclusterqueuehavebeendistri buted. 3.2.5CombiningClusters Next,weemphasizethepartsofthealgorithmthatensureacr ucialproperty oftheoutputDR-planthatthefeatureincorporationalgori thmmustdealwith, namelysmallwidth,whilemaintainingcompletedecomposit ionofclusters(two types)denedinSection 1.2 .TheFADR-plannercontrolsthewidthofthe FADR-plantoensureFAachievesaquadraticboundonDR-plan widthby maintainingthefollowinginvariantoftheclusterqueue wheneverDistributeCluster iscalled,everypairofclustersintheclusterqueueandclu stergraphintersect onatmostatrivialsubgraph(thatis,asubgraphwhichonres olvingincidence constraintseitherrepresentstoasinglepointin2Doravar iableorxedlength linesegmentin3D). FAdoesthisbyrepeatedlyperformingthe Combine operation eachtimeanewclusterisisolated. Theoperationistoiteratively combine N [ D 1 withanyclusters D 2 ;D 3 ;::: basedonanontrivialoverlap.Inthiscase, N [ D 1 [ D 2 N [ D 1 [ D 2 [ D 3 andsoonentertheDR-planasastaircase,orchain,butonlyt hesinglecluster N [ D 1 [ D 2 [ D 3 [ ::::: enterstheclustergraphandclusterqueueafterremoving D 1 D 2 D 3 ::: 3.3IncorporatinganInputFeatureDecompositionintoFADR -plan Wedevelopanewalgorithmthatsolvesthealgorithmicprobl emofSection 3.1 .Thatis,itpermitstheFADR-planner(sketchedinSection 3.2 [ 9 24 ])to incorporateintoitsoutputDR-plananinputfeaturedecomp ositionorconceptual, designdecomposition.3.3.1MoreDetailedRequirementsontheMethod Arecursivemethodcalled DistributeGroup drivesthenewFADR-plannerItis calledontherootnodeoftheinputfeaturedecomposition,w hich,byconvention,


29 representstheentiregraph.Let G 1 ;G 2 ;::;G m bethechildrenofsomeparent feature G intheinputdecomposition. NowthattheFADR-planner'sstructurehasbeendescribed,w ecangivea moredetailedsetofrequirementsonthefeatureincorporat ionalgorithmbasedon theformalproblemrequirementsofSection 3.1 Firstofall,weneedtoensurethateachfeature G i itselfappearsinthe outputDR-planprovideditisavalidcluster.Ifitisnotacl uster,thenacomplete maximaldecompositionofitisobtained.Thisimpliesthata separateDR-planfor each G i needstobeobtainedandalloftheseDR-plansshouldappearw ithinthe DR-planfor G Secondly,whilewecannotmaintainthesamewidth W asanFADR-plan thatisnotrequiredtoincorporateanyfeatures(forthesam econstraintgraph), wewouldliketohaveawidthsignicantlysmallerthan O ( WF ),where F is thenumberoffeaturesintheinputfeaturehierarchy.Inste adofspecifyingthe desiredcomplexity,wesimplyrequirethe\bestpossible." thatis,werequirethat consistencybetweentheDR-plansofthedierent G i 'sneedstobeestablished,in casetheyhavesharedobjects.Inparticular,inthe3Dconst raintsystem(Figure 3{10 ),assume G 1 'sDR-planhasbeenobtainedandhasanintermediatecluster bcd WhentheDR-planfor G 2 isobtained,thesameclustershouldappear. Thirdly,foreciency,wewouldlikethenewDR-planner-whi leworkingon some G i -touseasmuchoftherow,clusterandDR-planinformationth atit alreadyobtainedwhileworkingonsomeearlier G k ,sothattheentirecomplexityis proportionaltothewidthornumberofclustersinthenalDR -plan. Thusthekeyissuesare:howaretheroworclustergraph(Sect ion 3.2 )and theoutputDR-planecientlymaintainedandmodiedaseach G i isworkedon,so thattheaboverequirementsaresatised.


30 Figure3{10:ConsistencybetweentheDR-plansof2groupsof graph(Figure 3{6 ). Finally,notethatsincetheinputdecompositionmaybea dag ,andnota tree,somechildrenmayhavemorethanone\parent."However DistributeGroup mustbeperformedonlyonceonanygivengroup G ;Whenanotherparentof G calls DistributeGroup( G ) atalaterpointintime,thestoredresultsfortherowor clustergraphandDR-planfor G shouldbereturned. 3.3.2DistributingGroupsorFeatures Wediscuss3distinctcasesthatneedtobedealtwithdieren tlyatthecrucial stepsofthealgorithm.Case1:thechildrenof G aremutuallypairwisedisjoint,i.e,donotoverlapeach otherCase2: G i 'soverlapwith G k (1 k i 1) consistsentirelyoffrontierverticesof thetoplevelclustersinthemergedDR-planofthe G k 's. Case3:foratleastoneofthe G 0k s (1 k i 1) G i 'soverlapwith G k includes vertices(oftheoriginalgraph)thatmaptothecoreofoneof theclustersof G k Themethod DistributeGroup ( G ).consistsof4steps.First,foreachchild group G i of G ,itperformsthefollowing3steps. Forclarityofexposition,weprefertonotgiveapseudocode for DistributeGroup ( G ), butratherexplainsuccessivelyeachofthe4stepsforallth reeofthecases.When werefertothe\old"DR-planner,wemeanthepseudocodeofSe ction 3.2 ;and the\new"referstotheoldFADR-planneraugmentedbythe DistributeGroup


31 driver.AdetailedpseudocodeoftheentireFADR-plannerin cludingthefeature incorporationalgorithmareprovidedbySitharam[ 11 ]. TheoldFADR-plannerofSection 3.2 iscalledon G i andstartsanew DR-planfor G i (whichwilleventuallygetmergedwiththeDR-plansoftheot her childrenof G afterStep3below).ThenthenewDR-plannerusesdierentop tions fortheroworclustergraphsforthethreecases.Case1 :Usethecurrentroworclustergraphbyfreezingalltheedge sandvertices outsideof G i ; Case2 :Usethecurrentroworclustergraph,modifytherowoncaref ully selectededgesandverticesoutsideof G i mark ingthemandfreezingthem;that isforeachedge e withoneendpointin G i andanotherendpointoutside G i ,if thereisanyrow f onthisedgetowards G i ,thenremoveitandinsteadadd f totheundistributedrowcapacityonthisedge e .Markthisedge e ashaving undistributedrow.Case3 :Createanewlocalcopyofarowgraphfor G i alone(whichwilleventually beusedtoupdatethecurrentrowgraphinStep3below). TheDR-plannercontinueswitharecursivecallto DistributeGroup( G i ) during whichitensuresthat DistributeEdge isrunontheundistributedrowonallmarked edgeswithin G i .Anedge e isun mark edonlyifdistributionissuccessfulonall undistributedunitson e TheDR-plannermergestheDR-Planof G i withtheDR-Plansof G 1 through G i 1 .Thisincludesmergingcopiesofclustersthatcouldhavebe enindependently foundbytheDistributeGroupmethodon2dierentgroups.It additionally includesputtingclusterstogethertoformlargerclusters ,basedonamountof overlap;augmentingcurrentrowgraph(mergedrowgraphsso far)usingthelocal roworclustergraphfor G i .Thislatterpartincludesnotonlycombiningclusters butalsomodifyingrows.


32 Morespecically,thefollowingmergingoperationsareper formed. First,ifaclusterintheDR-plansfor G 1 ;G 2 ;:::;G i 1 appearsagaininthe DR-planfor G i ,thetwocopiesarelinkedtopreventreplicationofeortdu ring thesolvingstage.Whilethedistinctgroupsoftheinputdec ompositionthatare presentinthesub-DR-planofeachclustercopywillhavetob esolved,thecluster itselfandanyclusterinitssub-DR-planthatisnotasubset ofagroupintheinput decomposition,willonlyhavetobesolvedonce.Notethatme rgingthecluster copies(bytakingtheunionoftheirparentsandunionofthei rchildren)willviolate theso-calledclusterminimalitypropertyofagoodDR-plan (mentionedinSection 3.1 ),sinceapropersubsetofthechildrenwouldalreadyformth ecluster. Next,theDR-plannerlooksatthetoplevelclustersoftheme rgedDR-plan for G 1 ;G 2 ;:::;G i 1 andthetoplevelclustersoftheDR-planfor G i .Ifanypairof thesesay C and D intersectnontrivially,onmorethan2pointsin2Dand3poin ts in3D,thencreateaparentcluster C [ D of C and D ,intheDR-plan;(thisisthe sameasthe Combine operationonclustersperformedbythebasicFA-Section 3.2 ),andmakingthecorrespondingsimplicationintheroworc lustergraph, describedbelow.Cases1and2 :Becausethelocalrowgraphisinheritedfromtherowgraphf or G noadditionalmodicationisneeded;Case3 :removesallrowfromthenon-clusteredgesthatareintheov erlappedpart between G i andthatpartof G thathasbeencompletedsofari.e: G 1 ;:::;G i 1 and mark stheirentireweightasundistributed.Theseedgeswillber edistributedwhen theclustersthatcontainthemaredistributed. OncetheDR-plansofallthe G i 'shavebeencombined,theDR-planner proceedsasdescribedinSection 3.2 ontheresultingroworclustergraphof G performing DistributeCluster ontheclustersinthem,potentiallyisolatingand


33 G2 1 1 1 a b c d e f g h G1 G2 1 1 1 e h G IV 1 1 1 I II III G1 a b c d e f g h G1 G2 1 1 1 a b c d e f g h a bc G1 dg f G2 a bc G1 dg f G2 a bc G1 dg f G2 Figure3{11:ChildClustersdonotoverlap(Case1). simplifyingnewclustersthatcontainthe G i 's,modifyingtheclusterqueueandthe DR-plan,untiltheDR-planfor G iscompleted. Wenowdescribehowtheabovealgorithmworkson3examplesth atrepresent the3cases.Forthe3Dexampleofpointsanddistanceconstra intsin Case1 Part Ishows(Figure 3{11 )therowgraphandtheclusterqueue(Section 3.2 )after theDR-planfor G 1 hasbeenconstructed.WhentheoldDR-plannerstartsto distribute G 2 ,itcreatesanewclusterqueuefor G 2 andinheritstherowgraphin Step1.AftertheoldDR-plannerinnishedwith G 2 ,inStep2,theDR-planof G 2 andtheroworclustergraphareshowninPartII.ThenthenewD R-plannertries tocombinetheminStep3andtheresultsareshowninPartIIIo fthegure.The nalDR-planof G whichisobtainedafterStep4isshowninPartIV. Forthe3Dexampleofpointsanddistanceconstraintsin Case2 (Figure 3{12 ),PartIshowstherowgraphandclusterqueueaftertheDR-pl anfor G 1 has beencompleted.WhentheDR-plannerstartstodistribute G 2 ,itcreatesanew clusterqueuefor G 2 andinheritstherowgraphinStep1.Italsoremovestherows ontheedge ce and cg and mark sthem.AftertheoldDR-plannerisnishedwith G 2 inStep2,theDR-planof G 2 andtherowgraphareshowninPartII.Since G 1


34 a IV G G3 b a G1 c G2 h f g d e b G2 h f g d e G2 G1 G3 h g f e d c G2 e G1 G2 G1 G3 h g f e d c b a d h III II I G1 G3 g f e d c b a c g G1 c G2 h f g d e Figure3{12:Inputgroupsoverlaponfrontiervertices(Cas e2). and G 2 overlapon3points,thenewDR-plannercombinestheminStep 3andthe resultsareshowninPartIII.ThenalDR-planof G whichisobtainedafterStep4 isshowninPartIV. Forthe3Dexampleofpointsanddistanceconstraintsin Case3 PartIshows (Figure 3{13 )therowgraphandclusterqueueaftertheDR-planfor G 1 hasbeen constructed.WhentheoldDR-plannerstartstodistribute G 2 ,itcreatesanew clusterqueuefor G 2 andtherowgraphinStep1.AftertheoldDR-planneris nishedwith G 2 inStep2,theDR-planof G 2 andtherowgraphareshownin PartII.Since G 1 and G 2 overlapon4points,theDR-plannercombinesthemin Step3andtheresultsareshowninPartIII.ThenalDR-plano f G whichis obtainedafterStep4isshowninPartIV.3.3.3ProofofCorrectnessandComplexity Weshowhowthe3requirementsofSection 3.3.1 aremet. FromSteps1and2,weknowthatforeachdecomposition G i ,thealgorithm createsanewDR-plan.Thisensures,bythepropertiesofthe oldFADR-planner giveninSection 3.2 ,thateachfeature G i appearsintheoutputDR-planprovided


35 b c G1a G2 f g e d e d c b a f G2 f g e d c b G3 G2 G1 h g g f e d c b a h IV III II I h G3 G G1a G2 f g e d c b G3 G2 G1 c b a G3 G2 G1 h g f e d c b a d G1 e G1 e d c b a G3 G2 G1 h g f e d c b a Figure3{13:Theoverlappedpartincludesnon-frontierver tices(Case3). itisavalidcluster,andotherwiseacompletedecompositio nintomaximalclusters isobtained.InStep3,theDR-plannerchecksthepairofthet oplevelclusters ofDR-planfor G i andthoseofthecombinedDR-planfor G 1 ;G 2 ;:::;G i 1 and combinethemifpossible.Becausethisprocessisexecutedf oreach G i afterits DR-planisestablished,thealgorithmcombinestheDR-plan sforallthe G i 'sto givetheDR-planfor G .ThusRequirement1ismet. InStep3,thenewalgorithmlinkstwocopiesofthesameclust erindierent G i 's.Thus,thereisonlyonecopyofthisclusterintheDR-plan of G .So,the consistencybetweentheDR-plansisensured,satisfyingRe quirement2. Finally,therowinformationinthe3casesiseitherusedass uch,copiedand restored,orischalkedupasundistributedunitswhichwill bere-distributedin Step2bytheoldDR-planner.Thisguaranteesthatrowinform ationremains accuratethroughout,givencorrectnessofoldDR-planner. Also,noticethat foranygivenedge,thenumberoftimesitisre-distributedi snomorethanthe numberofgroupsorfeaturesinthefeaturehierarchythatsh arethatedge.This ensuresthatanyadditionaltimespent(beyondthatoftheor iginalDR-planner)


36 isproportionaltothenumberoffeaturesintheinputfeatur ehierarchy;thereby ensuringRequirement3.3.3.4PreservingPropertiesoftheOldFADR-planner IncorporationoffeaturesintotheDR-planleavesentirely unchangedmany desirablepropertiesofthetheoutputDR-planmentionedin Section 1.2 ,simply becausetheoldDR-planneriscalledbythe DistributeGroups driverateachstage toactuallyconstructtheDR-plan.Theseincludepropertie ssuchasdetectionand characterizationofoverandunderconstrainedness[ 6 8 ],completeness[ 9 24 ], systematiccorrectionofunderconstrainednessbygivings o-called completion constraints amenabilitytoecientupdates(additionordeletionormod ication)of geometricprimitivesorconstraints[ 2 11 ],ornavigationofthesolutionspace[ 13 ]. Next,webrierydiscusssomedesirablepropertiesoftheFAD R-planthatare aectedbythefeatureincorporationalgorithmaswellaspr opertiesthatareonly relevantinthepresenceoffeatures. Let n isthenumberofverticesoftheinputconstraintgraphand k isthe numberoffeaturesintheinputfeaturedecomposition.Usin gtheargument givenintheproofofcorrectnessandcomplexity,andthecom plexityoftheold DR-planner,thefollowinghold.Ifallthefeaturesareeith erdisjointorcontain oneanother(Case1).newalgorithm'stimecomplexityis O ( n 3 ),width O ( n 2 )(the complexityoftheoldDR-planner).Ifthefeaturesintersec tontrivialsubgraphs orcontainoneanother(Case2),thecomplexityis O ( n 3 + k ),width O ( n 2 + k ). Finallyifthefeaturescouldintersectonnontrivialsubgr aphs,thebestbound oncomplexityis O ( n 3 k ),width O ( n 2 k )(weomitaner,butsignicantlymore cumbersomecomplexityexpressionintermsofsizesofthein tersectionsandsoon.) Thesearethebestcomplexitiesonecanexpect.Therstfact oristhecomplexity oftheunderlyingoldFADR-plannerandintypicalcases,the secondfactoris insignicant.


37 Concerningoptimality,theFADR-planner'sbestchoiceapp roximationfactor isunaectedbythenewaugmentation.Theproofisthesameas fortheold DR-planner[ 6 ]. AmongallDR-plansthatincorporatethegiveninputfeature decomposition ,theFADR-planneraugmentedbythefeatureincorporation algorithmcanndonewhosemaximumfan-inclusterhasafaninthatisatmosta constantfactorlargerthantheoptimum. Also,asmentionedearlier,thefeatureincorporationdoes notaecthe completenessproperty,sothealgorithms[ 14 48 ]canstillbeusedtondan optimalcoveringset. AnotherpropertyofFADR-plansthatissuperciallyaecte dbythepresence offeaturesisthesystematiccorrectionofoverconstraint s,thatis,themethod presented[ 8 ].Clearlyfeatureincorporationdoesnotaecttheability todetect overconstraintsandisolateofacompletesetofoverconstr aintsthatcanbe removedwithoutmakingthe entire graphunderconstrained.However,correction ofoverconstraintstypicallyresultsinremovingsomeclus tersintheDR-plan,since theybecomeunderconstrained,althoughtheentiregraphre mainswell-constrained. Inthepresenceoffeatures,itisreasonabletorequirethat no featurethatwas previouslyaclusterismadeunderconstrainedbythecorrec tion,thatis,theset ofso-called reducible overconstraintsissmaller.However,theoverconstraint correctionmethod[ 8 ]explicitlyprovidesalistofreducibleoverconstraints directly associated witheachclusterintheDR-plan.Hence,therequiredmodic ationis straightforward:thenewsetofreducibleoverconstraints thatpreservefeaturesis theunionofallthereduciblesetsofoverconstraintsdirec tlyassociatedwitheach clusterfeatureintheDR-plan,togetherwiththeunionofal lthereduciblesetsof overconstraintsforclustersthatarenotdescendantsofan yclusterfeatureinthe DR-plan.


38 Finally,apropertylistedundertheoutputrequirementsof thefeature incorporationprobleminSection 3.1 istheabilitytoupdatetheinputfeature decompositionandcorrespondinglyecientlyupdatetheDR -plan. Removalofafeatureisstraightforward.Ifthefeatureisac lusteritsimply entailstheremovalofthecorrespondingnode C fromtheDR-plan,andallof itsdescendantsthatareinessentialchildrenoftheirothe rparentswhoarenot descendantsof C (Section 3.2 ).Ifthefeatureisnotacluster,thenallofits maximalproperclustersarepresentasnodesintheDR-plana ndthesearetreated like C above.TheDR-plannerdoesnotneedtobeinvolvedinthissim pleeditof theDR-plan. Additionofafeatureismoreinvolved.Therearetwocases.I nthecasewhere thefeatureisnotcontainedwithinanexistingclusterofth eDR-plan(itcould becontainedinthesinglerootifthegraphiswellconstrain ed),thentheaddition ofthefeatureisstraightforwardsinceitwillentertheupp ermostlevelofthe DR-plan.ItissimplytreatedbytheDistributegroupsmetho dasthoughitisa (last)childoftherootoftheinputfeaturedecomposition. Ifthefeaturecontains newgeometricelementsandconstraints,theseareprocesse dusingtheupdate methodforFADR-plans,givenbySitharam[ 2 11 ].Incasethenewfeature F iscontainedwithinoneormoreoftheexistingclusters C i intheDR-plan,itis rstassumedtobeaclusterandinsertedintheDR-planasach ildofthe C i andasaparentofallthemaximalclusters D i thatarecontainedin F andare presentinthesub-DR-planrootedatanyofthe C i 's.Since F liesinsideanalready processedcluster,norowinformationisavailable.Aclust erorrowgraphof F is createdbyusingthefrontiervertexsimplicationsofthes emaximalclusters.These frontierverticesareconnectedusingedgesfromtheorigin algraph.Aclusterqueue withtheseclustersiscreatedandtheseclustersaretreate dasthetoplevelofthe DR-planfor F constructedsofar.thatis,Steps3and4ofthe DistributeGroup


39 methodon F areexecuted,takingthesub-DR-planrootedat F astheinput featuredecompositionandassumingthat DistributeGroup hasalreadybeencalled onthechildrenof F inthisfeaturedecomposition.DuringStep4,sincenoneof theedgesintheroworclustergraphconstructedfor F havebeendistributed, Pushoutside andothermethodscannotassumethattheedgesinthecluster graph for F havebeendistributed, DistributeEdge isrunagainontheseedges. Adetailedpseudocodethatincludesthenewfeatureincorpo rationalgorithm isprovidedbySitharam[ 11 ].Documentedopensourcecodecanbedownloaded fromSitharam'swebsite[ 15 ](usepost-December-2003versionsfor3D)Touse thefeatureincorporationoptionafteropeningthemainske tcherwindow,and afterpullingup(ordrawing)asketch:press'ctrl'keyandl eftclicktheobjects whichshouldbeinthesamefeature.Youwillseethecolorofa llselectedobjectsis changed.Tip:youcanuseleftmousebuttontodrawarectangl etoselectobjects quickly,thenuse'ctrl'+leftclicktomodifyselectedset( 'ctrl'+leftclickon aselectedobjectwouldunselectit.)Click'Design'menu,t henclick'Makenew tree'tocreateeachfeaturehierarchy(independentfeatur ehierarchiesforthesame constraintgraphprovidedbydierent\users"ormultiplev iews,arecombinedto formasinglecompositefeaturehierarchy,internally).Th enclick'Makenewgroup' tocreatethefeature.Foreachfeatures,youcouldsimplyse lecttheprimitive objectsinthemandclick'Makenewgroup'.Youcancheckthef eaturesbyclicking the'group'tabinright-bottomofthewindow. Note. Recallthatthedof-rigidFADRplanner(Section 1.2 )considered heredoesnotdealwithimplicitconstraintdependences.Ho wever,themore general,module-rigidFADR-planner[ 12 ]dealswithallknowntypesofconstraint dependencessuchasbananasandhinges.Whileincorporatio nofafeature hierarchyintothethemodule-rigidFADR-planner[ 12 ]hasbeenimplemented inFRONTIER[ 10 15 ],itsdescriptionandanalysisarebeyondourcurrentscope


40 Wewouldliketonotethatthedetectionofmodule-rigidityc ruciallyreliesonthe completenessoftheunderlyingdof-rigidDR-planner,whic hisunchangedbythe featureincorporationalgorithm.Moresignicantly,then otionofamodule-rigid clusterincludesso-called dependent clustersthatarenotself-contained,butthey needtoberesolvedafterothers,imposinga solvingpriority order.DR-planners thatcandealwithsuchclustershaveanedgeinincorporatin gthosefeatures-as inproceduralhistorybasedrepresentations-whoseveryde nitionisbasedon previouslydenedfeatures.


CHAPTER4 COMBINATORIAL3DRIGIDITYCHARACTERIZATION Onebigopenproblemisthequestionofrigidityof3Dconstra intsystems evenwhenonlydistancesareinvolved.Theproblemisthatmo stcombinatorial characterizationsofrigiditywillmisshiddendependenci esbetweenconstraintsand willbewronglyclassifymanyclassicalnonrigidsystemsas rigid. Inthischapter,wegiveapolynomialtimecharacterization called modulerigidity thatisnotfooledbyanyknownsuchcounterexampleofnonrig id systems.Weshowthatthispropertyisnaturalandrobustina formalsense. Rigidityimpliesmodule-rigidity,andmodule-rigiditysi gnicantlyimproves uponthegeneralizedLamandegree-of-freedomordensityco unt.Specically, graphscontaining"bananas"or"hinges"[ 19 ]arenotmodule-rigid,whilethe generalizedLamancountwouldclaimrigidity.Thealgorith mthatfollowsfrom ourcharacterizationofmodule-rigiditygivesacompleted ecompositionofnon module-rigidgraphsintoitsmaximalmodule-rigidsubgrap hs. 4.1DeterminingDofRigidity:TheFrontierVertexAlgorith m(FA) Inthissection,werstgiveanalternativecharacterizati onofdofrigidity whichtranslatestoausefulpropertyofdofDR-planscalled dofcompleteness (Weomitproofs).ThenwesketchrelevantpropertiesofFron tiervertexDR-plans andthecorrespondingDR-planner(FADR-planner)[ 6 9 ]whichfollowsthis characterization. Let C beageometricconstraintgraph.Then Q = f C 1 ;:::;C m g ,asetof dofrigidpropersubgraphsof C ,isa complete,maximal,dofrigiddecomposition of C ifthefollowinghold.Ifthereisamaximal,dofrigidproper subgraphof C thenitmustcontainoneofthe C i in Q .Furthermore, Q shouldsatisfyoneof 41


42 thefollowing. Case1: m =2and C 1 and C 2 intersectonanontrivialsubgraph andtheirunioninducesallof C Case2: Eachofthe C i 'sis nearlymaximalwith respecttotheset Q inthefollowingsense:theonlydofrigidpropersubgraphso f C thatstrictlycontain C i intersectalltheothersubgraphs C j j 6 = i onnontrivial subgraphs; Thenexttheoremgivesanalternatecharacterizationofdof rigidity. Theorem4.1.1 Let C beageometricconstraintgraphand Q = f C 1 ;:::;C m g ,be acomplete,maximal,dofrigiddecompositionof C .Then C isdofrigidifandonly if X S Q ( 1) j S j 1 Adj dof ( \ C i 2 S ( C i )) D; where(recall) D isthenumberofdofsofarigidbody,andAdj-dof ( C i ) iseither thenumberofdofs(negationofdensity)of C i if C i istrivial;orsimply D if C i is nontrivial.NotethatifCase1holds,then C isautomaticallydofrigid-infact,the rstpropertyof Q isredundant. Thenextlemmaexplainsthetractabilityofthismethodofde terminingdof rigidity.Lemma4.1.2 If C isnotdofrigid,thenonlyCase2intheDenition 4.1 applies.Furthermore,Case2impliesthatnopairof C i intersectonmorethana trivialsubgraph.Thus(usingasimpleRamseytheoreticarg ument), m isatmost O ( n 3 ) ,where n isthenumberofvertices C .Furthermore,thecomputationofthe inclusion-exclusionformulainTheorem 4.1.1 takes O ( n 3 ) time. ThisleadstoarobustpropertyofDR-plansusingwhichthech aracterization canbetranslatedtoanalgorithm. AdofDR-plan P forageometricconstraintgraph G is dofcomplete iftheset Q ofchildclustersofeverydofcluster C in P isacomplete,maximal,dofrigid decompositionof C .PartialdofcompleteDR-plansaredenedanalogouslyasin


43 Section 6.1 ,andjustasbefore,anypartialdof-complete)DR-planfora constraint graph G canbeextendedtoadof-complete)DR-planfor G 4.1.1TheFrontierVertexDR-plan(FADR-plan) Note. Throughoutthissection,unlessotherwisementioned,\clu ster"means \dofcluster,'"\rigid"means\dofrigid,"and\DR-plan"me ans\dofDR-plan." Intuitively,anFADR-planisbuiltbyfollowingtwostepsre peatedly: Isolate acluster C inthecurrentgraph G i (whichisalsocalledthe clustergraph or row graph forreasonsthatwillbeclearbelow).Checkandensureacomp lete,maximal, dofrigiddecompositionof C Simplify C into T ( C ),transforming G i intothenextclustergraph G i +1 = T ( G i )(therecombinationstep). Theisolationalgorithm,rstgivenbyHomannetal.[ 1 5 ]isamodied incrementalnetworkmaximumrowalgorithm.Thekeyroutine isthe distribution ofanedgeintheconstraintgraph G .Foreachedge,wetryto distribute theweight w ( e )+ D +1tooneorbothofitsendpointsas row withoutexceedingtheirweights, referredtoas\distributingtheedge e ."Thisisbestillustratedonacorresponding bipartitegraph G :verticesinoneofitspartsrepresentedgesin G andverticesin thesecondpartrepresentverticesin G ;edgesin G representincidencein G .As illustratedbyFigure 3{8 ,wemayneedtoredistribute(ndanaugmentingpath). Ifweareabletodistributealledges,thenthegraphisnotde nse.Ifnodense subgraphexists,thentherowbasedalgorithmwillterminat ein O ( n ( m + n ))steps andannouncethisfact.Ifthereisadensesubgraph,thenthe reisanedgewhose weightplus D +1cannotbedistributed(edgesaredistributedinsomeorde r,for examplebyconsideringverticesinsomeorderanddistribut ingalledgesconnecting anewvertextoalltheverticesconsideredsofar).Itcanbes hownthatthesearch fortheaugmentingpathwhiledistributingthisedgemarkst herequireddense graph.Itcanalsobeshownthatifthefoundsubgraphisnotov erconstrained,then


44 itisinfactminimal.Ifitisoverconstrained,Homannetal .[ 1 5 ]giveanecient algorithmtondaminimal(non-trivial,ifoneexists)dofc lusterinsideit.Then LomonosovandSitharam[ 9 ]givesamethodtoensureacomplete,maximal,dof rigiddecompositionof C ThesimplicationwasgivenbyHomannetal.[ 6 7 ].Thefoundcluster C interactswiththerestoftheconstraintgraphthroughits frontiervertices ;that is,theverticesoftheclusterthatareadjacenttovertices notinthecluster.The verticesof C thatarenotfrontier,calledthe internalvertices ,arecontracted intoasingle core vertex.Thiscoreisconnectedtoeachfrontiervertex v ofthe simpliedcluster T ( C )byanedgewhoseweightisthesumoftheweightsofthe originaledgesconnectinginternalverticesto v .Here,theweightsofthefrontier verticesandoftheedgesconnectingthemremainunchanged. Theweightofthe corevertexischosensothatthedensityofthesimpliedclu steris D ,where D is thegeometry-dependentconstant.Thisisimportantforpro vingmanyproperties oftheFADR-plan:evenif C isoverconstrained, T ( C )'soverallweightisthatof awellconstrainedgraph,(unless C isrotationallysymmetricandtrivial,inwhich case,itretainsitsdoforweight).Technically, T ( C )maynotbewellconstrained intheprecisesense:itmaycontainanoverconstrainedsubg raphconsistingonly offrontierverticesandedges,butitsoveralldofcountist hatofawellconstrained graph. Figure 3{9 illustratesthisiterativesimplicationprocessendingi nthenal DR-plan(Figure 1{5 ). 4.1.2TheFrontierVertexAlgorithm(FADR-planner) ThechallengemetbyFAisthatitprovablymeetsseveralcomp eting requirements.Specically,itgivesadofcompleteDR-plan .Thegraphtransformation performedbytheFAclustersimplicationisdescribedform allybyHomannetal. [ 6 7 ]thatprovidethevocabularyforprovingcertainpropertie sofFAthatfollow


45 directlyfromthissimplication.However,otherproperti esofFArequiredetailsof theactualDR-plannerthatensuresthem,andarebrierysket chedhere. Note: adetailedpseudocodeoftheFADR-planner(theexistingver sion, aswellasincorporatingthemodule-rigidityalgorithmoft hissection)isgiven bySitharam[ 11 15 ].Thepseudocodehasbeenimplementedaspartofthe downloadable,opensourceFRONTIERgeometricconstraints olver[ 2 10 11 15 ]. ThebasicFAalgorithmisbasedonanextensionofthe distribute routinefor edges(explainedabove)toverticesandclustersinorderfo rtheisolationalgorithm toworkatanarbitrarystageoftheplanningprocess,i.e,in theclusterorrow graph G i First,webrierydescribethisbasicalgorithm.Next,weske tchthepartsofthe algorithmthatensure3crucial,inter-relatedproperties oftheoutputDR-plan:(a) ensuringdofcompleteness;(b)forunderconstrainedgraph s:outputtingacomplete setofmaximalclustersassourcesoftheDR-plan;(c)contro llingwidthofthe DR-plantoensureapolynomialtimealgorithm. Threedatastructuresaremaintained.Thecurrent roworclustergraph G i the current DR-plan (thisinformationisstoredentirelyinthehierarchicalst ructureof clustersatthetopleveloftheDR-plan),anda clusterqueue ,whichisthetop-level clustersoftheDR-planthathavenotbeendistributedsofar ,intheorderthat theywerefound(belowgivesanexplanationofhowclustersa redistributed).We startwiththeoriginalgraph(whichservesastheclusteror rowgraphinitially, wheretheclustersaresingletonvertices).TheDR-plancon sistsoftheleaforsink nodeswhichareallthevertices.Theclusterqueueconsists ofalltheverticesinan arbitraryorder. Themethod DistributeVertex distributesalledges(callsDistributeEdge) connectingthecurrentvertextoalltheverticesconsidere dsofar.Whenoneof theedgescannotbedistributedandaminimaldensecluster C isdiscovered,its


46 simplication T ( C )(describedabove)transformstherowgraph.Therowsonthe internaledgesandthecorevertexareinheritedfromtheold rowsontheinternal edgesandinternalvertices.Noticethatundistributedwei ghtsontheinternaledges simplydisappear.Theundistributedweightsonthefrontie redgesaredistributed (withinthecluster)aswellaspossible.However,undistri butedweightsonthe frontieredges(edgesbetweenfrontiervertices)maystill remainifthefrontier portionoftheclusterisseverelyoverconstrained.Theseh avetobedealtwith carefully.ThenewclusterisintroducedintotheDR-planan dtheclusterqueue. Nowwedescribethemethod DistributeCluster Assumealltheverticesin theclusterqueuehavebeendistributed(eithertheywerein cludedinahigher levelclusterintheDR-plan,ortheyfailedtocausetheform ationofaclusterand continuetobeatoplevelnodeoftheDR-plan,buthavedisapp earedfromthe clusterqueue).AssumefurtherthattheDR-planisnotcompl ete,thatis,itstop levelclustersarenotmaximal.Thenextlevelofclustersar efoundbydistributing theclusterscurrentlyintheclusterqueue.Thisisdoneby llingupthe\holes" ortheavailabledegreesoffreedomofacluster C beingdistributedby D unitsof row.The PushOutSide methodsuccessivelyconsiderseachedgeincidentonthe clusterwith1endpointoutsidethecluster.Itdistributes anyundistributedweight ontheseedges+1extraweightunitoneachoftheseedges.Itc anbeshown thatif C iscontainedinsidealargercluster,thenatleastonesuchc lusterwillbe foundbythismethodoncealltheclusterscurrentlyinthecl usterqueuehavebeen distributed.Thenewclusterfoundissimpliedtogiveanew rowgraph,andgets addedintheclusterqueue,andtheDR-planasdescribedabov e. Eventually,whentheclusterqueueisempty,i.e,allfoundc lustershavebeen distributed,theDR-plan'stoplevelclustersareguarante edtobethecomplete setofmaximaldofrigidsubgraphsoftheinputconstraintgr aph.Lomonosovand Sitharamgivetheformalproofs[ 9 ].


47 W f e d c b a C2 C1 C1 C2 W a bc d e f g h i j Figure4{1:Finding W rstwillpreventdofmisclassicationwith2Dand3D example. Note :Throughout,intheinterestofformalclarity,weleaveout adhoc,but highlyeectiveheuristicsthatndsimpleclustersbyavoi dingfull-redgedrow. Onesuchexampleiscalled\sequentialextensions"whichau tomaticallycreates alargerclustercontainingacluster C andavertex v providedthereareatleast D edgesbetween C and v .Thesecaneasilybeincorporatedintotherowbased algorithm,providedcertainbasicinvariantsaboutdistri butededgesismaintained. ThiscompletesthedescriptionofthebackboneofthebasicF ADR-planner. Nextweconsidersomedetailsensuringtheproperties(a){( c)above. Firstweintuitivelyexplainwhydofcompletenessisacruci alproperty.After C 1 and C 2 arefound(Figure 4{1 ),when C 1 isdistributed, C 1 and C 2 wouldbe pickedupasacluster,althoughtheydonotformacluster.Th eproblemisthat theoverconstrainedsubgraph W intersects C 1 onatrivialcluster,and W itselfhas notbeenfound.Had W beenfoundbefore C 1 wasdistributed, W wouldhavebeen simpliedintoawellconstrainedsubgraphandthismisclas sicationwouldnothave occurred. IthasbeenshownbyLomonosovandSitharam[ 9 ]thatthistypeofmisclassication canbeavoided( W canbeforcedtobefoundafter C 2 isfound),bymaintaining


48 d c b a e C' C C e d c b a C3 C2 C1 e d c b a C3 C2 C1 C1 C4 a b c d e f g hi j k bcdefg h ijk l C1C2 C3 C4 E C C a l C3 C2 abcdefg h ijk l C1C2 C3 C4 Figure4{2:EnsuringClusterMinimality. threeinvariants.Thersttwoaredescribedhere.Thethird ishighlyrelatedto property(b)andisdescribedinthenextsubsection. Therstisthefollowinginvariant:alwaysdistributeallu ndistributededges connectinganewfoundcluster C (orthelastdistributedvertexthatcaused C tobefound),toalltheverticesdistributedsofarthatareo utsidethecluster C Undistributedweightonedgesinside C arelesscrucial:iftheybecomeinternal edgesofthecluster,thenthisundistributedweight\disap pears"when C is simpliedintoawellconstrainedcluster;thereisalsoasi mplemethodoftreating undistributedweightonfrontieredgessothattheyalsodon otcauseproblems-the methodandproofaregivenbyLomonosovandSitharam[ 9 ]). Thesecondinvariantthatisusefulforensuringdofcomplet enessisthatfor anyclusterintheDR-plan,nopropersubsetofatleast2ofit schildclusters formsacluster.Wecallthisproperty clusterminimality .FAensuresthisusinga generalizationofthemethod Minimal givenbyHomannetal.[ 1 5 ]whichndsa minimaldensesubgraphinsideadensesubgraphlocatedby DistributeVertex and DistributeEdge Onceacluster C islocatedandhaschildren C 1 ;:::;C k ,for k 2,arecursive method clusMin removesonecluster C i atatime(replacingearlierremovals) from C andredoestherowinsidetherowgraphrestrictedto C ,before C 's simplication.Ifapropersubsetofatleast2 C j 'sformsacluster C 0 ,thenthe clusMinalgorithmisrepeatedinside C 0 andthereafterin C again,replacingtheset ofchildclustersof C thatareinside C 0 byasinglechildcluster C 0 .Ifinsteadno


49 suchclusterisfound,thentheremovedcluster C i the essential .Thatis,itbelongs toeverysubsetof C 'schildrenthatformsacluster.Whenthesetofclustersits elf formsacluster E (usingadofcount),then clusMin iscalledon C againwithanew childcluster E replacingallof C 'schildreninside E WhiletheDR-plannerdescribedsofarguaranteesthatatter mination,top levelclustersoftheDR-planaremaximal.Italsoguarantee sthattheoriginal graphisdofunderconstrainedonlyifthereismorethanonet oplevelclusterin theDR-plan.However,inordertoguaranteethat all themaximalclustersofan underconstrainedgraphappearastoplevelclustersoftheD R-plan,weusethe observationthatanypairofsuchclustersintersectonasub graphthatreduces (onceincidenceconstraintsareresolved)intoatrivialsu bgraph(asinglepointin 2Dorasingleedgein3D).Thisboundsthetotalnumberofsuch clustersandgives asimplemethodforndingallofthem.OncetheDR-plannerte rminateswitha setofmaximalclusters,othermaximalclustersarefoundby simplyperforminga Pushoutside of2unitsoneveryvertex(in2D)oreveryvertexandedge(in3 D), andcontinuingwiththeoriginalDR-planningprocessuntil itterminateswitha largersetofmaximalclusters.Thisisperformedforeachve rtexin2Dandeach edgein3Dwhichguaranteesthatallmaximalclusterswillbe found.Lomonosov andSitharamgivetheproofs[ 9 ]. d c b a e C5 C3 C4 C2 C1 bd gh e c i f a i h g f Figure4{3:Preventaccumulationofclusters FAachievesalinearboundonDR-planwidthbymaintainingth efollowing invariantoftheclusterorrowgraph: everypairofclustersintherowgraph(top


50 leveloftheDR-plan)atanystageintersectonatmostatrivi alsubgraph .FAdoes thisbyrepeatedlyperforming2operationseachtimeanewpo tentialclusteris isolated. Therstisan enlargement ofthefoundcluster.Ingeneral,anewfound cluster N isenlargedbyanycluster D 1 currentlyintherowgraph,iftheir nonemptyintersectionis not arotationallysymmetricortrivialsubgraph.Inthis case, N neitherenterstheclustergraphnortheDR-Plan.Only N [ D 1 entersthe DR-plan,asaparentofboth D 1 andtheotherchildrenof N .Itiseasytoseethat the sizes ofthesubsystemscorrespondingtoboth N [ D 1 and N arethesame, since D 1 wouldalreadybesolved. WhentheDR-plannds(Figure 4{3 )thecluster C 2 after C 1 ,theDR-planner willndthat C 1 canbeenlargedby C 2 TheDR-plannerformsanewcluster C 4 basedon C 1 and C 2 andputs C 4 intotheclusterqueue,insteadofputting C 2 to clusterqueue. Thesecondoperationistoiteratively combine N [ D 1 withanyclusters D 2 ;D 3 ;::: basedonanonemptyoverlapthatisnotrotationallysymmetr icor trivial.Inthiscase, N [ D 1 [ D 2 N [ D 1 [ D 2 [ D 3 andsoonentertheDR-plan asastaircase,orchain,butonlythesinglecluster N [ D 1 [ D 2 [ D 3 [ ::::: enters theclustergraphafterremoving D 1 D 2 D 3 ::: Ofcourse,bothoftheseprocessesaredistinctfromtheorig inalrow distributionprocessthat locates clusters. 4.2Module-Rigidity:CharacterizationandAlgorithm Wegivearecursivedenitionof3Dmodule-rigidity(alongw ithadenitionof module-completeDR-plans)andshowthatitisanaturalandr obustcharacterization. ThenwesketchanextensionoftheFAalgorithminordertodet erminemodule-rigidity byconstructingmodule-completeDR-plans.Wefollowwitha numberofexamples ofgraphsthataredofrigidbutnotmodule-rigid.


51 Let C bea3Ddistanceconstraintgraph.Let E;C 1 ;:::;C k beproper subgraphsof C .Wesaythat C 1 ;:::;C k ) r;C E (read: impliesrigidityof )ifby making C 1 ;:::;C m completegraphs(byaddingadditionaledges), E becomesrigid. Analogously,wedene ) d and ) m byassertingdofrigidityandmodule-rigidity (tobedenedbelow)astherighthandsideoftheimplication ,respectively. Let C bea3Ddistanceconstraintgraph. C is module-rigid if: Basecase: itistrivialanddofrigid.Orthefollowingholds.Let Q = f C 1 ;:::;C m g beany complete,maximal,moduledecomposition of C .Thisisdenedasfollows.Let m;C; bethetransitiveclosureoftheemptysetunder ) m;C ,thatis,ifthereisa propersubgraph E of C suchthateitheritismodule-rigid,orthereissomesetof module-rigidpropersubgraphs C 1 ;:::;C k of C suchthat C 1 ;:::;C k ) m;C; E ,then E belongsto m;C; .Let Q beanysubset f C 1 ;:::;C m g of m;C; suchthat Case1: m =2; C 1 and C 2 intersectonanontrivialsubgraphandtheirunioninducesa llof C .Or,thefollowingholds. Case2: Anymaximalsubgraphin m;C; mustcontain oneofthe C i in Q .Eachofthe C i 'sis nearlymaximal withrespecttotheset Q in thefollowingsense:theonlyelementsof m;C; thatstrictlycontain C i intersectall theothersubgraphs C j j 6 = i onnontrivialsubgraphs. Then C ismodule-rigidif X S Q ( 1) j S j 1 Adj dof ( \ C i 2 S ( C i )) D; where(recall) D isthenumberofdofsofarigidbody,and Adj-dof ( C i )iseither thenumberofdofs(negationofdensity)of C i if C i istrivial;orsimply D if C i is nontrivial.Observation4.2.1 Everymodule-rigidgraphisdofrigid;andeveryrigidgraph is module-rigid. Thenextlemmashowsthetractabilityoftheabovecharacter ization.


52 Lemma4.2.2 Let Q = f C 1 ;:::;C m g beanysetofpropersubgraphsof C thatform acomplete,maximal,moduledecompositionof C .Thisimpliesthatif m> 2 ,then nopairof C i intersectonmorethanatrivialsubgraph.Thus m isatmost O ( n 3 ) where n isthenumberofvertices C .Thus,thecomputationoftheinclusionexclusionformulainDenition 4.2 takes O ( n 3 ) time. Usingtheabovelemma,thefollowingdenitionshowstheuse ofso-called module-completeDR-planstoecientlydeterminemoduleri gidity. A module DR-plan P fora3Ddistanceconstraintgraph G isapartialorder whereeachnoderepresentsasubgraphin m;G; or G itself,if G ismodulerigid. Theorderingisbycontainment.Thesenodesarecalled moduleclusters (tobe cruciallydierentiatedfrommodule-rigidsubgraphsof G ,whichwecall inherent moduleclusters ).Theleavesaretheoriginalverticesof G .Eachnodeinthe subDR-planrootedatanode C representsasubgraphin m;C; or C itself,if C is module-rigid,oraninherentmodulecluster.If G ismodule-rigid,thereisasingle sourcecluster;if G isnotmodule-rigid,therootsorsourcesformisacomplete, maximal,moduledecompositionof G .ApartialmoduleDR-plandoesnothave tosatisfytheconditionsontherootsorsources.AmoduleDR -Planis modulecomplete iftheset Q ofchildclustersofeverymodulecluster C in P isacomplete, maximal,moduledecompositionof C AmoduleDR-planistypicallydenedtocontainadditionali nformation byincorporatinganotherpartialordercalledthe solvingpriorityorder ,whichis consistentwiththemoduleDR-plan'sDAGorder,butcouldbe morerened.The intentisthatmodule-rigidityofmoduleclustersthatappe arlaterintheorder dependonclustersthatappearearlier.Thatis,theorderin grerectsthenumberof applicationsof ) m requiredtondamodulecluster.


53 Thenexttheoremshowsthatmodule-rigidityisrobust.That is,theorderof bottom-upconstructionofmodule(-complete)DR-plansisi mmaterial,atypeof Church-Rosserproperty.Theorem4.2.3 Ifagraph G ismodule-rigid,theneverypartial,module(complete)DR-planfor G canbeextendedtoamodule(-complete)DR-plan. Theabovediscussioneectivelylaysoutatractablemethod fordetermining module-rigiditybycomputingmodule-completeDR-plansbo ttomup.Thisis donebyextendingthedof-completeDR-plannerFAgiveninth eprevioussection asfollows.FirstnotethatbyusingFAweguaranteenofalsen egatives,since module-rigidimpliesdof-rigid.Wenowsketchhowtoelimin atingdof-rigidgraphs thatarenotmodule-rigid.TheFADR-plannerrunningonanin putgraph G uses DistributeCluster(row)onthecurrentset S ofdofrigidclusterstoisolateadof clustercandidate C ,andthereafterconstructsaacomplete,maximal,dofrigid decompositionofit,afterwhichitdecideswhetheranewdof -rigidcluster C has beenfound,usingthedof-rigidcharacterizationofSectio n 4.1 .Thisisthekeypoint ofextension.Weusetheanalogybetweenthisdof-rigidchar acterizationandthe module-rigidcharacterizationatthebeginningofthisSec tion.Inductively,wecan assumethatthecurrentset S consistsofmodule-rigidsubgraphsof G orinherent moduleclusters.Themethodofconstructionofacomplete,m aximal,module decomposition Q ofthecandidate(inherentmodule)cluster C canbedonewithout constructing m;C; ,byconstructingasequenceof Q i 'seachofwhichsatisesthe aboveconditionson Q ,butwithrespectto m;C;i (i.e,closurewithrespectto i applicationsofthe ) m operation).Thissequencereachesaxedpointat Q Wegiveexamplesthatillustratetheuseofmodule-rigidity .InFigure 4{4 Top Left:thegraphisdofrigid,butnotmodule-rigid,asseenby thecompletemaximal moduledecompositionshown.TopRight:module-rigid,butn opairofinherent moduleclustersshownformsamodule-rigidsubgraph,theyd oformdof-rigid


54 j i h g f e d c b a C5 C4 C3 C2 C1 C1 C2 C3 a b f e d c b a C4 C3 C2 C1 C4 C3 C5 C6 C2 C1 Figure4{4:Exampleswheremodule-rigiditybeatsdofrigid ity. subgraphs.Bottom:notmodule-rigidbutdofrigid;complet emaximalmodule decompositionandsolvingpriorityordersasfollows:thep air C 1 ;C 2 isaninherent modulecluster C 5 butthat C 5 canbesolvedonlyafter C 3 issolved;Thatis,before thevirtualedge( c;d )isadded, C 1 and C 2 wouldnotbepickeduptogetherasa clustercandidate.Similarly,itwillalsodeterminethat C 5 ;C 3 formacluster C 6 butsolvingpriorityordershown.BottomRight:module-com pleteDR-planforleft constraintsystemwith2sourcesorroots: C 6 and C 4 Figure 4{5 showsaclassicgraphgivenbyCrapoetal.[ 20 21 ],with \hinges,"whichisnotmodule-rigidbutisdofrigid.Acompl etemaximal,module decompositionisshown.Themiddlecluster C 2 isnotaninherentmodulecluster, although C 1 and C 2 are.


55 k C1 C2 C3 a b c de f g h i j Figure4{5:ClassicHingeexample:notmodule-rigid,butdo frigid Aquestionthatimmediatelyarisesistorelatethecharacte rizationgiven heretorigiditymatroidsandstandardconjecturesoncombi natorialrigidity characterizationsfor3D[ 19 ].


CHAPTER5 CONJECTUREOFANGLECONSTRAINTSYSTEM Lamanshowsacombinatorialcharacterizationof2Ddistanc econstraint system[ 18 ].Whenotherconstraintsareinvolved, forexample,angles ,thereis nocombinatorialcharacterization.Inthischapter,wers tgiveacombinatorial rigiditycharacterizationofaclassofangleconstraintsy stem.Wethenshow thischaracterizationisnotsucientforthegeneralangle constraintsystem. Thereafter,weproposeaconjecturetodeterminetherigidi tyofthegeneralangle system. 5.1Denitions Point: point p 2 R 2 ,isrepresentedas( x;y ). AngleConstraint: theangleconstraintbetween2orderedpairsofpoints,( P 1 i ;P 2 i ) and( P 1 j ;P 2 j ),satisesthat cos = ( P 1 i ;P 2 i ) ( P 1 j ;P 2 j ) j ( P 1 i ;P 2 i ) jj ( P 1 j ;P 2 j ) j = ( x 2 i x 1 i )( x 2 j x 1 j )+( y 2 i y 1 i )( y 2 j y 1 j ) p ( x 2 i x 1 i ) 2 +( y 2 i y 1 i ) 2 p ( x 2 j x 1 j ) 2 +( y 2 j y 1 j ) 2 GeometricAngleConstraintSystem: ageometricsysteminwhichtheobjectsare nitepointsandtheconstraintsareniteangleconstraint s. Solution: thesetvaluesofthevariables x i ;y i ofthesystemthatsatisfythe constraintsValidSolution: thesolutionofageometricsystemwhichdoesnotmakeanyang le0 orpointscoincidentiscalledavalidsolution.AngleGraph: Forageometricangleconstraintsystem,thegraphinwhicht he verticesrepresentthepairsofpointsandtheedgesreprese nttheanglesiscalledthe anglegraph(Figure 5{1 ). AngleCycle: Forageometricconstraintsystem,ifthereisananglecycle inits correspondinganglegraph,wesaythisangleconstraintsys temhasanangle 56


57 p4 p1 p2 p3 v34 v12 v13 v24 v14 v23 Figure5{1:Geometricangleconstraintsystemandtheangle graph. cycle.Iftheanglegraphhasonemoreedgebetween v 13 and v 14 (Figure 5{1 ),its correspondingangleconstraintsystemhasananglecycle.AnglePseudoCycle: Forageometricconstraintsystem,ifthereisananglecycle withoneanglemissing,wesaythisangleconstraintsystemh asananglepseudo cycle.Thesystem(Figure 5{1 )hasananglepseudocycle. AngleClique: Forageometricconstraintsystem,ifthereexists n points( n 3) inwhichanytwopairsofpointshasanangleconstraintbetwe enthem,wesaythe systemhasanangleclique.ImplicitAngleCycle: Inanangleconstraintsystem,forananglecycleconsisting ofassignedangles 1 ::: s andunassignedangles r 1 :::r t s> 0 ;t 0,inits correspondinganglegraph,ifthereexists i 62 S r j for i 6 = j ,where S r j isthe minimal4dofsubgraphcontaining r j ,wesaythisangleconstraintsystemhasan implicitanglecycle.When t =0,implicitanglecycleturnsouttobeanangle cycle.DegreesofFreedomofPrimitiveGeometricObjects: degreesoffreedom(DOF) describesrexibilityofmotion.Itisthenumberofparamete rsoftheobjectwhich maybeindependentlyvaried.In2 D ,apointhas2DOF. DegreesofFreedomofaGeometricSystem: Forageometricsystem G ,itsDOF equals P p 2 G DOFofobject p P c 2 G DOFremovedbyconstraint c .InFigure 5{1 ,thesystemhas4pointsand3angleconstraints.Eachpointh as2DOFand eachangleconstraintremoves1DOF.Sothesystemhas5DOF.


58 AdjustedDegreesofFreedom(adof): Forageometricsystem,countthedofofthe subgraphsthatareanglecliquesas4,thendotheinclusionexclustiondofcounting, thetotaldofiscalledadjusteddegreesoffreedom.Genericallyindependent: Let S bethesetofanglesofageometricangleconstraint system.Thesystem G s isgenericallyindependent i thereisanassignment S =( 1 ;:::; s )ofvaluestotheset S suchthat G s hasavalidsolutionand foranysuchassignment S ,thereisarectangleneighborhoodof S ,thatis, I S = I 1 ::: I s ,wherethe I l =( l ; l + )areintervalsofanglevalues, forsome > 0,suchthatforanytupleofvalues( 0 1 ;:::; 0 s ) 2 I S G s hasavalid solution.Notations: Weuse G sn todenoteageometricangleconstraintsystemwith n points; G n todenotethecorrespondinganglegraphof G sn ; p todenotethepointin G sn ; v todenotethevertexin G n 5.2OneCombinatorialCharacterization Inthissection,wegiveacombinatorialcharacterizationo ftheangleconstraint systemthatcanbeobtainedbythefollowingconstruction. GradualConstruction: Startingwithapairofpoints,addapointwithatmost 2anglesconnectingitwiththeconstructedsystemateachst epuntilallpointsare added. Ifanangleconstraintsystem G s canbeconstructedbygradualconstruction,it is graduallyconstructible Theorem5.2.1 Angraduallyconstructiblegeometricangleconstraintsys temis genericallyindependentifitdoesnothaveimplicitcycles Proof Weproveitbyinductiononnumberofpoints n of G s : 1.Basecase:when G s hasonly2points,itisobviouslygenericallyindependent.


59 dots v_{n+1} G_n dt dots v_{n+1} G_n dt Figure5{2:Thenewpoint p n +1 isatthecircleorattheradial dots v_{n+1} dt1 dt2 G_n Figure5{3:Twonewangles: 1 and 2 2.Assume G sn has T anglesandisgenericallyindependent,because G s is graduallyconstructible,wecanndapoint p n +1 withatmost2anglesconnecting itwith G sn Case1:thereisnoangleconnecting p n +1 with G sn Obviously,thecaseholds. Case2:thereisanangleconnecting p n +1 with G sn p n +1 couldbeatthecircleorattheradialdeterminedbytheangle (Figure 5{2 ).Itiseasytoknowthereexistsavalueof whichtogetherwiththe T angles whichmake G sn haveavalidsolutionthatmake G sn +1 haveavalidsolution.From hypothesisweknow,when G sn hasavalidsolution,theseisacorresponding rectangle I T suchthat G sn withanytupleofvalues( 0 1 ;:::; 0 t ) 2 I T hasavalid solution.Asthepositionof p n +1 iscontinuous,thereexistsaninterval I for suchthat G sn +1 withanytupleofvaluesin I T I hasavalidsolution.So, G sn +1 is genericallyindependent.Case3:thereare2anglesconnecting p n +1 with G sn Callthe2angles 1 and 2 .Weprovecase3inthefollowing3subcases.We calltheanglesinvolvedin p n +1 new anglesandtheothers old angles.


60 dots v_{n+1} dt1 G_n dt2 c_1 l_1 Figure5{4:Onenewangle 1 andoneoldangle 2 Subcase1:Both 1 and 2 arenewangles(Figure 5{3 ). Thepositionof p n +1 shouldbeattheintersectionoftwocircleswhicharedeterm inedby 1 and 2 respectively.Fora T 2 I T ,choose i 2 (0 ; T i ), T i 0toensuretwocircles intersect.Iffor i p n +1 isinacorrespondinglineofapairofpointsof G sn ,we choose T i equalthis i toprevent p n +1 lieinthisline.Afterproceedingwithallthe lines,weensure p n +1 doesnotlieinanylineof G sn .If i p n +1 coincidentswitha pointof G sn ,wechoose T i equalthis i toprevent p n +1 coincidentwiththispoint. Afterproceedingwithallthepoints,weensure p n +1 doesnotcoincidentwithany pointin G sn .Let I i = T T 2 I T (0 ; T i )and I = I 1 I 2 2 .Weknow G sn +1 withany tupleofvaluesin I T I hasavalidsolution.So G sn +1 isgenericallyindependent. Subcase2: 1 isanewangleand 2 isanoldangle(Figure 5{4 ). Theposition of p n +1 shouldbeattheintersectionofthecirclewhichisdetermin edby 1 and theradialwhichisdeterminedby 2 .Fora T 2 I T ,choose 1 2 (0 ; T 1 ), T 1 0. 2 2 ( T 2 ; ). T 2 toensuretheradialintersectsthecircle.Iffor i p n +1 is inacorrespondinglineofapairofpointsof G sn ,wechoose T i equalthis i to prevent p n +1 lieinthisline.Afterproceedingwithallthelines,weensu re p n +1 doesnotlieinanylineof G sn .If i p n +1 coincidentswithapointof G sn ,wechoose T i equalthis i toprevent p n +1 coincidentwiththispoint.Afterproceeding withallthepoints,weensure p n +1 doesnotcoincidentwithanypointin G sn .Let I 1 = T T 2 I T (0 ; T 1 )and I 2 = T T 2 I T ( T 2 ; )and I = I 1 I 2 2 .Weknow G sn +1


61 dots v_{n+1} G_n dt2 dt1 l_1 l_2 Figure5{5:Twooldanglesdonotshareapairofpointscontai ning p n +1 gm G_n dots v_{n+1} dt2 dt1 Figure5{6:Twooldanglesshareapairofpointscontaining p n +1 withanytupleofvaluesin I T I hasavalidsolution.So G sn +1 isgenerically independent. Subcase3:Both 1 and 2 areoldangles(Figure 5{5 ). Thepositionof p n +1 shouldbeattheintersectionoftworadialswhicharedeterm inedby 1 and 2 respectively.Fora T 2 I T ,choose 1 2 (0 ; T 1 ), T 1 0andchoose 2 2 ( T 2 ; ), T 2 makes l 1 k l 2 toensuretworadialsintersect.Iffor i p n +1 isinacorresponding lineofapairofpointsof G sn ,wechoose T i equalthis i toprevent p n +1 lieinthis line.Afterproceedingwithallthelines,weensure p n +1 doesnotlieinanylineof G sn .Iffor i p n +1 coincidentswithapointof G sn ,wechoose T i equalthis i to prevent p n +1 coincidentwiththispoint.Afterproceedingwithallthepo ints,we ensure p n +1 doesnotcoincidentwithanypointin G sn .Let I 1 = T T 2 I T (0 ; T 1 )and I 2 = T T 2 I T ( T 2 ; )and I = I 1 I 2 2 .Weknow G sn +1 withanytupleofvaluesin I T I hasavalidsolution.So G sn +1 isgenericallyindependent. Notethat 1 and 2 cannotbe2oldanglessharingapairofpointscontaining p n +1 (Figure 5{6 ),because G hasnoimplicitanglecycle. Fromabove,weknow G sn +1 isgenericallyindependentincase3.


62 Figure5{7:Genericallyindependentsystemthatisnotgrad uallyconstructible m S a b c d e f g h i j k l Figure5{8:Implicitanglecycleisnottheonlytypeofdepen dency. Soif G isgraduallyconstructibleandhasnoimplicitanglecycle, itis genericallyindependent. Ontheotherhand,if G isnotgraduallyconstructible,itmaystillbe genericallyindependent. G (Figure 5{7 )isnotgraduallyconstructiblebecause eachpointhas3anglesinvolved.But G isstillgenericallyindependent. Theimplicitanglecycleisnottheonlytypeofdependencyin theangle constraintsystem.Angle l (Figure 5{8 )isxedbyangles a;b;c;m andangle j is xedbyangles f;g;h;i .Thenthesubgraph S actuallyhas3degreesoffreedom becauseithas5angles( d;e;j;k;l )xed.Thus S isnotgenericallyindependent. Becausedetectingtheimplicitanglecycleisnotsucientt otellwhetheran angleconstraintsystemisgenericallyindependent,wepro posearigidityconjecture. 5.3Observations Thefollowingtwoobservationsarecrucialfortheproofoft heconjecture. First,wegiveanalgorithmthatisessentialinourdiscussi on. Verier: Takenageometricangleconstraintsystem G asinput,


63 1.If G hasa3orfewerdofsubgraph,return false 2.Ifthereexistsananglecyclewhichisnotcontainedinana ngleclique,return false 3.Findananglepseudocycleifitexists.Assignthemissing angle. 4.Ifthereexistsonesubgraphwith3orfeweradof,return false 5.Finda4adofsubgraphthatisnotananglecliqueifitexist s.Assignallthe unassignedangles. 6.repeat2,3,4and5,untilnomoreanglesareassigned,retu rn true NotethatVerermayhavedirentcomputationalpathsbased onwhichangle cyclechoseninStep3andwhich4adofsugraphchoseninstep5 Observation5.3.1 Foranunassignedangle r thatisassignedinapath P a of Verier,itwillbeassignedinanypathofVerierunlessVer ierreturnsfalse beforeitencounting r Assumethereexistsapath P b inwhich r isnotassignedandVerierreturnstrue. P b doesnotassignalltheanglesassignedin P a otherwise r isalsoassignedin P b violatingtheassumption.Let betherstangleassignedin P a butnotassignedin P b .Alltheanglesassignedbefore in P a thatarenecessaryforassigning arealso assignedin P b .Verieronlyreturnstrueifthereisnomoreangletobeassi gned. Butattheendof P b ,Veriercanstillassign becauseallanglesnecessaryfor assigning havebeenassignedin P b .ThatcontradictstheassumptionthatVerier returnstrueattheendof P b Observation5.3.2 Allpathsreturnthesameresult. Assumetherearetwopaths P a and P b that P a returnsfalseand P b returnstrue. P b doesnotassignalltheanglesassignedin P a otherwise P b willalsoreturnfalse.Let betherstangleassignedin P a butnotassignedin P b .Alltheanglesassigned before in P a thatarenecessaryforassigning arealsoassignedin P b .Verier onlyreturnstrueifthereisnomoreangletobeassigned.But attheendof P b Veriercanstillassign becauseallanglesnecessaryforassigning havebeen


64 assignedin P b .ThatcontradictstheassumptionthatVerierreturnstrue atthe endof P b Observation5.3.3 Allpathsthatreturntrueassignthesamesetofangles. Assumetherearetwopaths P a and P b thatbothreturntruebuttheyassign direntsetsofangles.Let betherstangleassignedin P a butnotassignedin P b .Alltheanglesassignedbefore in P a thatarenecessaryforassigning arealso assignedin P b .Verieronlyreturnstrueifthereisnomoreangletobeassi gned. Butattheendof P b ,Veriercanstillassign becauseallanglesnecessaryfor assigning havebeenassignedin P b .ThatcontradictstheassumptionthatVerier returnstrueattheendof P b Observation5.3.4 VerierhasChurch-Rosserproperty. FromObservation 5.3.2 ,weknowVerierhasChurch-Rosserproperty. Observation5.3.5 Verierhaspolynomialtimecomplexity. TouseMFAalgorithmnd3orfeweradofsubgraphinstep1,4an dthe4-adof subgraphinstep5,itrequires O ( n 3 ( n + m ))( n isthenumberofvertices, m isthe numberofedges).Tousedepth-rstsearchtondanglesinst ep2,3,itrequires O ( n + m ).Verierrunsatmost n 4 iterationsbecausethereareatmost n 4 angles andatleastoneangleisassignedateachiteration,thenthe timecomplexityis O ( n 7 ( n + m )).Actuallytheupboundofthetimecomplexityisveryloose Iftheverierreturnstrueforageometricangleconstraint system,wesaythe systempassestheverier.Thenwehavethefollowingobserv ations. Observation5.3.6 Ifageometricangleconstraintsystem G failstheverier,itis notgenericallyindependent. If G failstheverieratstep1,itisobviousthattheanglesinth e3or fewerdofsubgraphsarenotindependenttoeachother,thus G isnotgenerically independent.


65 If G failsatstep2,thenforanyangleoftheanglecycle,itsvalu eisxed byeverysettingofvaluesoftheotheranglesintheanglecyc le,thus G isnot genericallyindependent. If G failsatstep4,itisobviousthattheanglesinthesubgraphw ith3or feweradofarenotindependent,thus G isnotgenericallyindependent. Observation5.3.7 Givenanangleconstraintsystem G sn in 2 D with k ( 0) dof, thereisatleastonepointinvolvedinatmost7angles. Let m bethenumberofanglesinvolveinthepointthathastheleast number ofanglesinvolved.Asanangleinvolvesinatmost4pointsan d G sn haskdofs,the followinginequalityholds: m n 4 (2 n k ).Thenweget m 8 d 4 k=n e .So m 7. 5.4Conjectures Forthefollowingthreeconjectures,thersttwoareusedfo rtheproofofthe thirdonewhichisour2Drigidcharacterizationconjecture ofangleconstraints system.Conjecture5.4.1 Foranangleconstraintsystem G sn with k ( 4+ x ) dofthat passestheverier,thereexistsanx-tupleofunspeciedan gletuplesuchthat specifyingitdoesnotmakethesystemfailstheverier.PartialProof: Let G sS i bethe i thmaximal4dofsubsystemin G sn whichhasatleast3points. Thenthispropertyholds: G S i and G S j aredisjointedforany i 6 = j ,thatis G sS i and G sS j shareatmostonepoint. If G S i and G S j shareavertex, G sS i S G sS j has4dofifnoangleinvolvesin both G sS i and G sS j .Thisviolatesthestatement G sS i and G sS j arethemaximal4dof subsystemsin G sn ;Or G sS i S G sS j has3orfewerdofifatleastoneangleinvolvesin both G sS i and G sS j .Thisisimpossiblebecausenosubsystemhas3orfewerdofin G sn .Sothepropertyholds.


66 G n has t trees: t = n ( n 1) = 2 (2 n k )=(( n 2 : 5) 2 6 : 25) = 2+ k .Sowhen k isgiven, t isincreasingfor n 3.Notethatthetreecouldbeconsistofonlyone vertex.When n =3, t = k 3 x +1,thatisforagiven G n with k dof,ithasat least x +1trees. Wegiveanalgorithmtondthe x -tupleofunspeciedangleswithoutforming ananglecycleormakinganysubgraph3orfewerdofs.Hereisi tspseudocode. Whilex>0 Findmaximal4dofsubsystemsIfthereisno$G_{S_i}$in$G_n$ addananglebetweenapairoftreesarbitrarily else addananglebetween(v1,v2),wherev1isin$G_{S_i}$andv2whichisinanothertreeofv1andoutsideof$G_{S_i}$ x-end Ifthereisno G sS i in G sn atcurrentstage,thenwecanchoosetheangleinthe x -tupleofunspeciedanglesbetweenapairoftreesarbitrar ilywithoutforming ananglecycleormakinganysubgraph3orfewerdofs.Ifthere isa G sS i ,because thetreescan'tbetotallycontainedin G S i alltogether,wecanalwaysndsucha pair( v 1 ;v 2 )suchthat v 1 isin G S i and v 2 isinanothertreeof v 1 andoutsideof G S i Thatensuresitdoesnotformananglecycle.Andbecause G S i saredisjointed,it doesnotmakeanysubsystem3orfewerdof. Westillneedtoprove G sn withspecifyingthatx-tuplepassestheverier. Conjecture5.4.2 Foranangleconstraintsystem G sn +1 thatpassestheverier, if m 4 ,misthenumberofanglesinvolvedinpoint p n +1 thatinvolvestheleast angles,thenthereexistsanunspeciedangle r in G sn suchthatafterunspecifying oneofthe m anglesinvolvedin p n +1 toget G 0 s n +1 andspecifying r in G 0 s n +1 toget G 00 s n +1 G 00 s n +1 passestheverier. PartialProof:


67 FromtheproofofObservation 5.3.7 ,weknow n +1 d 4 k= (8 m ) e .When m =4, n 3.Butwhen n =3,no G s4 satisesthatthenumberofanglesinvolved inthepointthatinvolvestheleastanglesis4.Infact,itca nbeatmost3.So n 4.When m =4 ::: 7, n> 4.Thenweknow G sn hasatleast4points. G sn has k n = k +( m 2)dofs.And G n has t = n ( n 1) = 2 (2 n k n )= ( n 2 5 n ) = 2+ k n trees.When n =4, t = m +( k 4) m .Thenthe m 1edgesof G 0n +1 n G n isnotenoughtoconnectallthese t treestobeatreeof G 0n +1 .Thenwe knowtheverticesin G n can'tbeallinatreeof G 0n +1 Let G sS i bethe i thmaximal4dofsubsystemin G sn +1 whichhasatleast3 points.If p n +1 isnotinany G sS i ,thenweadd r bythewaysimilartoConjecture 5.4.1 .If p n +1 isina G sS i ,weadd r betweenthe( l 1 ;l 2 ), l 1 istheedgein G sS i and l 2 isin G sn n G sS i and l 1 and l 2 arenotinthesametreeof G 0 s n +1 .Thispairdoesexist becausetheverticesin G n can'tbeallinatreeof G 0n +1 .So G 00 s n +1 hasnoangle cyclesandnosubsystemhas3orfewerdof. Also,weneedtoprove G 00 s n +1 passestheverier. Conjecture5.4.3 Foranangleconstraintsystem G s in 2 D thatpassesthe verier,itisgenericallyindependent.PartialProof: Case1:thereexistsapoint p n +1 hasnoangleinvolved.Case2:thereexistsa point p n +1 whichhas1angleinvolved.Case3:thereexistsapoint p n +1 whichhas 2anglesinvolved. Inthese3cases, G sn +1) isgenericallyindependent.Refertothe proofofTheorem 5.2 Case4:thereexistsapoint p n +1 whichhas m ( 3) ormoreanglesinvolved. ASSUMPTION:Foranangleconstraintsystem G s in2Dwith4dofandno anglecyclesandnosubsystemhas3orfewerdof,and G s with I a = I 1 I 2 ::: I s hasavalidsolution, I i istheintervalofthespeciedangle i in G s s isthenumber ofspeciedangles,foranunspeciedangle specifyingwhichdoesnotmakeany


68 anglecycle,let r bethespeciedanglewhichisintheminimal4dofsubsystem thatcontainsallthelinesparticipating ,thenforany v 2 I a n r ,as r variesin I r thereexistsanon-zerosized I for If m =3,callthethreeangles 1 ; 2 and 3 .FromConjecture 5.4.1 ,weknow thatthereexistsanunspeciedangle r in G sn thatdoesnotformananglecycle involvingsomesubsetofthespeciedanglesormakeanysubs ystem3orfewer dof.Unspecify 3 andspecify r toget G 0 s n +1 .Fromcase3,weknow G 0 s n +1 with I a = I 1 I 2 :::I r ::: I s I 1 I 2 hasavalidsolution, s isthenumberof anglesin G 0 s n .Andtheminimal4dofsubsystemof 3 mustcontain r .Thenfrom theassumption,weknowforany v 2 I a n r ,as r variesin I r ,thereexistsanon-zero sized I v 3 for 3 Let I 0 i 2 I i and j I 0 i j! 0, i isthespeciedanglein G 0 s n +1 .As v variesin I 0 a n r I v 3 doesnotchangemuchbecause I 0 a n r isrelativelysmall.Then I 3 = T v 2 I 0 a n r I v 3 hasnon-zerosize. Thenweknow G sn +1 with I 0 a n r I 3 hasavalidsolution,so G sn +1 isgenerically independent. If m =4,callthe4angles 1 ; 2 ; 3 and 4 .Choose r asdescribedin Conjecture 5.4.2 Afterspecify r andunspecify 4 toget G 0 s n +1 ,andchoose I 0 i similartothecase when m =3,weknow I 4 thathasnon-zerosizeexists. Then G sn +1 with I 0 a n r I 4 hasavalidsolution,so G sn +1 isgenerically independent. Wecanalsodothesimilarjobfor m =5 ::: 7.


CHAPTER6 SOLUTIONSPACENAVIGATION Inthischapter,westudythewell-documentedproblemofsys tematically navigatingthepotentiallyexponentiallymanyrootsorrea lizationsofwell-constrained, variationalgeometricconstraintsystems.Wegiveascalab lemethodcalledthe ESMorEquationandSolutionManagerthatcanbeusedbothfor automatic searchesandvisual,user-drivensearchesfordesiredreal izations.Themethod incrementallyassemblesthedesiredsolutionoftheentire systemandavoids combinatorialexplosion,byoeringtheuseravisualwalkt hroughofthesolutions torecursivelyconstructedsubsystemsandbypermittingth eusertomakegradual, adaptivesolutionchoices. Weisolaterequirementsoncompanionmethodsthatpermit(a )incorporation ofmanyexistingapproachestosolutionspacesteeringorna vigationintothe ESM;and(b)integrationoftheESMintoastandardgeometric constraintsolver architecture.Weaddressthelatterchallengeandexplainh owtheintegrationis achieved.Andweclarifytheserequirementsessentialandd esirableforecient, meaningfulsolutionspacenavigation.Also,wesketchtheE SMimplementation aspartofanopensource,2Dand3Dgeometricconstraintsolv erFRONTIER developedbyourgroup. 6.1CompanionMethodsRequirements InordertodescribetheESMmethodandhowitcanbeintegrate dinto any geometricconstraintsolver(Figure 6{1 ),itisnecessarytogivewell-dened essential and desirable requirementsonthecompanionmethods-mentionedinthe Introduction-fortheESMmethodtobeeective.Weaddition allypointtoknown literaturethatprovidethecompanionmethodsthatmeetthe serequirements. 69


70 6.1.1DR-Planner InordertogivetheDR-plannerrequirements,werstneedso mepreliminaries aboutcombinatorialanalysisofgeometricconstraintsyst ems.A geometricconstraintgraph G =( V;E;w )correspondingtogeometricconstraintsystemisa weightedgraphwithvertexset(representinggeometricobj ects) V andedgeset (representingconstraints) E ; w ( v )istheweightofvertex v and w ( e )istheweight ofedge e ,correspondingtothenumberof degreesoffreedom(dofs) availabletoan objectrepresentedby v andnumberofdegreesoffreedomremovedbyaconstraint representedby e respectively. Forexample,Figure 1{1 showsa2Dconstraintsystemsandtheirrespective dofconstraintgraphs.Figure 1{4 showsa3Dconstraintsystemswhosegraphhave verticesofweight3(points)andedgesofweight1. Notethattheconstraintgraphcouldbea hypergraph ,eachhyperedge representingaconstraintinvolvinganynumberofvertices .Avertexinduced subgraphrepresentsasubsystemoftheentireconstraintsy stem.Thesubgraphs canbeclassiedasbeing underconstrained,well-constrained,orwell-overconstr ained -thelattertwoarecalled rigid subgraphsor clusters .Themeaningisthatthe correspondingsubsystemshavethecorrespondingconstrai nednesspropertiesfor generic parametervalues.Inmanycases,thisclassicationofthes ubgraphscan bedonepurelycombinatorially,usingthedofweights,buti gnoringgeometric parameterssuchasdistance,angleandsoonattachedtothec onstraints. Asmentionedintheintroduction,anyeectiveconstraints olvercombinatorially developsaplanforrecursivelydecomposingtheconstraint systemintosmall subsystems,whosesolutions-obtainedfromthealgebraic/ numericsolver-canbe recursivelyrecombinedbysolvingothersmallsubsystems. Sucharecombination isstraightforward, providedallthesubsystemsgenericallyhaveanitenumber of solutions,thatis,theyaregenerically rigid


71 TheDR-planneristypicallyagraphalgorithmthatoutputsa decompositionrecombinationplan(DR-plan) oftheconstraintgraph.Intheprocessofcombinatorially constructingtheDR-planinabottomupmanner,atstage i ,itlocatesa well-constrainedsubgraphorcluster S i inthecurrentconstraintgraph G i andusesanabstract simplication of S i totocreateatransformedconstraint graph G i +1 .Whilewerelyonaroughcorrespondencebetweenwell-const rained subgraphsorclustersand rigid subsystems,theexactnatureandlimitationsofthis correspondenceisacomplexissue,especiallyin3D,andisd iscussedlater. Formally,aDR-planofaconstraintgraph G isadirectedacyclicgraph(DAG) whosenodesrepresentrigidclustersin G ,andedgesrepresentcontainment.The leavesorsinksoftheDAGareallthevertices(primitiveclu sters)of G .Theroots orsourcesare all themaximalclustersof G .Forwellorwell-overconstrained graphs,theDR-planshaveasinglesource,andforundercons trainedgraphs,the DR-planshavemultiplesources.TherecouldbemanyDR-plan sfor G (Figures 1{1 1{4 ).Generally,foroverconstrainedclusters,aDR-planisre quiredtoalso containinformationaboutwhichsetsofoverconstraintsca nberemovedwhile retainingtherigidityofthecluster.Thesearecalled reducible overconstraints. Reducibleoverconstraint directlyassociated withacluster C refertothose thatconnectprimitiveelementsoccurringindierentchil dclustersof C Overconstraintsthatliewithinanychildcluster C i areassociatedwiththat C i notwith C WedescribeessentialanddesirablepropertiesthatagoodD R-plan(ner) shouldhaveforittobeusefulinconceptualnavigationofth esolutionspaceof general,cyclic2Dor3Dsystems. Itis desirable tobeabletoapplytheESMmethodtoalargeclassof2Dand 3Dconstraintsystems.Forthemethodtoworkforanysuchcla ss,itis essential thattheDR-plan'snodesshouldcorrespondtorigidcluster sorgenericallyrigid


72 subsystems,andallchoicesofreducibleconstraintsofove rconstrainedclusters shouldbeavailable.Recallthattheseclustersandtheirre ducibleconstraintsare pickedbytheDR-plannerusingjusttheconstraintgraph,th atis,usingpurely combinatorialpropertiesoftheconstraintsystem. Toillustratethelevelofchallengeinvolvedindoingthis: todate,thereis noknown,tractable,characterizationofgenericrigidity ofdistanceconstraint (sub)systemsfor3orhigherdimensions,basedpurelyoncom binatorialproperties oftheconstraintgraph[ 19 22 ],althoughseveralconjecturesexist.Moreover, therearenoknowncombinatorialcharacterizationsof2Dri gidity,whenother constraintsbesidesdistancesareinvolved.Itshouldbeno tedthatin2D,Laman's theorem[ 18 ],givessuchacharacterizationifallgeometricobjectsar epointsand allconstraintsaredistances.However,thestandardgener alizationoftheLaman propertyfor3D,alsocalled dof-rigidity isinadequate:whileallrigidsystemsare dof-rigid,theconverseisnotthecasein3D.Standardcount erexamplesaresystems thatcontainconstraintdependencesorinexplicitovercon straintshiddeninso-called \bananas"or\hinges"[ 19 20 21 ](Figure 1{4 ).Infact,thesearetheonlyknown typesofcounterexamples. The module-rigid FrontiervertexalgorithmdescribedbySitharamandZhou [ 12 ]andimplementedinFRONTIER[ 15 ]istherstknownpolynomialtime DR-plannerthatisnotfooledbyanyknowntypeofconstraint dependence, specically,the\bananas"or\hinge"typeconstraintdepe ndences.Itgives aDR-planwhosenodesareso-calledmodule-rigidclusters. Itisanopen questionwhetherthereareanynonrigidsubgraphsthatarem odule-rigid.No counterexamplesareknown. Themodule-rigidFrontiervertexalgorithmiscruciallyba sedontheso-called dof-rigid FrontiervertexalgorithmanalyzedbyLomonosovandSithar am[ 2 9 24 ]. Whilethelatterdoesnotdetectbananasandotherconstrain tdependences,itis


73 therstalgorithmthatgivesa complete DR-plan,thatis,a completedecomposition ofeachclusterinto maximal propersubclusters.Ageneralizedversionofthis decompositionisthekeystartingpointfor detecting module-rigidity[ 12 ]andis alsocrucialforobtainingatractableDR-planthataidsec ientsolving(discussed next). Thebasicideaforthedof-rigidFrontiervertexDR-planner s(withouta completeformalanalysisandwithoutthefullygeneralcomp letenessproperty) waspresentedbyHomannetal.[ 6 ].Themethodforobtainingallpossiblesets ofreducibleconstraintsforoverconstrainedclustersofd of-rigidFrontiervertex DR-plans,bothfor2Dand3D,andmodifyingtheDR-planoncet heyhavebeen removed,ispresentedbyHomannandSitharam[ 8 ]. The size ofaclusterinaDR-planisitsfan-in(itrepresentsthesize ofthe correspondingsubsystem,onceitschildrenaresolved).Si ncethealgebraic-numeric solverstaketimeexponentialinthesizeofthesubsystemst heysolve,andthe numberofsolutionsisalsotypicallyexponential,minimiz ingthesizeofaDR-plan is essential totheESMmethodpresentedhere.An optimal DR-planisonethat minimizesthemaximumfan-in.ItisshownbyLomonosovandSi tharam[ 9 24 ], thattheproblemofndingtheoptimalDR-planofevena2Ddis tanceconstraint graphisNP-hard,andapproximabilityresultsareshownonl yinspecialcases. Nonapproximabilityresultsarenotknown. Togetaroundthisdiculty,weusethefollowingalternativ eproperty.A tractable DR-planforsystematicnavigationshouldensurethateachc luster C shouldbeaccompaniedbyaasmallsetofitschildren C i thatforman optimal coveringset ofmaximalclustersproperlycontainedin C .A coveringset of clustersisonewhoseunioncontainsallgeometricelements within C .Thesize oftheoptimalcoveringsetfor C isthesizeofthecluster C ,thatis,itsfan-in intheDR-plan.ForscalabilityoftheESMmethod,werestric tourselvesto


74 constraintgraphsforwhichthissizeistypicallyconstant independentofthe originalgraphsize.The optimality hererefersnotonlytothesize,butalsothe algebraiccomplexityoftheactiveconstraintsystemforso lving C ,giventhe solutionsofitschildclusters.Thisoptimizationisthefu nctionofthecombinatorial cluster-systemoptimizer(CCO)method(Figure 6{1 )describedlaterinthis section.Notethatinordertochoosetheoptimalcoveringse tofchildclustersfora cluster C ,theCCOneedsasinputageneralizedcompletedecompositio nof C into maximalpropersubclusters,whichwasalreadyseentobeane ssentialrequirement forthegeneralityofaDR-planner,nowseentobeessentialf ortractabilityaswell. AnothercrucialpropertyofaDR-planisits width i.e, number ofclusters intheDR-plan.Itis essential thatthisbesmall,preferablylinear,certainly polynomial,inthesizeof G :thisrerectsthecomplexityoftheplanningprocess andalsoaectsthecomplexityofthesolvingprocessthatis basedontheDR-plan. Themodule-rigidanddof-rigidFrontiervertexDR-planner sanalyzedbySitharam andYongandLomonosov[ 2 9 12 24 ],andimplementedinFRONTIER[ 15 ],are theonlyonesthathavequadratic(typicallylinear)widtha ndoutputcomplete maximaldecompositionsofeachcluster,whoseoptimalcove ringsetshavetypically constantsize. Fortheusertoeectivelynavigatethesolutionspacejustb yinspectingthe solutionstosubsystemsintheDR-plan,itis desirable thatthesesubsystems includethose(wellorwell-overconstrainedclusters)tha toccurinanunderlying conceptualdecomposition.Thisisafeature,partorsubass emblyhierarchythat capturesdesignintent,thatis,apartialorder,typically alsorepresentedasa directedacyclicgraph. Thisincorporationofsuchaninputdecompositioniscrucia lalsoinorder toallowindependentandlocalmanipulationoffeatures,pa rts,subassembliesor subsystemswithintheirlocalcoordinatesystems;forallo wingtheusertodictate


75 Algebraic Adaptor UTU GUI SimpleSolver Navigator Const-EqnProc (CEP) DR-Planner Eqn-SolnManager (ESM) OuterCADSystem Cluster-System Combinatorial Optimizer(CCO) Solver Front End Figure6{1:Standardgeometricconstraintsolverarchitec ture. theorderofresolution(andsolutionspaceinspection)oft hefeatures,parts, subassembliesorsubsystems.Forexample,parametriccons traintsolvingcanin factbeachievedasaspecialcase,wheretheorderisacomple te,totalorder.In additionsucha solvingpriorityorder arisesnaturallyinthecaseofmodule-rigid DR-plans[ 12 ]discussedinSection 6.1 .Theseincludeclusterswhoseclusterhood dependsonrstsolvingother(nondescendant)clustersint heDR-plan. 6.1.2CombinatorialCluster-SystemOptimizer(CCO) ThismethodisdescribedindetailbySitharametal.[ 14 ].Herewegive itsrequirementsandoutput.TheCCOmethodtakesitsinputf romtheDR-plan (Figure 6{1 )onecluster C atatime,alongwithacompletemaximaldecomposition intosubclusters C i ,andcompleteinformationonreducibleoverconstraintsdi rectly associatedwitheach C i andwith C .TheCCOmethod'soutputconsistsof:(i) acoveringsetofclustersamongthe C i 'sthatwillbeusedforsolving C ,(ii)a


76 subsetofthe clusteroverlap constraintsforthechosencoveringsetwhichtogether withawell-constrainedsetoforiginalconstraints,resul tinasystemofalgebraic equations(a)thatisstableorindependentand(b)whosecom plexity-thatis, numberofvariablesanddegree-hasbeen combinatorially minimized;typicallythis complexityisconstant,independentofthesizeoftheconst raintgraph.Notethat theactualalgebraicsystemforsolving C isnevergeneratedormanipulatedbythe CCOmethod.Alltheoutputrequirementsare essential fortractabilityofsolution andthusfortheESMmethodpresentedhere,andareprovenbyS itharametal. [ 14 ],exceptfortheRequirement(ii)(a)whichisprovenbySith aram[ 48 ]. 6.1.3AlgebraicSolver Thiscouldbeapurelyalgebraicornumericsolver.An essential property oftheAlgebraicSolver(Figure 6{1 )isthatitshouldbereasonablyecientin practice;numericallystable;outputallrealsolutionsto theinputpolynomial system;usesintervalarithmetic,thatis,candealwithint ervalvaluesforthe coecientsofthepolynomials;andcansearchforsolutions withinspecied intervalsforeachvariable. Desirable propertiesdependontypesofnavigation constraintsthatwepermit:incorporatingoverconstraint sduringsolvingtoprune solutionspace;dealingwithsemi-algebraicsets,thatis, dealingwithpolynomial inequalitiesduringsolving.Thesolver[ 49 ]satisesalloftheserequirements. 6.1.4GraphicalUserInterface(GUI) InteractionwiththeuserthroughtheGUIiscentraltotheES Mmethod, andbenetsfromawell-designedGUI.TheGUIrequirementsh oweverare easytodescribe:adequatetextandmenuinteractionaswell as2Dand3D canvasestoenablethefollowing.TheGUIisusedtoinput:th econstraintsystem andaconceptualdecompositionorfeaturehierarchy,(thes ecouldhavebeen partiallysolvedandstoredfromanearliersession),anyup datestothese,and interactiveuserinputduringtheconstraintparsingandeq uationbuildingstages


77 andrealizationspacenavigation.TheGUIisalsousedtomod ifytheobject, constraintandfeaturerepertoireorconstraint-to-equat ionparsetree.TheGUI isusedtooutput:theDR-planoftheinputconstraintsystem consistentwith theinputconceptualdecomposition,thesystemofequation sastheyarebeing parsedinstagesfromtheconstraints,thesubsystemsoluti onscorrespondingtothe nodesoftheDR-plan,arealizationofthepartiallysolveds ystemasthenavigation proceeds,andthenalrealization.AgoodexampleistheGUI implementedin FRONTIER[ 15 50 ]andshownintheguresinSection 6.2 6.2NavigatingtheSolutionSpace Thissectionhastwoparts.Therstdescribestheoverall Equationand SolutionManager(ESM) navigationmethodandthecommon,augmentedDR-plan datastructure-usedbythismethodanditscompanionmethod s-thataids eciency.Thesecondpartdescribesitsintegrationintoas tandardconstraint solverarchitecture(Figure 6{1 )specically,thedatarow,communicationwiththe companionmethodsthatsatisfytherequirementsgiveninSe ction 6.1 ,andasketch ofitsimplementationintheFRONTIERconstraintsolver[ 15 ]. 6.2.1TheBasicESMMethod TheESMtakesasinputtheconstraintgraph,theDR-planoutp utof any DR-plannerasinSection 6.1 ;astableandcombinatoriallyoptimizedsystem ofconstraintsforeachclusterintheDR-plan-thatis,theo utputof any combinatorialcluster-systemoptimizerasinSection 6.1 ;andnallynavigation constraints,suchasredundantorconsistentoverconstrai ntsandchiralities.It generatesanalgebraicsystemofequationsandinequalitie sforeachcluster. Then,usingitsaccessto any algebraic-numericsolverasinSection 6.1 ,itoers theuseratractable,interactivevisualwalk-throughofth esolutionspaceby outputtingtotheGUI-andstoringintheaugmentedDR-pland atastructure-the partialrealizationsorsolutionsoftheclustersubsystem sinanecientmanner.


78 Interactiveinputtothemethodincludestheuser'schoiceo fsolutionstothe clustersandadditionalnavigationconstraintsaddedonby theuser,usingwhich theESMmethodrecursivelyassemblesthedesiredsolutiono ftheentiresystem. Themethodprovidesfullyrexiblebacktrackingforredoing theuser'schoices startingfrom any cluster.Finally,themethodcanberunfullyautomatically withoutanyuserintervention,tooutputarealizationofth eentireconstraint system,includingnavigationconstraintsthatareinputap riori. TheSolveforestroutinecanbemergedintotheSolvecluster routine.Itisnot necessary,exceptforclarity,andfordealingwiththecase wheretheDR-planhas severalroots-incasetheinputconstraintsystemwasunder constrained. Solveforest (setSofclusters) [1)AttoplevelofrecursionSrepresentsacompletedecompositionofgivensystemintomaximal,well-overconstrainedsubsystems.2)Atlowerlevelsofrecursion,SrepresentsanoptimalcoveringsetoutputbyCCO] ForeachclusterCinS,Solvecluster(C)Returnuser-chosensolutionU(C)foreachclusterCinS. [efficientlystoredinanaugmentedDR-plan datastructure,describedbelow] Solvecluster (C) [TheinputisCCO'soutputforC: 1)atbottomlevelofrecursion,awell-constrainedsysteminvolvingprimitivegeometricelements;2)athigherlevels,anoptimalcoveringsetSofsolvedchildclustersCi,andastable,independentsetofconstraintsbetweentheCi's,partitionedintotreeoverlapconstraintsandnontreeconstraints] Solveforest(setSofCi's)Repeat CEP(C) [Getsfromuseradditionalnavigationconstraints forC.1)Insomeiterations,especiallythefirst,


79 Figure6{2:Solutionsoftheclusterformedbythe3circles( Figure 1{1 ). itcreatesalgebraicsystemAlg(C)forsolvingC,usingtheuser-chosensolutionforeachCiandthenon-treeconstraintsinthestablesetofconstraintsbetweentheCi's,outputbytheCCO.2)Insomelateriterations,itprunesanyalreadyexistingsetSol(C)usingthemostrecentlyinputnavigationconstraints.3)ItInteractswithuserfurtherformassagingthisalgebraicsystemtoreducecomplexity] Algebraic-NumericSolver(Alg(C)) [ReturnssolutionsetSol(C)forC:rotation ofeachCiw.r.t.itsparentinthetreeofoverlapconstraintsgivenbyCCOforC.ThecoordinatesystemofCisthesameasthehomeorrootclusterofthetreeofclusteroverlapconstraintsoutputbytheCCO:thehomecluster'srotation/translationisfixedtobetheidentity.] CommunicatethesetSol(C)visuallytouserviaGUI UntiluserissatisfiedandpicksasolutionU(C)Returnuser-chosensolutionU(C) Thisvisualwalk-throughisaninteractiveprocess,permit tingtheusual3D visualtoolssuchaspanning,zooming,rotationtovisualiz ethevarioussolution possibilities,whichcannotbefullyillustratedbythegu reshere.Theinterested readerisencouragedtodownloadandrunthe(opensource)so ftware[ 15 ](Figures 6{2 6{3 6{5 6{6 6{7 ).


80 Figure6{3:Completesolutionofrootcluster(Figure 1{1 )afterchoosing subsolutions. Pointers to the children 2. Cluster Type3. Navagation constraints4. Vertices5. Points to non-descendant clusters 2. Non-tree overlap and original constraints 1. Tree of overlap constraints1. Solutions 2. Solved flag 1. Group ID Figure6{4:Thestructureofthecluster. AclusterobjectrepresentsaDR-planner'ssimplication[ 2 6 9 10 11 15 ] ofawell-constrainedorawell-overconstrainedsubgraph, aswellasitsoriginal subgraph. Figure 6{4 showsthecontentsofthecluster. 1. Hierarchyeld .Theseclusterobjectsarehierarchicalandcontain pointerstotheirsub-DR-plan,adirectedacyclicgraph(DA G),i.e,theDAG interrelationshipsarestoredwithineachcluster C asalistofitsimmediate children C i 2. Combinatorialdescriptiveelds .Thecluster C containsmoredescriptive elds,1)agroupIDcorrespondingtoafeature,ifany,thatc orrespondsto thiscluster C intheinputfeaturehierarchy.Notethatnoteveryfeaturei n theinputfeaturehierarchyisacluster;however,everyclu sterfeaturemust appearintheoutputDR-plan,iftheDR-plannersatisesthe desirablefeature incorporationpropertydiscussedinSection 6.1 .2)Anotherimportantdescriptive eldistheclustertypethatindicateswhetherthiscluster iswell-constrained,


81 well-overconstrained(combinatorially),andalistofred ucibleoverconstraints directlyassociatedwith C .,thatis,doesnotliewithinanyofthechildclusters of C .3)Anothereldcontainsothernavigationconstraintstha taredirectly associatedwith C (thesearediscussedlaterinthissection).4)Anothereld is alistoforiginalverticesorgeometricprimitivesthatcon stitutethiscluster.5) Inthecaseofmodule-rigidDR-planners[ 12 ],asmentionedinSection 6.1 ,some clustersbecomeclustersonlyafterother(non-descendant )clustershavebeen solved,inducingasolvingpriorityorder.Thusaclusterco ntainspointerstosuch non-descendantclusters. 3. Fieldsgivinginput/outputtoCCO .Thecluster C storestheinputtoand theoutputoftheCCOcompanionmethod,thatis,acompletese tofmaximalrigid clusterswithin C ,ofwhichasubsethavebeenpickedbytheCCOasthechildren of C .Theclusterstructurecontainsastable,independentsyst emofclusteroverlap andoriginalconstraintsbetweenthe(primitiveelementso f)childrenof C .These arepartitionedintotwoparts,1)atreeofoverlapconstrai nts,withahomeor rootclusterandasetofnon-treeoverlapandoriginalconst raints.2)Theoriginal constraintsincludeallnon-reducibleconstraintsin C 4. Fieldsdescribingalgebraicsolution .Theclusterobjecthasseveralelds thatstorethesolveddegreesoffreedomofthecluster.Alis tofstringsisstored, oneforeachsolutionoftheclusterreturnedfromthealgebr aic-numericsolver (givenxedchosensolutionstoeachofthechildclusters). Whentheuserselectsa desiredsolution,thatstringisparsedintoalistofactual degreeoffreedomvalues forthiscluster.Multiplecopiesofthelistarepermitted, oneforeachparentof theclusterintheDR-plan,iftheyexist.Notethatespecial lywhentheDR-plan incorporatesaninputfeaturehierarchyorpartialdecompo sition,theDR-plan couldbeatrueDAGwithchildclusterssharedbyseveralpare ntclusters.Thenal eldisaragthatindicateswhetherthecurrentCluster C hasbeensolvedornot.


82 Acrucialfeatureofthedatastructurethatmaintainsclari tyandeciency duringnavigationandbacktrackingisthateachrealizatio nofthecluster C isnot storedaspositionsofeachgeometricelementinthecluster -thiswouldcostlinear timeandspaceforeachchildcluster-butratheritisstored asthehomogeneous rotation/translations(aconstantnumberofmatrixentrie s)of C 'schildclusters thatresolvestheconstraintsbetweenthem.Theconstraint sarethenon-tree portionoftheindependentsetofconstraintsoutputbytheC COcompanion methodandtherotationsareassociatedwiththeoverlaptre eoutputbytheCCO companionmethod,expressingachildcluster C i 'srotationwithrespecttoanother childcluster C j of C ,namely C i 'sparentinthetreeofoverlapconstraintsoutput bytheCCOcompanionmethod.Onlywhenthepositionofaprimi tivegeometric element v inacluster C isneededisitactuallycomputed.Thiscouldbeneeded eitherbythe constraintequationprocessor(CEP) oftheESMmethoddescribed next,inordertoconstructastablesystemofequationsfor C 'sparentinthe DR-plan,ortoprunethesolutionsetof C ,orwhenaparticularrealizationof C needstobedisplayedtotheuser. Thepositionofaprimitiveelement v in C isobtainedbytakinganested productofrotations.(i)The\outer"productisaproductta kenoveranyof thepathsthatleadfromthecurrentclustertoaleaf/sinkof theDR-planthat correspondstothatgeometricelement.Thispathisnotuniq ueifthegeometric element v issharedbymorethanoneclusterappearingintheDR-plan,b utall thesepathsprovidethesame,uniquepositionforthegeomet ricelement v :thisis ensuredbytheCCOcompanionmethod.(ii)Each\inner"produ ctisassociated withasinglecluster D alongtheabovepath:itisaproductofrotationmatrices thatplace D withinthecoordinatesystemofitsparent E intheDR-plan.That is,itistheproductofrotationsalongtheuniquepathto D fromtherootorhome


83 Figure6{5:Navigatingbybottom-uptraversalofG79inDR-p lan(Figure 1{4 ). Figure6{6:Navigatingbybottom-uptraversalofG82inDR-p lan(Figure 1{4 ). cluster-inthetreeofoverlapsfor E generatedbytheCCOcompanionmethod (Section 6.1 ). ThustheentireDR-Planobjectissimplyapointertotheroot nodeofalist ofclustersastheyaredescribedabove.Incasethegraphisu nderconstrained,the rootnodeisadummynode,whosechildrenaretheactualsourc esoftheDR-plan, i.e,acompletesetofmaximalclusters(Section 6.1 ). TheCEPmethodisacrucialpartoftheESMmethodandhasthefo llowing functionality:Itgeneratesasystemofequationsandinequ alitiesforsolvinga cluster C ,using(a)theoutputoftheCCOcompanionmethod;(b)theuse r-chosen solutionsforthechildclusters C i of C ;and(c)navigationconstraintsdirectly associatedwith C ,includingreducibleoverconstraintswhichhavebeenisol atedby theDR-planner.Inordertoobtainalgebraicsystemsoflowc omplexity,ithelpsto permituserinteractionduringtheprocessofbuildingthes ystemcorrespondingto


84 Figure6{7:Completesolutionofconstraintsystem(Figure 1{4 ). acluster.TheCEPisadditionally\editable"sinceitpermi tsmodicationstothe constraintrepertoireaswellastheconstraintparsingmec hanismtobe input by theusersystematicallyandecientlyinsteadofhavingtor ewritethecodeforthe ESM.TheCEP'suserinteractioniseectedviatheGUItextin terface,discussed inthecommunicationandintegrationsection. TheCEPhasatwostageoperation.Therst conversionstage convertsedges orconstraintsinthe nontree portionoftheoutputoftheCCOintoalgebraic equationstringsunderstandablebytheAlgebraicSolver.T heseequationsare betweenvariablesdescribingthepositionsoftheprimitiv eelementsinthechild clusters C i of C .Thesecond substitutionstage oftheCEPexpressestheposition variablescorrespondingtoaprimitiveelement v inachildcluster C i intermsof the variable rotationandtranslationofthecluster C i within C 'scoordinatesystem obtainedfromthe tree portionofclusteroverlapsreturnedbytheCCO. TheCCO'spropertiesdescribedinSection 6.1 guaranteethattheresulting systemfromtheconversionandsubstitutionstagesisastab le,independentsystem ofalgebraicequationsforsolving C Conversionstage oftheCEPproceedsinsteps,sothatatanystep,the usercaninterfereandmakesubstitutionsthatmakethesyst emofequations simpler.TheheartoftheCEPisadatastructureandlook-ups ystem,the


85 constraint-to-equationparsetree( CEPtree ),whichtakestheuniquecharacteristics ofeachedgeorconstraintandsearchesanindexofuser-den edequationsstrings foramatch.TheCEPorganizesthosestringsintoa n -arytreerepresentinga naturalhierarchyofconstraints-thisconceptualhierarc hyisalsomirroredin therepresentationofconstraintsusedbyanystandardcons traintsolverGUI. Theuseofthistreedatastructuremakesthesearchingofthe constraintlist,and conversionofconstrainttoequationbothecientandmorei nteractive.Moreover, thisdatastructurecanbeinputormodiedbytheuser,makin gitfullyeditable andextensible,asdiscussedbelow. TheCEPtreeisorganizedbyequationclassesandsub-classe s.Forinstance, consideradistanceconstraintbetweentwopointsandatang encyconstraint betweenatwocircles.Thedistancehastheequation( x 1 x 2) 2 +( y 1 y 2) 2 = d 2 andthetangencyhastheequation( x 1 y 2) 2 +( y 1 y 2) 2 =( r 1+ r 2) 2 ,where x 1 ;x 2 ;y 1 ; and y 2areeitherthelocationsofthepointsorthecentersofthec ircles, disthedistancebetweenthepoints,andr1andr2aretheradi iofthetwocircles. Theseequationsfallintothesameequationclassbecauseth eyareinasense generatedbythesamebasictemplateor\grammar."Inthisex ample,thetangency equationwouldbeasub-classofthedistanceequationsince itsequationcouldbe createdwiththesubstitutionofthe d variableinthedistanceequationwiththe string( r 1+ r 2).ThisrelationshipwouldberepresentedintheCEPtreeby two nodes,onenodeforeachequationformandthetangencynodew ouldbeachild nodeofthedistancenode.Tocompletethedatastructure,ea chnodestores(a) alistofedgeobjectswhichmaptoanequationand(b)eithera nequationora listofsubstitutionswhichcreatethenewchildequationfr omtheparentequation. Bystoringonlythesubstitutioninformation,theprocesso fconvertingthelistof constraintstoalistofequationsishighlysimplied.


86 Whentheequationsystemforacurrentcluster C isbeingbuiltoneequation atatime,thatis,whensingleconstraintsareparsedoneata time,theactual variablenamesoccuringintheoutputequationareirreleva ntduringtheconversion stage-theywillbeappropriatelymodiedduringthesubsti tutionstagedescribed below. However,theprocessofparsingasingleconstraintcanbeex tendedtoparsing asystemofconstraintsenbloc.Thisrequiresmorecarewith preservingidentical anddistinctvariablenamesthatappearindierentconstra ints.Generatingthe correspondingequationsetinvolvestraversingseveralpa thsoftheparsetreein lockstep,withsubstitutionsbeingmadealongtheway.Theu sercaninterfere atanystageandmakesubstitutionstosimplifytheentireal gebraicsystem.The userinteractionproceedsthroughasimpleGUItextinterfa cediscussedinthe communicationandintegrationsectionbelow. Substitutionstage oftheCEPre-expressesthepositionvariables-correspond ing toprimitiveelement v inachildcluster C i -whichoccurintheequationsystem obtainedaftertheconversionstage.Thesevariablesareex pressedintermsof(a) the variable rotationandtranslationofthecluster C i within C 'scoordinatesystem obtainedfromthe tree portionofclusteroverlapsreturnedbytheCCO.and(b) thealreadysolved, constant positionof v within C i 'slocalcoordinatesystem. Both(a)and(b)requireproductsofrotationmatrices,asin thedescriptionofthe ecient,augmentedDR-plandatastructure.Inthecaseof(b ),anestedproduct isrequired,withthe\outer"producttakenoverthecluster sonanypathinthe DR-planfrom C i to v .Inthecaseof(a),thereisonlyan\innerproduct"ofthe rotationmatricesalongthepathto C i fromthehomeorrootcluster-inthetreeof overlapconstraintsfor C returnedbytheCCOcompanionmethod. Navigationconstraintsareusednotonlytoprunethesearch duringuser directednavigation,butmoreimportantly,toconverttheE SMmethodintoa


87 (tractable)automaticsearchfordesiredsolutionsforany clusteroftheDR-plan. Theseconstraintscaneitherbegivenaprioriorinteractiv elyduringauser-directed navigation,topruneunwantedrealizationsoftheDR-plan' sclustersencountered thusfar. LeveragingthemodularityoftheESMmethoddiscussedabove -thatis, itsseparationfromtheDR-planner,anditsapplicabilityt o any inputDR-plan asinSection 6.1 -permitsmethodsdevelopedalongwithotherDR-plannersfo r incorporatingnavigationconstraints-tobetransferred practicallyunchanged to theFADR-plannerandtheESMmethodsdiscussedabove,forex amplerelational andengineeringconstraintsfortriangledecomposablesys temsgivenbyFudosand Homann[ 42 ].Wedescribethetwoothercommontypesofnavigationconst raints below. Onetypeofconstraintusedfornavigationorpickingoutdes iredsolutions foranycluster C oftheDR-planaresimplyredundantoroverconstraintsdire ctly associatedwith C ,thatis,connectingprimitiveelementsthatlieindieren tchild clustersof C .TheseareisolatedbyanyDR-plannerasinSection 6.1 .Thereisa well-developedtheoryofuniquerealizationsandso-calle drigiditycircuitsobtained, forisolatingdesiredsolutionsfromthesolutionspaceusi ngredundantconstraints [ 30 ]. Theothertypeofcommonnavigationconstraintsarechirali ty[ 4 41 ],also calledordertypeorrelativeorientationconstraints.Chi ralityconstraintscanbe inferedfromtheinputsketch.Forexample,forpointobject s,theseconstraints assignsignstothe D +1by D +1determinantsofthehomogeneouscoordinate matricesobtainedfromeachsetof D +1pointobjects.I.e,theseconstraints are D +1degreepolynomialinequalities.Thesecorrespondtoaco mplete orientedmatroidspecication[ 51 ].Alternatively,a partial orientedmatroid specicationcouldbespeciedbytheuser:theseassertint ersectionorseparation

PAGE 100

88 ofpairsofconvexhullsofsubsetsofpointobjects(calledr espectivelycircuitsand co-circuitsinorientedmatroidterminology).Forexample ,twolinesegmentscould beconstrainedtointersect,orapointcouldbeforcedtolie intheconvexhullof someothersetofpoints.These,toocouldbewrittenaspolyn omialinequalities. Chiralityconstraints,likeredundantoverconstraints,a realsodirectlyassociated withauniquecluster C intheDR-plan:thesmallestclusterthatcontainsallthe primitiveelementsthatparticipateinthechiralityconst raint.Thisalsoimplies thatnotalloftheparticipatingprimitiveelementsfallin anysinglechildclusterof C Thenavigationconstraintsassociatedwithacluster C areprocessedbythe CEPusingthesameConversionandSubstitutionstagesdescr ibedabove.Atthe endofthesestages,thenavigationequationsandinequalit iesarenotintermsof theprimitiveelementsthattheyinvolve.Instead,theyare intermsoftherotation matrixentries(variables)thatplacethechildren C i of C (intheDR-plan),within C 'scoordinatesystem.Thereafter,duringeachiterationin whichtheCEPis calledforcluster C ,theyaredealtwithinoneoftwoways.Ifthealgebraicsyste m associatedwiththeclusterhasnotyetbeensolved(inther stiteration),orthe numberofsolutionsisbeyondsomepredenedthreshold(inl ateriterations),and theAlgebraicSolveriscapableofhandlingredundantequat ionsandpolynomial inequalities,thentheseprocessednavigationequationsa ndinequalitiesaretacked ontothestable,independentsystemfor C generatedasdescribedabove,and senttotheAlgebraicSolver.Ifnot,i.e,ifeitherofthesec onditionsdoesnothold, thesenavigationequationsandinequalitiesaresimplyuse dtoprunethesolution setfor C .Notethatsincethenavigationequationsandinequalities havealready beenprocessedbytheSubstitutionstageoftheCEP,thispru ningcanbedoneby directlyusingthesolutionsoutputbytheAlgebraicSolver ,i.e,usingtherotation

PAGE 101

89 matrixentryvaluesforthechildrenof C .Nocomputationoftheactualpositionsof theprimitiveelementsin C isrequired. ThedesignoftheCEPpermitstheusertorexibly create and modify the parsetreedescribedabove,withouthardcodingit. Increatingtheparsetree,therstnodeisachildofapre-ex istingdummy node,Root.Newlycreatednodescanbethechildrenofanypre viouslyentered nodeorRoot.Aftertheuserhaschosenthepositionofthenod ewithinthe formingtree,allothernecessaryinformation,suchasthen ewlabelandequation, areobtained.Thenalstepinnodecreationistoattachalis toftheconstraint typesthatwillbeindexedtothisnewnode.Theuserinputate xtlistofallthe constrainttypeswhichmaptothisnode.Theuserrepeatsthe processofnode creationuntiltheentireCEPtreehasbeenentered.Theuser thensavestheentire CEPtreetobeusedforfutureparsing.6.2.2ESM'sCommunicationwithUserandIntegration Thestandardarchitectureofageometricconstraintsolver togetherwiththe ESMmoduleisgiven(Figure 6{1 ). NextwediscussthedetailsofthedatarowwhentheESMisinte grated withinsuchastandardarchitecture,includingcommunicat ionwiththeuser.We additionallysketchFRONTIERconstraintsolver'simpleme ntationoftheseaspects [ 15 ]. TheESMmustcontinuallyinteractwiththeusertoselectvar ioussubsystem solutionsandtodirectthepathtowardsnalsolution.Allc ommunicationbetween themodulestakesplaceviatheUTUortheuniversaltransfer unit,whichis alsothemaindriveroftheback-endmodules.Whilethereare numeroustypes ofinformationtheESMcanpassbacktotheGUI,theirprocess isalwaysthe same.First,thecurrentstateoftheDR-Planandalladditio nalcommunication informationissenttotheGUIviatheUTU.TheGUIreadsonlyt hecommunication

PAGE 102

90 information,butstorestheresidualdatastructureinform ationwhileitprocesses thecommunicationinformation.Theresidualdatastructur einformationispassed backtotheUTU,ifnecessary,duringthenextrequest,andus ingit,theUTUcan rebuildthecurrentstateofthesolutionprocessandtheESM cancontinuewhere itlefto.ThedetailedactionsoftheGUI,UTU,andtheESMin eachmodeof communicationduringthesolvingphaseareoutlinedinthen extsections. OncetheDR-planningphaseisoverandtheDR-planhasbeendi splayedto theuser,andwhentheUTUreceivestheragindicatingthatth euserhasselected theuser-interactiveNavigateoption(asopposedtotheAut osolveoption),the UTUsimplysendstheconstraintgraphandDR-Plandirectlyt otheESM.When theESMreceivesthecontinuerag,itbeginsthesolution-na vigationprocessand thevisualwalk-throughorsteeringthroughthesolutionsp aceasexplainedin Section 6.2 .TheESMtraversestheDR-planbottomup,asexplainedabove ,until itreachesthepointwhereithasseveralclustersolutionst ooertotheuser.At thispoint,theusermustselectoneofseveralpossiblesolu tionsfortheclusterthat theESMwillusetocreatethenalsolutionfortheentiregra ph.Thisinformation mustbepassedfromtheESMbacktotheSketcherfordisplay.T heESMsends backtwolistsofinformationviatheUTU.First,foreachsol utionpossibility,the ESMwritesoutalistoftheprimitiveelementsinthecluster .Foreachelement, theESMwritestheobject'sID,andalistofitssolvedpositi onvariables.Second, theESMwritesalistoftheclusterscontainedinthecurrent DR-Plananda booleanragtoindicatewhethertheyhavebeensolvedornot. Thisinformation allowstheusertolocatewherethesolvingprocessisw.r.t. theDR-Planwhen makinghis/herchoiceofasolution.Asanalstep,theESMse tsaragtoindicate thattheinformationbeingsentisanewsolutionpossibilit yandreturns. TheSketcherdisplaysthesolutionpossibilitiestotheuse r,oneatatime,in aseparatewindow.Theoriginalsketchanda partiallysolvedsketch asinFigures

PAGE 103

91 6{2 6{3 ,incorporatingthesubsystemsolutionschosensofarintot heunsolved originalsketcharealsodisplayedandallowstheusertomak eachoiceofseveral optionsdescribedbelow. 1.Selectasolutionandcontinuesolution -Inthiscase,theSketchersimply setstheESMcommunicationragtoindicateasolutionchoice andsendstheUTU thenumberofthechosensolution.TheESMusesthistoupdate stheDR-Plan tocontaintherotationmatrixvaluesforthechosensolutio nandcontinuesthe solutionnavigationprocess.Assumingthattheuseralways selectsasolution,this processofsolving,solutionselection,andDR-Planupdate wouldcontinueuntilall thesubsystemsintheDR-Planhavebeensolved. 2.Choosetobacktrack -Iftheuserdecidesthatnoneofthecurrentsolution choicesareappropriate,theymaychoosetoedittheirearli erselections.For editing,theuserhastwooptions:resolvethecurrentclust erwithnewchoicesfor itschildren'ssolutions,orrepeatthesolvingofsomeprev iousclusteraftermaking newchoicesforthesolutionsofitschildren.Ineithercase ,theSketchersendsa ragbacktotheUTUthatindicatesthatbacktrackingistoocc urandanIDof theclusterfromwhichtheuserswishestocontinuesolution .TheUTUeditsthe DR-Planandresetsthe\solved"ragsthatindicatethatthat clusteristhenext tobesolved.TheESMwillignoreanyprevioussolutionsifth enraghasbeen unset,andwhentheUTUcallsitwiththealtered\solved"lis t,itwillcontinue solvingfromanearlierpointexactlyasdescribedabove. 3.Choosetoupdate -Thisnaloptionpermitstheusertoupdatetheinput constraintgraphandfeaturehierarchy,becauseasubsyste misfoundtohave eitherzeroorinnitelymanysolutions(duetogenericorno ngenericconstraint dependenciesundetectedbytheDR-planner).Theuserbelie vesthereissomething wrongwiththeinputgraphitself,ratherthanthebifurcati onchoicesthathave beenmadeearlier.Manymodicationsofthegraphdonotrequ irerepeating

PAGE 104

92 theDR-planningofthesystem.Thesechangescanbemadeinte ractivelyduring solutionnavigationprocessandmuchoftheoriginalDR-pla nandsolutionscanbe reused.ThisisoneoftheadvantagesoftheFrontiervertexb asedDR-planners[ 2 ]. Thethealgorithms,communicationsanddatarowforsuchupd atesaredescribed bySitharam[ 11 ]. Assumingasolutiontothecurrentsystemexistsandtheuser canselect subsystemsolutionstondit,allcommunicationendswhena lltherootclusters intheDR-Planhavebeensolvedandtheuserdoesnotwishtoba cktrack.Atthis point,theESMwritesaragtoindicatethatanalsolutionis tobereturned. Thenitreturnsaorderedlistofallobjects,theirID'sandt henalpositionsof theirdegreesoffreedom. Iftheuserchosetheautosolveasopposedtothenavigateopt ion,thereisno interactionbetweentheuserandtheESMaftertheDR-Planha sbeenaccepted. Theprocessofauto-solvingisthesameasthenavigatesolut ionoptionexcept thatwhentheESMwouldrequestarealizationchoicefromthe user,theESM automaticallychoosestherstsolutionthatsatisesthen avigationconstraints. Backtrackingautomaticallyoccurswhennosolutionisfoun dforacluster C forthecurrentchoicesofthesolutionsforthechildrenof C .Attheendofthe auto-solutionprocesstheESMeitherreturnsanalsolutio nexactlyasaboveorit returnsaragthatindicatesthatnovalidsolutionexists. TheCEPpermitstheusertobothsetuptheCEPtree,andtointe ractively buildsubsystemsofequationsthattheESMsendstotheAlgeb raicSolver.Both typesofcommunicationtakeplaceviatheUTU,andthroughth eGUI.TheGUI opensatextwindowforthiscommunication. TheGUIoptionsallowtheusertosetinteractive/automatic modeforthe CEPatanypointduringasession.Intheinteractivemodeoft heCEP,theuseris againgiventheoptionoftakingtheEntrymode(wheretheuse rcanedittheparse

PAGE 105

93 tree,addnewtypesofconstraintsandsoon,)ortheParsemod e(forthenavigate optionofthesolvingphase).Inthelattercase,theuserisp romptedeachtime whenasubsystemofequationsisbuiltbytheESMtosendtothe AlgebraicSolver. Iftheautosolveoptionischosen,thedefaultchoiceistosh utoalluserinteraction withtheCEP. TheGUI,sometimesjustreferedtoasSketcher,iswrittenin Java,Java3D andisthemaindriverforFRONTIERandisusedforallinputan doutput.The DR-planner,CCO,UTU,ESMtogetherwithCEP,andsoon,arewr itteninC++. TheC++driveristheUTU,whichalsocoordinatesthecommuni cation.The AlgebraicSolveriso-the-shelf[ 49 ]andnotdiscussedhere. ImplementingtheCommunicationbetweentheModules TheDR-plan datastructureisphysicallysharedbytheC++modules,andi scommunicated, throughtheUTU,totheJavamodulesusingaJavaNativeInter face(JNIarrays); howeverthesamedatastructureisconceptuallymirroredin theobjectoriented hierarchiesusedbytheGUI'sJavamodules.TheGUIisusedfo ralluserinputand foralloutputdisplays.Allinformationpassedbetweenthe GUIandthebackend modules(C++)ispassedthroughaJNIinterfaceofthreearra ys,oneofintegers, oneofdoublesandoneofcharacters.TheGUIwritesinformat ionintothesethree arrays,andnativelycallstheC++codewiththesethreearra ysasparameters.The C++driver,theUTU,parsesthesearraysandfromthemcreate s(orrestores)the augmentedDR-Plandatastructuresdescribedearlier.TheU TUthendirectsthe ESMtoaccomplishthespecicrequestmadebytheuser,descr ibedabove,inthe Datarowsection.Thedierentrequestsareindicatedbythe useofanintegerrag thatispassedastherstintegerintheintegerarray. 6.3Conclusions WelistbelowthemainfeaturesofESM:

PAGE 106

94 TheESMmethod recursivelyassembles thedesiredsolutionofthesystem G : it prunes thesolutionspaceof G byeliminatingsolutionsthatareinconsistentwith theuser'sinteractivesolutionchoicesforwellorwell-ov erconstrainedsubsystems S of G .Theseareselectedby visuallywalkingtheuserthrough allthesolutions-for acurrentsubsystem S -thatareconsistentwithhis/herprevioussolutionchoice s forsubsystems of S .Thesesubsystems S aretakenfromaDR-planof G .When thisDR-planisincorrespondencewithadesigndecompositi onof G ,theESM methodprovidestheuserconceptuallymeaningfulcontrol. TheESMmethodis typically fullyscalable inthatonlyasmall(constant,independentof j G j )number ofsolutionchoicesareoeredtotheuseratanystage,inatr actable(linearin j G j ) numberofstages. TheESMmethodpermitstheuserto backtrack andchangehis/herprevious solutionchoicesatanystage.Italsopermitsadditional navigationconstraints andotherinputsbytheuserthathelpreducethesolutioncho icesforthecurrent subsystem S ,orhelpspeedupthesolvingof S .Thesecouldbeprovidedapriori orinteractively.TheCEPpermitstheusertoedittherepert oireofnavigation constrainttypesandthemannerbywhichtheyareparsedinto algebraicequations forecientsolving.Alternatively,theentireESMmethodc anbeswitchedto automatic ,thatis,requiringnouserinteraction.Inthiscase,itse ciencyand scalabilitydependonthetightnessoftheaprioriinputnav igationconstraints. GivenaccesstothecompanionmethodsinSection 6.1 ,themodularESM methodisoriginal,butconceptuallysimple.Itinvolvessi gnicantinteractionwith theuserandwiththecompanionmethods.Hencethechallenge liesinitsclean integrationintothegeometricconstraintsolverarchitec ture(Figure 6{1 )[ 10 ], leveragingandnaturallyextendingthedatastructuresand datarow.Theoriginal contributionofthischapterisrepresentedbythedottedba llooninFigure 6{1 .A completeimplementation(Figure 6{1 )canbefoundintheFRONTIERopensource

PAGE 107

95 software[ 15 ],whichistodatetheonlycomplete3Dgeometricconstraint solver available.

PAGE 108

CHAPTER7 COMBINATORIALOPTIMIZATIONOFALGEBRAICCOMPLEXITY InChapter 7 weshowthat,Mostmajorgeometricconstraintsolversusea combinatorialorgraphalgorithmtogenerateadecompositi on-recombination (DR)plan.ADRplanrecursivelydecomposesthesystemofpol ynomialequations intosmall,genericallyrigidsubsystemsthataremorelike lytobesolvedby algebraic-numericsolvers. Especiallyfor3Dgeometricconstraintsystems,afurthero ptimizationofthe algebraiccomplexityofthesesubsystemsisbothpossible, andoftennecessary tosolvethewell-constrainedsystemsselectedbytheDR-pl an.Toattackthis apparentlyundocumentedchallenge,weuseprinciplesofri gidbodytransformation andquaternionformsandwecombinatoriallyoptimizeafunc tionoverthe minimumspanningtreesofagraphgeneratedfromDR-planinf ormation.This approachfollowsaninterestingconnectionbetweenthealg ebraiccomplexityofa well-constrainedsystemandthetopologyofitsmaximalwel l-constrainedproper subsystems.Theoptimizationhastwosecondaryadvantages :fornavigatingthe solutionspaceoftheconstraintsystemandformappingsolu tionpathsinthe congurationspacesofthesubsystems. Wecomparethereductioninalgebraiccomplexityofthesubs ystemafter optimizationwiththatoftheunoptimizedsubsystemandill ustratethepractical benetwithnaturalexamplesthatcouldonlybesolvedafter optimization. 7.1AnInstructiveExample Inthissection,weshowthreeincreasinglysophisticateda ndincreasingly ecientapproachesto representingtheactiveconstraints neededtoresolvea clusteroftheDR-plansatisfyingthepropertiesof 1.2 .Sincewewanttobeableto 96

PAGE 109

97 C6 C5 C4 C3 C2 C1 c C7 g h i d e a b f HOME ROOT C1 C2 C4 C3 2 22 4 4 4 C1 C2 C4 C3 2 2 2 Figure7{1:Thechildclustersof hex tet andtheweightedoverlapgraph. computeanyandallsolutions,thenumberofvariablesandth ealgebraicdegreeof theconstraintsplaysacrucialrole. Figure 7{1 showstheconstraintstructureandchildclusters C i ofaproblem wecall hex tet ,forreasonsthatwillbecomeobviouswhenwelookatspecic geometricinstanceslateron.Allverticesrepresentpoint swith3degreesoffreedom (dof)andalledgesaredistanceconstraintsremoving1dofe ach.Thechildclusters C 1 C 2 and C 3 aretetrahedraandallotherchildclustersaretriangles.T heactual distancevaluesarenotyetrelevantforthediscussioninth issection(butwillbe inSection 7.3 whenweactuallysolveinstances).Wemaythinkofthemasequ al (exceptforthe3distances ef gh and di whichneedtobelargerinorderfora solutiontoexist). Thecluster C satisestheDR-planpropertiesofSection 1.2 .Specically,the childclustersformacompletesetofmaximalclustersprope rlycontainedin C andtheirpairwiseintersectionsaretrivial.Minimalcove ringsetsare: f C 1 ;C 2 ;C 3 g f C 5 ;C 6 ;C 7 g

PAGE 110

98 Inthefollowing,wedenoteby x a;C i := 266664 x a;C i y a;C i z a;C i 377775 2 R 3 thecoordinatesofpoint a in C i 'slocalcoordinatesystemandby x a;C;C i := 266664 x a;C;C i y a;C;C i z a;C;C i 377775 thecoordinatesofpoint a parameterized inthedof'sin C 'scoordinatesystem. Inparticular, x a;C;C i maydependonrotationanglesthatwillonlyberesolvedtoa nalposition x a;C incluster C bysolvingtheconstraintsystem. 7.1.1TheUnoptimizedPolynomialSystem Currentconstraintsolvers,suchasFRONTIER[ 15 ],constructthepolynomial systemcorrespondingto hex tet asfollows: Pickanarbitraryminimalcoveringsetofchildclusters.Fo rtheexample,we choose f C 1 ;C 2 ;C 3 g .Setthecoordinatesystemof C tooneofthechildclusters. Thischildclusteriscalledthe homecluster for C .Fortheexample,wechoose C 1 Eachoftheothertwoclusters'positionandorientationwit hin C 'scoordinate systemcanbeexpressedusingacomposite3Drotationmatrix M andatranslation vector t .Forexample,point i in C 2 canbewrittenas x i;C;C 2 = M C 2 x i;C 2 + t C 2

PAGE 111

99 where t C i 2 R 3 isatranslationthatpositions C i in C 'scoordinatesystemand M C i = 266664 s 2 s 3 s 2 c 3 c 2 s 1 c 2 s 3 c 1 c 3 c 1 s 3 + s 1 c 2 c 3 s 1 s 2 s 1 c 3 + c 1 c 2 s 3 s 1 s 3 + c 1 c 2 c 3 c 1 s 2 377775 isacompositionof3Drotationsthatorient C i in C 'scoordinatesystem.The entriesof M C i arepolynomialsoftotaldegreeatmost3inthesixvariables s 1 ;C i ;s 2 ;C i ;s 3 ;C i ;c 1 ;C i ;c 2 ;C i ;c 3 ;C i .Thesevariablesrepresentthesinesandcosinesof therotationanglesandarethereforerelatedbythree trig-relation equationsofthe form s 2i + c 2i =1. Since C 2 sharesthepoint a with C 1 andthecoordinatesof C 1 arexed, t C 2 = x a;C 1 x a;C 2 .Similarly, t C 3 = x b;C 1 x b;C 2 Thisleavessixactiveconstraintsfor C :threedistanceconstraintsoftype 2 i;C j ;C k = k x i;C;C j x i;C;C k k 2 where istheprescribeddistanceandthreeoverlapconstraints x `;C;C j = x `;C;C k ;j;k 2f 1 ; 2 ; 3 g : Thus,toresolve C ,weneedtosolveasystemof twelvepolynomialequationsof maximumdegree6 intwelvevariables s i;C j and c i;C j ,1 i 32 j 3.Thesix trig-relationshavedegree2.Thethreedistanceconstrain tseachhaveatotaldegree 6(since,forexample,therotationmatrixresultsincubice xpressionsforthevalue of x i;C;C 2 )andtheoverlapconstraintseachhavetotaldegree3. 7.1.2UsingQuaternions Amorecarefulapproachtostep3oftheprocedurecanreducet hedegreeof theequations.Eachofthetwoclusters C 2 and C 3 shareapointwiththehome cluster.Thentheirpositionandorientationwithin C 'scoordinatesystemcan

PAGE 112

100 berepresentedasarotationaboutanarbitraryaxispivotin gthroughtheshared point. Itiswell-knownthatrotationaboutanaxis v 2 R 3 byanangle canbe expressedas q 1 (0 ; x ) q ; where q :=(cos( = 2) ; sin( = 2) v k v k ) : Here isthequaternionmultiplication.Infact,anyrotationmat rixcanbe expressedintermsofa(unit)quaternionas Q := 266664 1 2 q 2 2 2 q 2 3 2( q 1 q 2 + q 0 q 3 )2( q 1 q 3 q 0 q 2 ) 2( q 1 q 2 q 0 q 3 )1 2 q 2 1 2 q 2 3 2( q 2 q 3 + q 0 q 1 ) 2( q 1 q 3 + q 0 q 2 )2( q 2 q 3 q 0 q 1 )1 2 q 2 1 2 q 2 2 377775 ; 3 X i =0 q 2 i =1 : Forexample,therotationabout x -axisby isrepresentedintermsof q = ( c;s; 0 ; 0)where c :=cos( = 2), s :=sin( = 2)andhence Q x = 266664 10001 2 s 2 2 sc 0 2 sc 1 2 s 2 377775 ; sin( )=2 sc; cos( )=1 2 s 2 : Backtoourexample,instep 3 ,wetranslate C 2 sothat x a;C;C 2 = 0 ,thatisthe point a thatitshareswiththehomeclusterbecomestheorigin.Then weapplyto eachpoint i thequaternionmatrix Q C 2 (withunevaluated q i ).Finally,wetranslate tothetargetposition x a;C;C 1 of a inthehomecluster: x i;C;C 2 = x a;C;C 1 + Q C 2 ( x i;C 2 x a;C 2 ) : Weareleftwiththethreeoverlapandthreedistanceconstra intsasinthe previousformulation.However,wenowneedtoresolveonly eightequationsin eightvariablesofmaximumdegree4 !Moreover,thethreeoverlapequationsare onlyquadratic,asarethetwotrig-relationequationsfor C 2 and C 3 .Thedistance

PAGE 113

101 equations di between C 1 and C 2 ,and ef between C 1 and C 3 arequadraticandonly thedistanceconstraint ih between C 2 and C 3 isoftotaldegree4. 7.1.3AnOptimizedAlternative Boththenumberofunresolvedconstraintsandthedegreeoft heequations canbefurtherreduced.Considerthefollowingconstructio nforaconstraint systemexpressing hex tet .Choose f C 1 ;C 2 ;C 3 ;C 4 g asthe(notminimal!) coveringset.Choose C 4 asthehomecluster.Withoutlossofgenerality,using basictrigonometry,thecoordinatesystemfor C is x a;C;C 4 = 0 ; x b;C;C 4 = 266664 dist( a;b ) 00 377775 ; x c;C;C 4 = 266664 dist( a;c ) c 23 dist( a;c ) s 23 0 377775 where c 23 and s 23 arethesineandcosineoftheanglebetweentheedge a;b andthe edge a;c Since C 4 andeach C k k =1 ; 2 ; 3sharetwopoints, p k ; ~ p k 2f a;b;c g ,the positionandorientationofthecluster C k arexedexceptforrotationaboutthe axisthroughthetwopoints.Thecoordinatesofanarbitrary point i incluster C k canthenberepresentedas x i;C;C k = x p k ;C + R C k ( x i;C k x p k ;C k ) : where R C k isalinearexpressionsin2variables s C k and c C k .Thevariables representthesineandcosineofrotationabout p k ~ p k andsatisfy c 2C k + s 2C k =1. Thisleavesonlythreedistanceconstraints.Toresolvethe cluster C ,wenow onlyneedtosolveasystemof sixquadraticconstraintsinthesixvariables s C j and c C j ,1 j 3sinceallconstraints,thethreedistanceconstraintsand thethree trig-relationconstraints,arequadratic!

PAGE 114

102 7.1.4Interpretation Thereductioninalgebraiccomplexityfromtheoriginaltot heoptimized solutionissignicant.Noneofthealgebraicandnumerical solvers,wesurveyed, succeededinsolvingtheoriginalproblemformulationbuta llsolutionsofthe optimizedsystemwereobtainedinlessthanoneminute.Befo rewelookat individualinstancesinSection 7.3 ,wecharacterizetheprinciplesunderlyingthe optimizedsolutionandgiveageneralalgorithmforoptimiz ation. 7.2OptimizingAlgebraicComplexityusingClusterTopolog y InthisSection,weformulateacombinatorialoptimization ofthealgebraic complexityofthepolynomialsystemforresolvingacluster C .Werestrict ourselvestothe3Dcase{the2Dcaseissimilarandsimpler.O urdenitionof theoptimizationproblemisaccompaniedbyasketchofanopt imizationalgorithm. Weassumethatthecluster C ,forwhichtheoptimizedpolynomialsystem needstobeconstructed,satisestheDR-planpropertiesof Section 1.2 .Specically, weassumethatitschildclustersformacompletesetofmaxim alclustersproperly containedinawell-constrainedcluster C ;thatalloverconstraintsandhidden constraintdependencieshavebeenremovedasrequired.Wem ayalsoassume thatthepairwiseintersectionsoftheseclustersaretrivi alsubgraphssince,if C isformedfromapairofchildclusterswhoseintersectionis non-trivial,thehome clusterxestheotherclustersbyxingthreeofitspoints. Werstdeneanatural methodofdescribingthetopologyofthechildclustersofac luster. Denition7.2.1 Theoverlapgraphofasubset S ofchildclustersof C isan undirectedgraphwhoseverticesaretheclustersin S .Theedgesrepresentpairsof clusters.Iftheoverlapbetweenthepair C i ;C j isatrivialsubgraphthatreduces, afterresolvingincidenceconstraints,to k pointsthentheweightofanedgeis w ij ( k ):=6 2 k

PAGE 115

103 Theweightofanedge( i;j )agreeswiththenumberofrotationvariablesneeded torepresentthecluster C i ,if C j weretobexedasthehomecluster. R ,the twovariablerotationof C i abouttheaxisformedbythetwosharedpointsinthe overlap; Q ,thefourvariablequaternionmatrixrepresentingrotatio nof C i about thesharedpointintheoverlap; M ,thesixvariablecombinationofrotationand translationoftheunoptimizedexample. Basedontheexamplesoftheprevioussection,weobservetha t(i)anychoice ofaset S ofchildclustersthatformsacoveringsetfortheparentclu ster C ,and (ii)anyspanningtree T oftheoverlapgraphoftheclustersin S inducesasystem ofequationsforresolving C Thechoice H ofatreerootrepresentsthehomeclustertobexed.Since C isassumedtobewellconstrained,thenumberofvariablesan dequationsequalsthe totaledgeweightofthethespanningtree.Mostsparsepolyn omialsystemsolvers [ 52 53 ](geometricconstraintsystemsaresparse)taketimeexpon entialinthe numberofvariables.Hencetheoverwhelmingfactorintheal gebraiccomplexity ofthesystemisthenumberofvariables.Degreeandthenumbe roftermsareless importantsincethetimecomplexityispolynomialinthesep arameters. Algorithmically,optimizationrequires ndingaspanningtreeofminimumtotalweightinthesubgraphoftheoverlapgraphinducedby S ,overallcoveringsets S .Alternately,if S arechosentobe minimal coveringsets,thentheoptimization requires ndingatreeofminimumtotalweightcontaining S ,overallcoveringsets S Forgeneralgraphsandeitherarbitrarysetsofvertices S ofaxedsizeor evenforaxedinputset S ,thisproblemiscalledthe Steinertree problemandit isNP-complete.Ouroverlapgraphs,however,arespecial;t hesets S arecovering sets,andmostimportantly,sincethecluster C isdecomposedintoitsmaximal clusters,thenumberofchildclustersinmostapplications isnomorethanten.So,

PAGE 116

104 2 2 2 2 C1 C2 C5 C4C3 2 C5 C4 C3 C6 C2 C1 C5 C1 C2 C6 C3 C4 2 2 4 2 4 2 2 Figure7{2:Constraintgraphandweightedoverlapgraphofp roblem pent plat 2 2 C1 C2 C4C3 2 C2 C5 C3 4 4 4 4 6 2 2 C1 C2 C5 C3 2 2 2 C1 C2 C5 C4C3 2 2 C2 C5 C4C3 Figure7{3:Fivespanningtreesofthecoveringsetsoftheex ample(Figure 7{2 ). forourpurposes,thisproblemistractableifweusetheorig inalformulationinthe previousparagraph,evenifweexhaustivelysearchthrough allcoveringsets S Figure 7{3 showscoveringsetsandtreesfortheexample pent plat (Figure 7{2 )wherechildclusters C 1 ;:::;C 6 formacompletesetofmaximalchildclusters oftheparentcluster C .Weareinterestedinthosethathavetheminimumpossible weight(inthiscase8).Notetherightmostcoveringsetonly hasaspanningtreeof weight10. Wecanfurtheroptimizethedegreeamongtheset V C ofpolynomialsystems for C withminimumnumberofvariables(andequations).Theset V C canbe identiedwiththesetofspanningtreesforoptimalcoverin gsets S (thatis,those thathavespanningtreesofminimumweightoverall S ).Now,followingthe examplesofSection 7.1 ,givensuchanoptimalcoveringset S andaminimum weightspanningtree T for S ,theequationsneededtoresolve C aredeterminedby (a)theclusteroverlapsbetweenpairsofclustersin S ,correspondingtonon-tree edgesclustersin S ,(b)distanceconstraintsbetweenclustersin S and(c)quadratic

PAGE 117

105 trig-relationconstraintsrelatingtherotationparamete rsofeachclusterin S except thehomecluster. Thedegreesoftheseequationsaredeterminedbythechoiceo fthehome cluster H ortherootof T .Todeterminethepolynomialdegreeofequations,let C j bethedirectpredecessorofacluster C i onthepathfromtherootto C i .Then anoverlapconstraintinvolvingapointincluster C i thatisnotin C j hasdegree deg( C i )atmost deg( C i )= 8>><>>: max f 2 ; deg( C j ) g if w ij =4 ; deg( C j )+1if w ij =2 : Adistanceconstrainthas,ofcourse,twicethedegree.Thus overall,agood intuitiveheuristicistouse,asaroot,ahomecluster H thatminimizesthedepth oftherootedtree. Fortheexampletrees(Figure 7{3 )choosinganyoftheleft4coveringsets, weget8equations,butchoosingtherightmostgives10equat ions.Bychoosing dierenthomeclusterssay C 4 versus C 5 fortheleft-mosttreewegetdierent maximumdegreesfortheactivedistanceconstraint.Thebes tchoiceoverallisthe leftmosttreewithhomecluster C 5 ,whichyields3overlapconstraints(between C 2 and C 3 )ofdegree2and1distanceconstraintofdegree4. Theexampleshowsthatcomputingthedegreesoftheequation s,thatresult foragiventreeandhomecluster,requirescare.Buttheopti mizationproblemand algorithmarestraightforward: overthespanningtreesin V C andthechoicesoftheirrootsorhomeclusters H we minimizethemaximumdegreeofthesystemofequations and, intheresultingsetofrootedtrees V DC we ndthosewiththeminimumnumberofequationsofmaximumdeg ree Keepingtrackofthespanningtreesin V C and V DC canbeachievedin polynomialtimeusingthedatastructures[ 54 ].However,inpractice,thebig

PAGE 118

106 Ocomplexityforcreationandmaintenanceofthesedatastru ctureshideslarge constants.Thusforthesmallsizesofclustersandoverlapg raphsthatare typicalinmostapplications,anexhaustivealgorithm,alb eitofexponentialtime complexityworksbetter.7.2.1ReductionofAlgebraicComplexitythroughOptimizat ion Theformaldecreaseinthe numberofvariablesandequations obtained throughtheoptimizationiseasytoquantify.Withoutoptim ization,tosolvea wellconstrainedcluster C using k childclustersthatformaminimalcoveringset, wewouldneed6( k 1)variables,independentofthenumberofnonemptyoverlap s betweenclusters.Usingouroptimizationmethod,wewouldt ypicallyneedtwo fewervariablesforeachpointoverlapandfourfewerforeac hpairoverlap.Let k 1 bethenumberofpairoverlapedges,and k 2 thenumberofpointoverlapedgesina minimumweightspanningtree T oftheoverlapgraphofthechildclusters.Then weneedatmost2 k 1 +4 k 2 +6( k 1 k 1 k 2 )variables.If k 1 + k 2 = k 1,we reducethenumberofvariablesbyafactorlinearin k ,thenumberofchildclusters. The totaldegree ofallthedistanceequationsintheunoptimizedsystemis6. Letusassumetherootintheminimumspanningtree T thatmaintainsadistance ofatmost2(resp.1)toeachclusterinvolvedinadistanceco nstraint.Then,inthe optimizedsystem,thelargestdegreeofadistanceequation isatmost4(resp.2). 7.2.2RemovingAssumptionsMadeinSection 1.2 WeturntotwoassumptionsmadeinSection 1.2 .Therstistoensurethat thesystemofequationsconstructedbytheabovealgorithmi sstable[ 13 ].Inthe leftmosttree(Figure 7{3 ),althoughthecluster C iswellconstrainedandthedof countissix,therearetwonon-treeedgesrepresentingover laps.Choosingthe overlapconstraintsbetween C 2 and C 3 wouldresultinanindependentsystem forsolving C ,butchoosingtheoverlapbetween C 1 and C 4 wouldresultinthree dependentconstraints.Thisproblemisaddressedindepend entlyandsolvedby

PAGE 119

107 Sitharametal.[ 13 ].Here,wedonotimposethisconstraintofstabilityintoou r optimizationproblem,sincethefeasibleregionforouropt imizationproblem correspondstochoosingordescribinganindependentset{a ndthisisnontrivial. Wesimplyassumethatanychoiceoftheappropriatenumberof overlapconstraints andotherconstraintsisavalidchoice. Thesecondassumptionmadein 1.2 isthattherearenoclusters(among thechildclustersof C )whoseclusterhooddependsonotherclusters.Infact,in ordertoobtaintractable,approximatecharacterizations ofcombinatorialrigidity [ 12 ],suchdependentclustersarenecessary.Inouroptimizati onproblem,these dependentclustershavetostaywiththeirpartnercluster, aectingthesetofvalid choicesforcoveringsets S .However,whileoutsidethescopeofthissection,there isarelativelystraightforwardextensionoftheaboveopti mizationalgorithmthat wouldremovebothoftheseassumptions. 7.3SolutionstoanOptimizedSystemofClusterConstraints Wenowsolveseveralgeometricinstancesoftheproblem hex tet from Section 7.1 andaninstanceof pent plat fromSection 7.2 Tobeabletobetterjudgetheoutputofourcalculations,wes electsymmetric setupfor hex tet :thethreeclusters C 1 C 2 and C 3 areinitializedwithidentical localvertexcoordinates c ij c i; 1 :=[ 1 1 1 ] ; c i; 2 :=[ 1 11 ] ; c i; 3 :=[ 1 1 1 ] ; c i; 4 :=[ 11 1 ] ;i =1 ; 2 ; 3 : Theverticesarethoseofaregulartetrahedronand c ij isthe j thvertexofcluster i .Theincidenceanddistanceconstraintsthatforcethetetr ahedraintoaspecic spatialarrangementare c i; 2 = c i +1 ; 1 ; and k c i; 3 c i +1 ; 4 k 2 = 2 i ;

PAGE 120

108 -1 0 1 2 3 -2 -1 0 1 2 -1 -0.5 0 0.5 1 C4 d3 d2 d1 d1 d3 d2 C4 C3 C2 C1 Figure7{4:Uniquesolutiontoproblem hex tet Figure7{5:Diagramaticviewofthefoursolutionstoproble m( ii ). where i +1=1for i =3.Theunderlyinggeometryisvisualized(Figure 7{4 )for one,externalchoiceof i .Weconsiderthreecases.Ineachcase,itwasnecessaryto usetheoptimizedformulationofthesystemdescribedinSec tion 7.1 tobeableto solveitwithanumericalsolver[ 49 ]. Themaximalvaluefor 2 1 = 2 2 = 2 3 thatstillallowsforarealsolutionis 2 :=22+4 p 2 p 3.Thenthereisexactlyonesolution(Figure 7{4 ).Wejuxtapose thespatialviewwithamoreabstract,diagramaticviewofth esolution.Ingeneral, thespatialviewdoesnotyieldagoodvisualizationsinceth eclustersintersectand blocktheview.Especiallywhenpresentingsolutions,show ingjustthehomecluster andtheactivedistanceconstraintsoftenrevealstheunder lyingsymmetries. For 2 1 = 2 2 = 2 3 = (nosquare),weobtainfoursolutionswithevident symmetries(Figure 7{5 ).

PAGE 121

109 Figure7{6:Diagramaticviewofthetensolutionstoproblem ( iii ). Finally,byalteringtheedgelengthsofonecluster,weobta intensolutions (Fgure 7{6 ). Toobtainaversionof pent plat ,whereweknowatleastonesolution (namelytheinitialpositionofallvertices),wedenetenv erticesas p i :=[ cos( i ) sin( i ) e i ] ; where :=2 = 10and e i := 8>><>>: 1if i isodd ; 0if i iseven : i =0 ; 1 ;:::; 9 : Weinitializetheclustersas C 1 :=[ p 0 ; p 1 ; p 2 ; p 3 ] ;C 2 :=[ p 2 ; p 3 ; p 4 ; p 5 ] ;C 3 :=[ p 5 ; p 6 ; p 7 ; p 8 ] ; C 4 :=[ p 7 ; p 8 ; p 9 ; p 0 ] ;C 5 :=[ p 9 ; p 0 ; p 1 ] : Thealgorithmselectstheleftmostminimumspanningtree(F igure 7{3 ),with C 5 asthehomecluster.Thatis,theminimumspanningtreehastw olevels: C 5 f C 1 ;C 2 gf C 4 ;C 3 g ,thatis C 2 isachildof C 1 and C 1 isachildof C 5 and C 3 isa childof C 4 and C 4 isachildof C 5 Thenon-treeedgesbetween C 2 and C 3 ,asmentionedearlier,representa stableorindependentset[ 13 ]ofactiveoverlapanddistanceconstraintsforthe cluster,thatforcetheremainingtetrahedralchildcluste rsclusters C 1 ;C 2 ;C 3 ;C 4 intospecicspatialarrangements: c 2 ; 4 = c 3 ; 1 (threeconstraints)and k c 2 ; 3 c 3 ; 2 k 2 = :

PAGE 122

110 -1 -0.5 0 0.5 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 C5 C1 C2 C3 C4 del -0.5 0 0.5 1 -1 -0.5 0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -1 0 1 2 -1 -0.5 0 0.5 1 1.5 2 -1 -0.5 0 0.5 1 1.5 2 Figure7{7:Threeoftheeightsolutionstothe pent plat problem( iv ). iv. For =1 : 381966011 ::: ,thesquareofthelengthoftheedgeofaregularunit pentagon,thereareeightsolutions,includingtheinitial ization(Figures 7{7 7{8 ). Beyondtheobviouspracticalusefulness,theoptimization methodpresented heresuggeststhattheminimumspanningtreeoftheclustero verlapsandthe choiceofhomecluster(cluster C 4 for hex tet andcluster C 5 for pent plat )help understandthestructureandsymmetriesofthesolutionspa ce. Figure7{8:Diagramaticviewof8solutionstothe pent plat problem( iv ).

PAGE 123

111 Theoptimizationmethodadditionallysuggestsavisualiza tionofasolution pathforthesolvedclusterasasequenceofoperationsonthe childclusters.The unoptimizedcaseexplicitlyresolvesoverlapconstraints betweenclustersaspartof asimultaneoussystemthatincludesactivedistanceconstr aintsandtherebyhides thesolutionpath. Bycontrast,theoptimizedmethodusesthechosenrootedspa nningtreeof Section 7.2 todenethesequenceofsolutionoperations.Themethodrs tapplies asequenceofunevaluatedorabstractrotationstoeachnonhomechildcluster, consideredinthetreeorder,andthentranslatesittoitsov erlappointswithits ancestorcluster.Thisleavesonlythe(quaternionoraxis) rotationstosolvefor, whenenforcingthedistanceconstraintsandtheremainingi ncidenceconstraints.

PAGE 124

CHAPTER8 OPTIMAL,WELL-FORMEDRECOMBINATION 8.1Introduction Largealgebraicsystemsarise,forexample,inindustrialg eometricconstraint solving.Modernsolversemploysophisticatedrecursivede compositionstosolve subsystemspiecemealandthensolve recombination systemstocombinesolutions tothesubsystemsbackintoaglobalsolution.Arecombinati onsystemconsists ofbothoriginalconstraintsthatrelategeometricobjects appearingindierent subsystemsandadditionalconstraintsthatassertinciden cesbetweencopiesof sharedobjectsthatappearindierentsubsystemsinthedec omposition.The constraintsbetweenthesharedobjectsappearinallthesha ringsubsystems formallyleadtoconsistentlyoverconstrainedordependen trecombination systems.Thustheconstraintsbetweenthesharedobjectsar etypicallysatised inslightlyperturbedforminthesharingsubsystems.Dueto thisperturbation, theconsistencyofthedependentconstraintsisnowdicult todetect;andtheir solutionwillresistsolvers,suchasexactGroebnerbasisr eduction,thatuseexact computationsandrequireexactequivalence.Ontheotherha nd,duetothe freedominscaling,evensmallperturbationscancreatecon vergenceproblemsfor numericalsolversifthetolerancesaresettootight.There combinationsystemcan typicallyonlybesolvedbygeneratingniteprecisioninte rmediatesolutionsforthe subsystems.Thesebecomethecoecientsoftherecombinati onsystem. Sincetherecombinationsystemisusuallyconsistent,buti tishardtotrack theactualsourceoftheinconsistency,weneedan algorithmtoselectasubsetof equations toformawell-formedrecombinationsystemthathasnodepen dencies, butwhoserootscouldbeasmallsupersetofthesolutions.Th eoriginalconstraints 112

PAGE 125

113 arethenusedtoeasilyeliminateextraneoussolution.Such a well-formedrecombinationalgorithm thatavoidsnumericaloralgebraictreatment,butisobtain edby usingonlythetopologicalstructureoftheconstraintgrap h,hasrecentlybeengiven bySitharam[ 28 ].HoweveritwillbeseenlaterinSection 8.2 ,theresultingsystem isnotoptimizedwithrespecttoalgebraiccomplexity. Ontheotherhand,forwell-constrainedsystems,Sitharame tal.[ 14 55 ] giveanecientgraph-basedalgorithmtondarecombinatio nsystemwhose algebraiccomplexityisoptimized.Bypartialelimination ,thisapproachreduces therecombinationsystemtoamuchsmaller,denseroneandth erebymovesthe problemintotherangeoftractability.This optimalrecombinationalgorithm determinesaneliminationorderthatminimizesrstthenum berofvariablesand thenthedegreeintherecombinationsystem.However,theal gorithmis,ohand, notguaranteedtogiveawell-formedrecombinationsystemf reeofdependencies. Inthefollowing,wecombinetheoptimalrecombinationalgo rithmgivenby Sitharametal.[ 14 55 ]withthewell-formedrecombinationalgorithmgivenby Sitharam[ 28 ].Tostateandprovethecorrectnessofthenewalgorithm,we review thesalientmachinery[ 14 28 55 ]inSection 8.2 .Section 8.3 thenmotivatesthe algorithm,showscorrectnessanddiscussestheimplicatio ns. 8.2Background:ConstraintSystemsandClusters Geometricconstraintsystemsaresuccinct,conceptualand editablerepresentations ofgeometriccomposites.Theyariseinapplicationssuchas mechanicalcomputer aideddesign,robotics,molecularmodelingandteachingge ometry.Forrecent reviewsoftheextensiveliteratureongeometricconstrain tsolving[ 2 3 4 6 ]. A geometricconstraintsystem relatesanitesetofprimitivegeometricobjects (points,lines,linesegments,conics,andsoon)byanites etofconstraintson distance,angle,incidence,tangency.Thecoordinatesoft heobjectsthenappear asvariablesofalgebraicequationsandinequalities.Note wewillfocusonlyon

PAGE 126

114 C1 C2 C3 C4 C5 C6 v1 v2 v3 v4 v5 v6 v8 v9 v10 v11 v7 Figure8{1:Schematicrepresentationofa3Dgeometriccons traintsystem. distance constraintssystemswheretheonlyconstraintsarebetween points.A distanceconstraintof d betweentwopoints( x 1 ;y 1 )and( x 2 ;y 2 )in2Diswrittenas ( x 2 x 1 ) 2 +( y 2 y 1 ) 2 = d 2 ,where d istheconstraintparameter. A solutionorrealization ofageometricconstraintsystemisa real zeroof thealgebraicsystem.Eachzerorepresentsapositioningan dorientationofthe objectswithrespecttoeachothersothatincidenceanddist anceconstraints hold. Wellconstrainedsystems haveanitebutpotentiallyverylargenumber ofzero-dimensionalsolutions. Underconstrainedsystems haveinnitelymany solutionsand overconstrainedsystems havenosolutionunlesstheyare consistently overconstrained.Wellconstrainedorconsistentlyoverco nstrainedsystemsarecalled rigid Fortractability,manymoderngeometricconstraintsolver s[ 6 ]represent geometricconstraintsystemsasgraphswheretheverticesr epresentthegeometric primitivesandtheedgespresenttheconstraintsbetweenth emandemploya decomposition-recombination(DR)plan ,acombinatorialstructurethatrecursively decomposesaninputgeometricconstraintsystemintocolle ctionsofsmaller, generically rigid,naturalsubsystems,called clusters .Theclustersarerecursively decomposedandsolvedandtheirsolutionsarerecombinedto yieldarealizationof

PAGE 127

115 theinputconstraintsystem.Let G beageometricdistanceconstraintgraphand D := f C 1 ;C 2 ;::: g ;C i G; acollectionofrigidclusters C i of G Standardclusterdecompositions D havemany desirablepropertiesthathelpsolvingeciency,detectin grigidity,incorporating featurehierarchies,dealingwithunder-andoverconstrai nts,solutionnavigation[ 2 ]. [standarddecomposition]Thepair( G;D )isa standarddecomposition ofa3 D geometricdistanceconstraintsystemif(i)Theclustersin D arewellconstrained(or minimallyrigid)andaremaximalproperclustersubgraphso f G .(ii)Theclusters in D formacompletecoveringsetfor G .(iii)For i 6 = j j C i T C j j 2.Here(i) impliesthatthereisnopropersubgraphof G thatisrigidandproperlycontains anyofthem;In(ii), covering setmeanstheunionoftheclustersincludesallthe verticesandedgesof G andnoclusterisentirelycontainedinanothercluster;and (iii)statesthatclustersdonotsharemorethantwovertice s(sinceotherwisein3D wecouldcombinethemintoasinglerigidclusterwithoutusi ngarecombination systemwhere G hasnoover-constraints,whenever2clustersintersectona pairof vertices,theverticesareconnectedbyanedge). Note,fortheremainderofthismanuscript,theonlyinforma tionthatwillbe neededinastandarddecomposition( G;D )is( V D ;E D ; f c i g ),where V D and E D denotethesetofverticesandedgesof G thataresharedbymorethan1clusterin D .Anyotherinformationinadistanceconstraintgraph G andtheclustersin D ishenceforthirrelevant.Hencewewillsimplyidentifythi stuplewithastandard decomposition D Asystem C (Figure 8{1 )isdecomposedintosixclusters C i .Recombining therealizations c i oftheseclusters(themselvestypicallyobtainedbyrecurs ive decompositionandrecombination)toobtainarealization c of C meanschoosing acoordinatesystem,saythatof c 1 andrepositioning c 2 c 3 c 4 c 5 c 6 inthe

PAGE 128

116 C1 C2 C3 C4 C5 C6 v1 v2 v3 v4 v5 v6 v8 v9 v10 v11 v7 2 C1 C3 C2 C4 C5 C6 2 2 2 4 2 2 4 4 C1 C3 C2 C4 C6 2 2 2 Figure8{2:Overlapgraphandtheminimalspanningtreeofth eexample(Figure 8{1 ). coordinatesystemof c 1 .Dene x i;c l 2 R 3 ,thecoordinatesof v i in c l 'slocal coordinatesystem.Giventhe x i;c l ,wecomputetranslations t c i 2R 3 andthesix freeparametersofa3 3matrix M i representingthecompositionofthreerotations sothat x i;c 1 = M i x i;c i + t i : TheoptimalrecombinationalgorithmgivenbySitharam etal.[ 14 55 ]beginswithanecientrepresentationofthetransformati onsyields thefollowing:Foreachedgesharedbytwoclusters,oneequa tioninonevariable andforeachsinglevertexsharedbytwoclusters,thatisnot partofashared edge,oneequationineachofthreevariables.Thenumberofv ariablesisassigned asweightstoan overlap graph(Figure 8{2 ) O ( H )ofastandarddecomposition H =( V H ;E H ; f c j g ):thisisanundirectedgraphwhoseverticesarethecluster s c j Itsedgesrepresentpairsofclusters.8.2.1TheOptimalRecombinationAlgorithm Theoptimalrecombinationalgorithm[ 14 55 ]takesastandarddecomposition H asinputandoutputsanotherstandarddecomposition D =( V D ;E D ; f c i g )by choosinganoptimalcoveringsetofclustersandfurtherano ptimalspanningtreeof theoverlapgraph O ( D )of D thatminimizesthesumofweights.Thisreducesthe realizationproblem(Figure 8{2 )from30equationsin30variablesto8equationsin 8variables.

PAGE 129

117 Theedgeweightsoftheoverlapgraph O ( D )canbealsoviewedasfollows. Thedegreesoffreedom(dof)ofrigidclustersin3Dare: dof ( v )=3foranyvertex v; dof ( e )=5foranyedge e; dof ( C i )=6foranycluster C i unless C i isavertexoranedge. Sinceapairofverticesthathaveanedgebetweenthemcanbem ovedfreelybut havetoobeythedistanceconstraintdenedbytheedge,they have5degrees offreedomofpositionandorientation.Eachsingletonvert exhas3degreesof freedom.Theexample(Figure 8{1 )has30independentvariables.Duetothe shareddegreesoffreedomofsharededgesandsharedvertice sinastandard decomposition D ,anedgeofweight k intheoverlapgraphistheresultofapplying 6 k (singlecoordinate)incidenceconstraints. 8.2.2TheWellformedRecombinationAlgorithm The adjusted degreesoffreedom(adof)andthe removed degreesoffreedom (rdof)ofanysubset T ofclustersinastandarddecomposition D ofaconstraint graph G are adof( G;D;T ):= X Q T; j Q j 1 ( 1) j Q j 1 dof ( \ C 2 Q C ) =: X C 2 Q dof ( C ) rdof( G;D;T ) : ThekeyproblemaddressedbySitharam[ 28 ]isthatpickingawell-formed recombinationsysteminwhichthenumberofconstraintsmat chesthenumberof variablesmaycontainredundantconstraintsandleaveoute ssentialconstraints.If thesolutionsoftherecombinationsystemcontainalltheso lutionsoftheoriginal system,thenwecallit well-formed

PAGE 130

118 Intheexample(Figure 8{1 ),wehaveonedistanceconstraintbetweenclusters c 4 and c 6 andneedtoselect29incidenceconstraintsforrecombinati on.Figure 8{3 bottom ,showstwowell-formedrecombinationsystems.Butthesele ction(Figure 8{3 )hasdependentincidenceconstraintsandishencenotwellformed C3 C4 C5 C6 v1 v2 v3 v4 v5 v6 v8 v9 v10 v11 v7 3 2 3 3 3 3 2 3 3 2 3 3 3 3 2 3 2 3 3 3 3 2 3 3 2 2 2:y,z 2:x,y 3 2 3 2 2:x,z 1 C1 C2 Figure8{3:Choosingwell-formedincidencesforthesystem (Figure 8{1 )is nontrivial. Forasubsetofclusters T D I ( D ; T )isthesetofincidences( v;c i ;c j ;l )in I ( D )forwhich c i ;c j 2 T .Acycle ( v;c i 1 ;c i 2 ;l ) ;:::; ( v;c i k 1 ;c i k ;l ) ; ( v;c i k ;c i 1 ;l ) in I ( D )with k 3iscalled localcycle [well-formedsetofincidences]Asetofincidences I ( D )ofastandard decomposition D ofaconstraintgraphis well-formed ifit(a)hasnolocalcycle; (b)forany T D I ( D ; T ) rdof ( D;T );(c) I ( D )= rdof ( D;D ). FormalProblemStatement: Let D :=( V D ;E D ; f c i g )bethestandard decompositionoutputbytheoptimalrecombinationalgorit hm.Giveanecient

PAGE 131

119 algorithmforndingawell-formedrecombinationsystem S ( D )thatisoptimal. Thatis,thealgorithmshouldminimizethenumberofequatio nsin S ( D )and, amongtheminimizers,minimizethedegreeofthepolynomial sintheconstraint equations. Wenowdescribetheunderlyingstructureofthewell-formed systemof incidencesthatispickedbythewell-formedrecombination algorithm.Thisis importanttounderstandourcontribution.8.2.3SeamGraphs v91 c1 c2 c3 c4 c6 v11 v21 v23 v13 v12 v22 v43 v33 v34 v44 v86 v96 v81 v91 v11 v21 v23 v13 v12 v22 v43 v33 v34 v44 v86 v96 v81 Figure8{4:Seamgraph(Figure 8{2 )anditsseamtree. A seamgraph G D ofthestandarddecomposition D =( V D ;E D ; f c i g )ofa3D constraintgraphisanundirectedgraph. 2 3 2 3 2 3 3 2 Figure8{5:Wellformedsetofincidencesobtainedfromthes eamtree(Figure 8{4 ).

PAGE 132

120 Foreach v 2 V D S v isthesetof c i thatcontain v .Theseamgraph G D contains j S v j copiesofeachvertex v 2 D :foreachcluster c i in S v ,wecreateacopy v i ofthevertex v .Suchasetofverticesisdenoted V v Theset mathcalE of G D consistsoftwotypesofedges.Therstistheset PE of pointseam edgesthatconnecteverypairofvertices( u;w )intheset V v (forming acompletegraph)foreach v Foreach v 2 V D S v isthesetof c i thatcontain v .Thesecondistheset LE of lineseam edgeswhichconsistsof j S e j copiesofeveryedge e 2 E D .Thatis,foreach edge( u;w )in E D ,andeachcluster c i in S e thatshares e in G ,wecreateacopy ( u i ;w i )oftheedge( u;w ).Thesesetsofedgesaredenoted E e .Finally: V := [ v 2 V D V v ; PE := [ v 2 V D PE v = f ( u;w ): u;w 2V v g ; LE := [ e 2 E D E e ; E := PE [ LE ; G D :=( V ; E ) A seampath isdenedbetweenorconnectingapairofvertices u;w that belonginthesameset V v forsomevertex v oftheseamgraph G D .Wedenotea pathasasequenceofconsecutivelyincidentedges.Thepath assignseachofits edgesadirection.Aseampathbetween u and w u 6 = w ,isasimplepaththatis theconcatenationofsimplepathsegments h 0 ;g 1 ;:::;h 2 m ;g 2 m +1 ;:::;h 4 m ,where u and w aretherstandlastverticesoftherstandlastedgeonthep ath;and wherethe h 2 j 'scouldbeemptyandconsistonlyofpointseamedges(hencea ll edgesineach h 2 j necessarilyareinthesameset PE v forsome v ).Each g 2 j +1 isa singleedgein LE andhasauniquepartneredge g 2 l +1 suchthatbothedgesbelong

PAGE 133

121 c3 c4 c5 c6 v11 v21 v23 v13 v12 v22 v43 v33 v34 v44 v54 v55 v65 v62 v75 v76 v86 v96 v81 v91 v13 c2 c1 v11 v34 v44 v54 v55 v65 v62 v75 v76 v86 v96 v81 v91 v11 v21 v13 v12 v22 v11 v21 v22 h0g1 g3 h2 h4 v12 v33 v21 v23 v13 v12 v22 v43 v33 v34 v44 v54 v55 v65 v62 v75 v76 v86 v96 v81 v91 v11 v21 v23 v13 v12 v22 v43 Figure8{6:Seamgraph,seamtreesandseamcycle. tothesameset E e forsome e =( x;y ) 2 E D .Whenassociatedwiththeclusters c i and c k in S e ,theyappeardirectedas( x i ;yi )and( y k ;x k )alongthepath.A seam cycle isaclosedseampath,thatis,aseampathbetween u and w ,where u = w Seamsubgraphs areedgeinduced,spanningsubgraphsthatis,theyincludea ll vertices,andarelineinclusive,thatis,theyincludeallo fthelineseamedgesin LE .A seamforest isaseamsubgraphthatdoesnotcontainanyseamcycles.A seamsubgraphis seamconnected ifitcontainsaseampathbetweeneverypairof verticesthatbelongtothesameset V v ,forevery v 2 V D .A seamtree isaseam forestthatisseamconnected(Figure 8{6 ). ThefollowingkeyresultfromSitharam[ 28 ](a)showsthatseamtrees andlocal-cycle-avoidingmaximalcompletionsofthemresu ltinwell-formed recombinationsystemsand(b)givesecientgreedyalgorit hmsexisttondthem. WewillusetheseresultsinSection 8.3 Theorem8.2.1 Let G D betheseamgraphofastandarddecomposition D .Take aseamforest F of G D andlet T beamaximalextensionorcompletionof F that

PAGE 134

122 C1 C2 C3 C4 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v41 v42 v101 v104 v114 v113 v103 v102 v41 v42 v102 v101 v104 v103 v114 v113 C1 C2 C3 C4 1 3 3 3 3 1 C1 C2 C3 C4 3 3 1 C1 C2 C3 C4 1 3 1 Figure8{7:Wellformedincidencesmaynotbeoptimized. avoidslocalincidencecycles.Constructthesetofinciden ces I asfollows.For eachpointseamedge ( v i ;v j ) in T ,putthepartialincidences ( v; f c i ;c j g ; 1) and ( v; f c i ;c j g ; 2) in I .Foreachpointseamedge ( v i ;v j ) in F putcompleteincidences in I byaddingontheincidence ( v; f c i ;c j g ; 3) .If F isaseamtree, I iswellformed;If F isaseamforestand T isnotnecessarilyamaximalextension, I satisestherst2propertiesofwell-formedincidences.T hereisagreedyalgorithm tocompleteanyseamforest F intoaseamtree T containing F intimeatmost O ( j G D j ) = O ( j V D + E D jj D j ) ,andastraightforwardalgorithmtocompleteany local-cycle-avoidingextension F of T intoamaximalsuchextension T intimeat most O ( j V D jj D j ) Infact,notallwellformedsetsofincidencesareoptimized w.r.t. algebraic complexity.Wewillshowlaterthatanyspanningtreeofasta ndarddecomposition hasitscorrespondingseamtree.Onlythewellformedincide ncesofthecorresponding seamtreeoftheminimumspanningtreeisoptimized.Thecorr esponding wellformedincidencesofthemiddleseamtree(Figure 8{7 )isunoptimizedbecause accordingtothereversecorrespondingspanningtree,itne eds7equationstosolve thesystem.Theequationsethas7variables,1rotationangl evariablebetween C 3 and C 4 ,3rotationanglevariablesbetween C 1 and C 4 ,3rotationanglevariables

PAGE 135

123 between C 2 and C 3 .Thereversecorrespondingspanningtreeoftherightseamt ree needsonly5variables(1rotationanglevariablebetween C 1 and C 2 ,3rotation anglevariablesbetween C 1 and C 4 ,1rotationanglevariablebetween C 4 and C 3 ). 8.3TheNewHybridAlgorithm Theoptimalrecombinationalgorithmchoosesacoveringset andthusa standarddecomposition D =( V D ;E D ; f c i g )andndstheminimumspanningtree ST oftheoverlapgraphof D whichisusedtoconducttheoptimalrecombination system.Wenowproposeamethodtoreadotheincidencessyst emfromthis optimalrecombinationsystem-wewilllatershowthatthiss etofincidencescanbe greedilyextendedintoawell-formedrecombinationsystem Let D bethestandarddecompositionand ST bethespanningtreeofthe overlapgraph O ( D )outputbytheoptimalrecombinationalgorithm[ 14 55 ]. Proposedsystemofincidences J ( ST ) correspondingtothespanningtree(ST) outputbyoptimalrecombinationalgorithm. Theedgewithweight3thatconnectsclusters c i and c j in ST (thatis,when c i and c j overlapononevertex v ),yieldsthecompleteincidences( v; f c i ;c j g ; 1), ( v; f c i ;c j g ; 2),( v; f c i ;c j g ; 3).Theedgewithweight1thatconnectsclusters c i and c j in ST (thatis,when c i and c j overlapononeedge( u;v )),yields5incidences: thepartialincidencesof u ( u; f c i ;c j g ; 1),( u; f c i ;c j g ; 2)andthecompleteincidences of v ( v; f c i ;c j g ; 1),( v; f c i ;c j g ; 2),( v; f c i ;c j g ; 3). Wecallthissystemofincidences J ( ST ).Weproceedtoshowthatthissystem J ( ST )is partialwell-formedsystem .Thatis,itcanbeextendedtoawell-formed systemofincidencesforrecombinationof D .Wedothisin2steps.Theorem 8.3.2 showsthat J ( ST )satisesproperties(a)and(b)ofthewell-formedset ofincidences.Theseareexactlythepropertiesthatpermit extensibilityintoa wellformedsystem.Theorem 8.3.3 furthergivesasimplegreedyalgorithmto

PAGE 136

124 extend J ( ST )intoacompletewell-formedsystem.Boththeoremstechnic allyusea crucialtechnicallemma. Tostatethelemma,weneedtorstcarefullydescribeacorre spondence betweentheedgesofaspanningtreeofanoverlapgraphofast andarddecomposition andtheedgesoftheseamgraphofthesamestandarddecomposi tion. Let D bethestandarddecomposition, G D betheseamgraphof D ST be thespanningtreeoftheoverlapgraph O ( D )of D .Theproposedcompleteand partialincidencesdenethecorrespondencefromtheedges of ST intotwosets ( V ( ST ) ;U ( ST )respectively)ofpointseamedgesintheseamgraph G D Overlapgraph-seamgraphedgecorrespondence:Thecorrespondenceofedgesof ST into G D :theedgewithweight3that connectsclusters c i and c j in ST ismappedin G D tothepointseamedge( v i ;v j ) 2 V ( ST ).theedgewithweight1thatconnectsclusters c i and c j in ST ismapped in G D tothepointseamedge( u i ;u j ) 2 U ( ST )andthepointseamedge( v i ;v j ) 2 V ( ST ).(Thatis,where c i and c j overlaponanedge( u;v ).) Thereversecorrespondencesofedgesof G D in ST :condenseallthevertices of G D thatbelongtoasingleclusterinto1vertex.Thiscondensat ionmaymap 2pointseamedges( u ki ;u kj )and( v ki ;v kj )(attheendsofthelineseamedgepair ( u ki ;v ki )and( u kj ;v kj ))of G D intooneedge( c i ;c j )in ST .Thepointseamedge ( v ki ;v kj ),thatisnotassociatedwithanylineseamedgepair,ismapp edintothe edge( c i ;c j )intheoverlapgraphof D Theedge e 2 (Figure 8{8 )inthespanningtreeismappedtothepointseam edge e 2 intheseamgraph.Theedge e 1 inthespanningtreeismappedtothe lineseamedges e 11 and e 16 andpointseamedges e v 8 and e v 9 ( e v 8 2 V ( ST ), e v 9 2 U ( ST )or e v 9 2 V ( ST ), e v 8 2 U ( ST )).Andforthereversecorrespondences, thevertices v 11 ;v 21 ;v 81 ;v 91 ofcluster c 1 intheseamgraphiscondensedintoone vertex C 1 intheoverlapgraph.thevertices v 76 ;v 86 ;v 96 ofcluster c 6 arecondensed

PAGE 137

125 C1 C2 C3 C4 C5 C6 v1 v2 v3 v4 v5 v6 v8 v9 v10 v11 v7 C1 C3 C2 C4 C6 1 1 1 1 C5 3 c1 c2 c3 c4 c5 c6 v11 v21 v23 v13 v12 v22 v43 v33 v34 v44 v54 v55 v65 v62 v75 v76 v86 v96 v81 v91 e2 e2 ev9 ev8 e1 e16 e11 Figure8{8:Spanningtreeofitsweightedoverlapgraphandt heseamgraph. intoonevertex C 6 intheoverlapgraph.Thereversecorrespondenceofthetwo pointseamedges e v 8 and e v 9 resultsin e 1 intheoverlapgraph.Thevertices v 12 ;v 22 ;v 62 ofcluster c 2 arecondensedintoonevertex C 2 intheoverlapgraph.The vertices v 55 ;v 65 ;v 75 ofcluster c 5 arecondensedintoonevertex C 5 intheoverlap graph.Thereversecorrespondenceofthepointseamedge e 2 resultsin e 2 inthe overlapgraph.Lemma8.3.1 Forastandarddecomposition D ,theseamedgesin G ( D ) that correspondtotheedgesofinthespanningtree ST oftheoverlapgraph O ( D ) of D satisfy:1)Theset V ( ST ) ofseamedgesthatcorrespondtotheproposedcomplete incidencesfrom J ( ST ) formsaseamforest F ( ST ) inseamgraph G D 2)Theunionof V ( ST ) andtheset U ( ST ) ofseamedgesthatcorrespondto theproposedpartialincidencesfrom J ( ST ) avoidslocalincidencecycles 3)Foranycompletionof F ( ST ) intoaseamtree T F ( ST )= T [ U ( ST ) isa local-cycle-avoidingextensionof T Proof Forthetreeedgewithweight1in ST thatrepresentstwoclusters c i and c j overlappingontheedge( u k ;v k ),itscorrespondingedgesin G D arepoint seamedgesallocatedwith2lineseamedges( u ki ;v ki )and( u kj ;v kj ):oneofthese seamedgesis( u ki ;u kj )thatresultsinapartialincidenceandtheotherpointseam

PAGE 138

126 edge( v ki ;v kj )thatresultsinacompleteincidence.Forthetreeedgewith weight 3in ST thatrepresentstwoclusters c i and c j overlappingonthevertex v k ,its correspondencesin G D isonepointseamedge( v ki ;v kj )thatresultsinacomplete incidence. Weshow V ( ST )formsaseamforest,thatis,itavoidsseamcycles.Ifthere isaseamcycle,let( v ki ;v kj )beapointseamedgeinthatseamcycle.Then thereexistsaseampathwith v ki and v kj astheendpointsthatdoesnotinvolve ( v ki ;v kj ).Fromthedenitionofreversecorrespondencefromthesea mgraph totheoverlapgraph,thereisacorrespondingpathbetweent hevertices c i and c j in ST thatdoesnotinvolvetheedgeconnecting c i and c j .Andthereverse correspondenceof( v ki ;v kj )isanedgethatconnects c i and c j in ST .Thenthereis acyclein ST contradictingitstreeproperty. Wealsoshowthatnosubsetof U ( ST ) [ V ( ST )formsalocalincidencecycle. Ifasubset f ( v k 1 ;v k 2 ) ; ( v k 2 ;v k 3 ) ;::: ( v km ;v k 1 ) g formsalocalincidencecyclein G D thereversecorrespondences( c 1 ;c 2 ) ; ( c 2 ;c 3 ) ::: and( c m ;c 1 )formacyclein ST contradictingthetreepropertyofthespanningtree. FromItem(1)ofthisTheoremandTheorem 8.2.1 ,wecanextend F ( ST ) greedilytoaseamtree T .Anyextensionof T with U ( ST )avoidslocalincidence cycles:Iftherewerealocalincidencecycle C ,thenreplacing( u ki ;u kj )inthecycle withtheuniquelength3seampathconnectingitsendpointsi n T ,whichconsists of2lineseamedges( u ki ;v ki )and( u kj ;v kj )and1pointseamedge( v ki ;v kj ) 2 V ( ST ),wouldgiveaseamcycletogetherwiththeedges C n ( u ki ;u kj ).This contractstheseamtreepropertyof T Theorem8.3.2 Giventhestandarddecomposition D andtheminimumspanning tree ST oftheoverlapgraphof D outputbyoptimalrecombinationalgorithm [ 14 55 ],theproposedsystemofincidences J ( ST ) satisestherst2propertiesof well-formedsystemofincidencesforrecombining D

PAGE 139

127 Proof FromLemma 8.3.1 ,wegetasetofedgessuchthatthecorresponding incidences(asinTheorem 8.2.1 )giveapartialwell-formedsystemofincidences satisfyingtherst2propertiesofthewell-formedsystemo fincidences. Theorem8.3.3 Givenastandarddecomposition D ,thereisagreedyalgorithmfor ndinganoptimizedwell-formedsetofincidences. Proof Thealgorithmis:1.Determinetheoptimalspanningtreebyt he optimalrecombinationalgorithm.2.Let F ( ST )betheseamforestformedby thesetofpointseamedgesthatcorrespondtotheproposedco mpleteincidences from J ( ST ).Keepaddingpointseamedgeto F ( ST )thatdoesnotbelongin thetransitiveclosure(oftheseampaths)from F ( ST )untilnomoreedgescanbe added.Thisgivesseamtree T .3.Let U ( ST )bethesetofpointseamedgesthat correspondtotheproposedpartialincidencesfrom J ( ST ).Extend T [ U ( ST ) greedilytoamaximallocal-cycle-avoidingseamgraph F ( ST )byaddingtheedges fromeachcompletegraph PE v ofthepointseamedgesassociatedwithavertex v of V D .4.Foreach v andeachpointseamedge( v i ;v j ) 2P v T F ( ST ),addto I ( D )thetwoincidenceconstraints( v; f c i ;c j g ; 1)and( v; f c i ;c j g ; 2).5.Foreach v andeachpointseamedge( v i ;v j ) 2P v T F ( ST ),addto I ( D )oneincidence ( v; f c i ;c j g ; 3). Theoptimalrecombinationalgorithmoutputsaminimumspan ningtree ST whichoptimizesthealgebraiccomplexity.UsingTheorem 8.3.2 ,weknow thatthecorrespondingsystemofincidences J ( ST )satisestherst2properties ofwell-formedsystemofincidencesafterstep1ofthealgor ithm.Frompart3 ofLemma 8.3.1 ,weknowthatanygreedyextensionof J ( ST )bycompleting incidencestoform T S U ( ST )afterstep3ofthealgorithmislocal-cycle-avoiding andhencecanbeextendedtoamaximallocal-cycle-avoiding systemwhichby Theorem 8.2.1 givesawell-formedrecombinationsystem I ( D ).

PAGE 140

128 8.4Conclusion Thischaptercombinestheoptimalrecombinationalgorithm [ 14 55 ]and thewellformedrecombinationalgorithm[ 28 ]togiveanoptimalwell-formed recombinationsystemforastandarddecomposition.

PAGE 141

CHAPTER9 ENUMERATIONOFPATHWAYSFORMACROMOLECULAR Weconsidertheproblemofexplicitlyenumeratingandcount ingtheassembly pathwaysbywhichanicosahedralviralshellformsfromiden ticalconstituent proteinmonomers.Thispoorlyunderstoodassemblyprocess isaremarkable exampleofsymmetricmacromolecularself-assemblyoccuri nginnatureand possessesmanyfeaturesthataredesirablewhileengineeri ngself-assemblyatthe nanoscale. SitharamandMckenna[ 25 29 ]givethenewmodelofthatemploysastatic geometricconstraintgraphtorepresentthedriving(weak) forcesthatcauseaviral shelltoassembleandholdittogether.Themodelwasdevelop edtoanswerfocused questionsaboutthestructuralpropertiesofthemostproba bletypesofsuccessful assemblypathways.Specically,themodelreducesthestud yofpathwaytypes andtheirprobabilitiestothestudyoftheorbitsoftheauto morphismgroupofthe underlyinggeometricconstraintgraph,actingonthesetof pathways.Theauthors givearandomizedalgorithmtocomputeonemeasureofthepro babilityofthese pathwaysbyfaithfullysamplingthem. Inthischapter,wegivetheimplementationofthealgorithm andprospectto incorporateanotherprobabilitymeasure,thatwillbeobta inedcombinatorially byextendingHendricksonsTheorem[ 30 ]onrigiditycircuitsanduniquegraph realizationintothisalgorithm.Thisinvolvesboththethe oryofgeometric constraintssystemandimplementationofthenewalgorithm 9.1Introduction Icosahedralviralshellassemblyisanoutstandingexample ofnanoscale, macromolecularself-assemblyoccuringinnature[ 56 ].Mostlyidentical coatprotein 129

PAGE 142

130 monomersassemblewithhighrateofecacyintoaclosedicos ahedral capsid or shell ;onsetandterminationarespontaneous,andassemblyisrob ust,rapidand economical.Alloftheserequirementsarebothdesirablean ddiculttoachieve whenengineeringmacromolecularself-assembly. Howevertheviralassemblyprocess-justlikeanyotherspon taneous macromolecularassemblyprocesssuchasmolecularcrystal formation-ispoorly understood.Answeringquestionsaboutviralassemblypath wayscanhelpbothto encouragemacromolecularassembliesforengineering,bio sensorandgenetherapy applications,butandalsodiscourageassemblyforarresti ngthespreadofviral infection. Weusetheviralassemblypathwaymodel[ 25 29 ]thatemploysstatic geometricconstraintstorepresentthedriving(weak)forc esthatcauseaviral shelltoassembleandholdittogether.Themodelavoidsdyna micsandasaresult isbothtractableandtunable.Preliminarypredictionsoft hismodelconsistently explainexistingexperimentalobservationsaboutviralsh ellassembly.Thismodel wasdevelopedtoanswerfocusedquestionsaboutthestructu ralpropertiesof themostprobabletypesofsuccessfulassembly pathways ,whichareessentially directedacyclicgraphs(dags)representingvalidconstru ctions(ordecompositions) ofthevirus.Thenodesofthesedagsarebiochemically stable subassembliesof thecompleteassembly,partiallyorderedbycontainment.S pecically,themodel reducesthestudyofpathwaytypesandtheirprobabilitiest othestudyofthe orbitsoftheautomorphismgroupoftheunderlyinggeometri cconstraintgraph, actingonthesetofpathways.SitharamandMckenna[ 25 29 ]ecientrandomized algorithmsaregiventhatsamplethepathwaysettoprovidea pproximateanswers tothesequestions. Sincetheunderlyinggraphsarehighlysymmetricpolyhedra lgraphs,itseems aviableapproachtoinsteadexplicitlyenumeratethese(pe rhapssimplied)orbits

PAGE 143

131 andcounttheirsizes.Theexpectationisthatahybridofthe twoapproaches canbedevelopedwhichleveragestheseadvantageswhileinc orporatingthefull generalityofthemodel[ 25 29 ]. Whilethereisawelldevelopedstructuretheoryof complete viralshells [ 57 58 ],veriedbyX-raycrystallographyandotherexperimental data,the processes ofviralshellassemblyarepoorlyunderstood.Fromanexper imental pointofview,thislackofunderstandingisduetotheextrem espeedofthe assemblysothatwet-labsnapshotsofintermediatesub-ass embliesaregenerally unsuccessful. Fromamodelingpointofview,thislackofunderstandingisd uetothe factthatpriortotherecentmodel[ 25 29 ],previouscomputationalmodels [ 59 60 61 62 63 64 65 66 67 ]generallyinvolvedynamicsof(simpliedversions) ofvirusassembly(furtherdescriptionoftheseapproaches andcomparisonwiththe approach[ 25 29 ],isgivenbySitharamandMckenna[ 25 ]).Dynamicswereused previouslyevenwhentheassemblymodelsonlysoughttoeluc idatethestructureof successfulpathways. Modelswhoseoutputparametersaredenedonlyastheendres ultofa dynamicalprocessarecomputationallycostly,oftenrequi ringoversimplicationsto ensuretractability.Inaddition,suchmodelsarealsonote asilytunableorrenable sincetheirinput-to-outputfunctionisgenerallynotanal yzableandthereforedonot provideasatisfactoryconceptualexplanationofthepheno menonbeingmodeled. Bycarefullydeningtheprobabilityspace,usingthesucce ssfulassemblyas agiven,thestaticmodel[ 25 29 ]givesamethodtoapproximatelycomputethe probabilitiesofsuccessfulpathwaytrees/dagseciently Themodels inputparameters are:informationextractedfrom(a)the geometricstructureofthecoatproteinmonomerthatformst heviralshell, includingallrelevant(rigid)conformations,Figure 9{1 ;(b)thegeometricand

PAGE 144

132 c f b a e p p t d t d Figure9{1:Examplemonomerprimitivesandconstraints. weak-forceinteractions-betweenpairsofmonomers-thatd riveassembly.and(c) (optional)theinter-monomercontactorneighborhoodstru ctureofthecomplete viralshell,Figure 9{1 Theoutputinformationsoughtfromthemodel:rst,theprob abilitythat aspecic type ofsuccessfulassemblypathwayincorporatesaspecic type of subassembly,leadstothecompleteviralshellwithbounded construction eort ;in short,aprobabilitydistributionoversuccessful,bounde deortassemblypathways thatincorporatecertainsubstructures;thishasastraigh tforwardgeneralization[ 25 ] toadistributionoverallpossibleassemblypathways(notn ecessarilysuccessful) withinaneortbound.Themodelsatisesthefollowingrequ irements. Thedescriptionofthemodel-thatistheinput-to-outputfu nction-isstatic, thatisdoesnotrelyondynamicsoftheassemblyprocess.Thi sisachievedusing thestateofthearttheoryof3Dgeometricconstraintdecomp osition[ 2 11 ]andis essentialforforwardanalyzability. Theassumptionsofthemodelaremathematicallyandbiochem ically justiable.Thesejusticationsandrigorouscomparisons ofthemodelwith existingmodelsofviralshellassemblyaregivenbySithara mandMckenna[ 25 ].

PAGE 145

133 Figure9{2:ThesimulatedassemblyofaT=1viralshell. Themodeliscomputationallytractable,thatis thereisanecientrandomizedalgorithmforcomputing(aprovablygoodapproximatio nof)thepathway probabilitydistribution. Therequiredalgorithmsarecrucialmodicationsof state-of-theart3dgeometricconstraintdecompositional gorithms[ 2 11 ].Asa result,simulationsoftwareforthemodelisbuiltdirectly uponexistingopensource softwarefor3Dgeometricconstraintsolving[ 15 ](Figure 9{2 ). Tractablecomputationalsimulationbasedonprovablyaccu ratealgorithms isessentialforbackwardanalyzabilitywhichisneededfor tworeasons:rst, foriterativelyreningthemodelsothatitsoutputmatches knownbiochemical informationorexperimentalresults;andsecond,forengin eeringadesiredoutput, forexampleengineeringthemonomerstructuretopreventor encouragecertain subassemblies,inordertoforcecertainpathwaystobecome morelikelythan others,ortopreventsuccessfulassembly. Preliminarysimulationresults[ 25 ](Figure 9{2 )showthat,inprinciple,the model'spredictionsarequalitativelyconsistentwithkno wnstudiesofviruses.More conclusivebiochemicalvalidationusing3carefullychose n,ssDNAT=1virusesisin process[ 25 ].

PAGE 146

134 9.2ObtainingPathwayProbabilitiesbyCombinatorialEnum eration Inthissection,werstgivesimplieddenitionsof(icosa hedral)viralshell graphs,validpathwaysandpathwayisomorphismtypes.Fort hesedenitions, itisviabletoapproachthecorequestionofestimatingspec icpathwaytype probabilitiesusingexplicitcombinatorialenumerationa ndcountingofspecic typesofconstructions(ordecompositions)ofsymmetricpo lyhedralgraphs. Theseprobabilitiesareestimatedformoregeneraldeniti onsofpathwaysand moregeneralviralshell(geometricconstraint)graphstha tareusedinthemodel [ 25 29 ],usingarandomizedsamplingmethodappliedtoageometric constraint decompositionalgorithm.Themotivationoftheexpliciten umerationapproachis toaddress2drawbacksofthismethod.First,itdoesnotutil izetheicosahedral symmetryoftheseviruses,potentiallyapowerfultoolinde terminingthepathway isomorphismclasses;secondlyitdoesnoteasilyextendtop athwayswithadditional properties.Theexpectationisthatahybridofthesetwoapp roachescanbe developedwhichaddressesthesedrawbackswhileincorpora tingthefullgenerality ofthemodel[ 25 29 ]. An icosahedral T = m viralshellgraph isobtainedfroma T = m viralshellby representingeachmonomerasavertexandeachinterface(re levantforassembly) betweenapairofmonomersbyanedge. Theautomorphismgroupofthisgraphisisomorphictotheico sahedral symmetrygroupoftheviralshell.Infact,amoregeneralres ult[ 68 69 ]listing thepossibleautomorphismgroupsofgeneralpolyhedralgra phscouldbeuseful forcharacterizingsubgraphsofviralshellgraphsthatrep resentstablepartial assembliesorsubassemblies,whosesignicancewillbecle arbelow. A stablesubgraph S ofa T = m viralshellgraph G isdenedrecursively. Forthebasecase,asmallsetofatmost k (independentof m )small basestable subgraphsofsizeatmost3 m isspeciedandanysubgraph S thatisisomorphic

PAGE 147

135 9 8 10 76 15 14 13 12 11 20 2 3 4 17 18 16 1 5 19 c l e d j i a k h f g b Figure9{3:Facenumbersandvertexnumbers. toabasesubgraphisstable.Theseconstitutethe baseset B ofstablesubgraphs of G .Fortherecursion, S isstableifandonlyifitcanbedecomposedintoa minimal constituentset Q ofvertexdisjointstablesubgraphs S i suchthatthere isasubgraph A of S thatisinthebasesetandisnotcontainedinthesubgraph inducedbyanypropersubsetof Q A stablesubgraphtype isanisomorphismclassobtainedastheorbitofthe naturalactionoftheautomorphismgroupof G onastablesubgraph. ForthesimpleT=1viralshellgraphobtainedfromtheinterf acesofFigure 9{1 ,thetwocommonbasestablesubgraphswouldbe5cyclesand3c yclesthat correspondrespectivelytothetwocommonstablesubassemb lies,pentamersand trimers,andlargerstablesubgraphswouldbeconnectedsub graphsbuiltfrom trimersofpentamersandpentamersoftrimersrespectively (Figure 9{3 A validpathway foraviralshellgraph G isatreewhereeachnodecorresponds toastablesubgraphof G ,thechildrenofaparentformaconstituentsetforthe parent,leavesaresingletonvertices,andhenceparentsof leavesaresubgraphsin thebaseset. A valid,successfulpathway isonewhoserootistheentireviralshellsubgraph. A validpathwaytype istheisomorphismclassobtainedastheorbitofthe naturalactionoftheautomorphismgroupof G onavalidpathway.

PAGE 148

136 FromthemodelSection 9.1 [ 25 29 ],oneofthetwofactorsthatdecidesthe probabilityofasuccessfulpathwaytypeisthesizeofitsis omorphismclass. 9.3ImplementationResults Theexpectationisthatahybridoftheexplicitenumeration approachand therandomizedsamplingapproachcanbeobtainedwhichutil izestheicosahedral symmetryofthesevirusesandcanextendtopathwayswithadd itionalproperties whileincorporatingthefullgeneralityofthemodel[ 25 29 ]. Tobuildintuitionontheexplicitenumerationquestionfor thesimplied pathwaysdescribedabove,werstimplementedtherandomiz edpathwaysampling algorithm[ 25 29 ]tosamplethesesimpliedpathways. ImplementationResult1: Forexample,theimplementationresultsforabase stablesetoftrimersandpentamersilluminatesthestructu reofpathwaytypes.For example,weobtainedthehighestandwidestunusualpathway types(Figure 9{4 ). Furthermore,usingthesimpliedpathwaysdescribedabove ,webelievewecan begintoaddresstheseconddrawbackoftherandomizedalgor ithmof[ 25 29 ]given earlier.Specically,wearenowattemptingtomodifytheal gorithmtosampleonly (simplied)pathwaysthatcontainaparticularsub-pathwa ytype. ImplementationResult2: Forexample,theimplementationresultsfora basestablesetoftrimersandpentamersshowsthatover2000 trials,thelargest isomorphismclasshadsizeonly6(evenweenforcetheleafsu bassembliestobe pentamers)(Figure 9{5 ).Thistellsusthatthepathwaysamplingalgorithm's drawbackscanindeedbedebilitating:meaningfulresultsr equireustoconsider onlypathwaysthatcontainparticularsubpathwaytypes,or toconsiderisomorphism classesof\approximate"pathwaytypesforsomesuitablede nitionofpathway type.Fortherstapproach,atthemoment,weareabletohand lesimple subpathwaytypes:forexample,wecanfaithfullysamplepat hwaysthatare

PAGE 149

137 16k 1a1b1c 2a3a4a5a 12f 12i 10g 10f 10e 13i 13l 5b 12b 13b 14b 4f 5f 11f 8e 8d 8h 9e 3e 4e 11g 11i 9g 9h 6j 7j 15j 16j 18j 17i 17l 17k 7h 18h 19h 3d 19g 20g 19k 2d 6d 7d 20i 20k 2c 6c 15c 15l 14c 14l 18k 16l 20lg 20i 1b 5b 12b 13b 14b 1a 2a 3a 4a 5a 1c 11g 11f 11i 4f 5f 10f 12f 12i2d 3d 6dd d 8d 6j 7j 15j16j18j 6c 7h 8h 9h18h19h 2c14c14c 3e4e8e9e10e 13l 13i 17k16k18k20k19k 16l17l14l15l 9g10g19g20g Figure9{4:Thehighestpathwaytypeandthewidestpathwayt ypein2000trials.

PAGE 150

138 2d 3d 6d 7d 8d 1a 2a 3a 4a 5a 9g 10g 11g 19g 20g 11f 12f 19f 4f 5f8e 9e 3e 4e 10e 7h 8h 9h 18h 19h 11i 12i 13i 17i 20i 6j 7j 15j 16j 18j 1b 5b 12b 13b 14b 1c 2c 6c 14c 15c 16l 17l 13l 14l 15l 16k 17k 18k 19k 20k 11i 12i 13i 17i 20i 1a 2a 3a 4a 5a 1b 5b 12b 13b 14b 1c 2c 6c 14c 15c 2d 3d 6d 7d 8d 8e 9e 3e 4e 10e 6j 7j 15j 16j 18j 7h 8h 9h 18h 19h 9g 10g 11g 19g 20g 11f 12f 19f 4f 5f 16k 17k 18k 19k 20k 16l 17l 13l 14l 15l Figure9{5:Pathwaysof2largestisomorphismclassesin200 0trials. guaranteedtohaveatleastonespeciedelementofthebases tablesetatthe bottomlevel(forexampleatrimer). ImplementationResult3: Over2000trials,assigningequalprobabilitiesfor thechoiceoftrimersandpentamersateachstageoftheassem bly,ourresultsshow thatpathwaysfavoringonlytrimersatthebottomlevelares ignicantlylesslikely thanpathwaysfavoringonlypentamersatthebottomlevel.W henpentamers vs.trimerswerepickedwithprobabilityratio3/5,however ,thetrimerfavoring pathwayswereequallylikelyasthepentamerfavoringpathw ays.Itwouldbe nontrivialtoprovethistypeofresultformally. Thisbringsustothequestionofhowthelocalprobabilities areassignedby therandomizedalgorithm,thatis,theprobabilityforchoo singthebasestable subgraphthatisusedateachstageintheassembly.Inourcur rentimplementation, asmentionedabove,eitherallbasestablesubgraphsareequ allylikelytobepicked

PAGE 151

139 ateachstage,orweassigntheprobabilityinverselytothes izeofthebasestable subgraph,undertherationalethatlargerassembliesaremo redicult. Clearlythelattertypeofadditionalfactorwouldaectthe trueprobability ofthatpathway,thatis,theprobabilitydistributionover pathwayswould incorporateanadditionalmeasuretoaccountforthedicul tyofformingparticular subassemblies,inadditiontojustthenumeracyoftheisomo rphismclasses.For thesamplingalgorithmtoprovideafaithfulsampleinsucha modiedprobability distributionoverpathways,itshouldbemodiedtocorresp ondinglytoincorporate suchameasureandstillprovideafaithfulsample. Inthenextsubsectionweproposeourplansforfutureworkon thisquestion. 9.4AnotherProbabilityMeasure Theprobabilityofonesubassembly,correspondingtotheno deinthepathway, isproportionaltothefactorofthenumberofitssolutionty pesoverthetotal numberofthesolutiontypesofitssubassemblies,correspo ndingtoitschildnodes inthepathway.Thatis,themoresolutiontypesithasandthe lesssolutiontypes itssubassemblieshave,thehigherprobabilitythesubasse mblyhas. Duetothehighdimensionalsolutionspaceofthepathway,it isnottractable tocountthesolutiontypesbysolvingit.Itisdesirabletoh aveacombinatorial methodtocountthesolutiontypesandthereaftertogetthep robabilitiesof subassemblies.Hendrickson[ 30 ]givesacombinatorialmethodtogetconditionsfor uniquegraphrealization.Weproposetoextenditsmethodto solveourproblem basedonthehighlyoverconstrainedpropertyoftheviralsh ell.

PAGE 152

REFERENCES [1]C.M.Homann,A.Lomonosov,andM.Sitharam,\Geometric constraint decomposition,"in GeometricConstrSolvingandAppl ,B.B.andR.D.,Eds., 1998,pp.170{195. [2]M.Sitharam,\Graphbasedgeometricconstraintsolving :problems,progress anddirections,"in ToappearinAMS-DIMACSvolumeonComputerAided Design ,D.Dutta,R.Janardhan,andM.Smid,Eds.,2004. [3]G.Kramer, SolvingGeometricConstraintSystems ,MITPress,1992. [4]I.Fudos, Constraintsolvingforcomputeraideddesign ,Ph.D.dissertation, PurdueUniversity,DeptofComputerScience,1995. [5]C.M.Homann,A.Lomonosov,andM.Sitharam,\Findingso lvablesubsets ofconstraintgraphs,"in SpringerLNCS1330 ,S.G.,Ed.,1997,pp.463{477. [6]C.M.Homann,A.Lomonosov,andM.Sitharam,\Decomposi tionof geometricconstraintssystems,partii:newalgorithms," JournalofSymbolic Computation ,vol.31,no.4,2001. [7]C.M.Homann,A.Lomonosov,andM.Sitharam,\Planningg eometric constraintdecompositionsviagraphtransformations,"in AGTIVE'99(Graph TransformationswithIndustrialRelevance),Springerlec turenotes,LNCS 1779,edsNagl,Schurr,Munch ,1999,pp.309{324. [8]C.Homann,M.Sitharam,andB.Yuan,\Makingconstraint solversmore useable:theoverconstraintproblem," toappearinCAD ,2004. [9]A.LomonosovandM.Sitharam,\Graphalgorithmsforgeom etricconstraint solving,"in submitted,basedonLomonosov'sUnivFloridaPhDThesis,04 2004. [10]J.J.Oung,M.Sitharam,B.Moro,andA.Arbree,\Frontie r:fullyenabling geometricconstraintsforfeaturebaseddesignandassembl y,"in abstractin ProceedingsoftheACMSolidModelingconference ,2001. [11]M.Sitharam,\Frontier,anopensource3dgeometriccon straintsolver: algorithmsandarchitecture," monograph,inpreparation ,2004. [12]M.SitharamandY.Zhou,\Atractable,approximate,com binatorial3d rigiditycharacterization," FifthAutomatedDeductioninGeometry(ADG) 2004. 140

PAGE 153

141 [13]M.Sitharam,A.Arbree,Y.Zhou,andN.Kohareswaran,\S olution managementandnavigationfor3dgeometricconstraintsyst ems," acceptedto ACMTOG,availableuponrequest ,2004. [14]M.Sitharam,J.Peters,andY.Zhou,\Solvingminimal,w ellconstrained, 3dgeometricconstraintsystems:combinatorialoptimizat ionofalgebraic complexity," AutomateddeductioninGeometry(ADG)2004,availableupon request ,2004. [15]M.Sitharam,\Frontier,opensourcegnugeometriccons traintsolver: Version1(2001)forgeneral2dsystems;version2(2002)for 2dand some3dsystems;version3(2003)forgeneral2dand3dsystem s,"in sitharam, ,2004. [16]B.Bruderlin,\Constructingthree-dimensionalgeome tricobjectdenedby constraints,"in ACMSIGGRAPH .1986,ChapelHill. [17]J.Owen,\,"in D-cubedcommercialgeometricconstraint solvingsoftware [18]G.Laman,\Ongraphsandrigidityofplaneskeletalstru ctures," J.Engrg. Math. ,vol.4,pp.331{340,1970. [19]J.E.Graver,B.Servatius,andH.Servatius, CombinatorialRigidity ,Graduate StudiesinMath.,AMS,1993. [20]H.Crapo,\Structuralrigidity," StructuralTopology ,vol.1,pp.26{45,1979. [21]H.Crapo,\Thetetrahedral-octahedraltruss," StructuralTopology ,vol.7,pp. 52{61,1982. [22]W.Whiteley,\Rigidityandsceneanalysis,"in HandbookofDiscreteand ComputationalGeometry ,pp.893{916.CRCPress,1997. [23]M.SitharamandY.Zhou,\Characterizationofrigidity for2dangleand incidenceconstraints," Manuscript;availableuponrequest ,2005. [24]A.Lomonosov,\GraphandCombinatorialAnalysisforGe ometricConstraint Graphs,"Tech.Rep.,Ph.Dthesis,Univ.ofFlorida,Gainesv ille,Dept.of ComputerandInformationScience,Gainesville,FL,326116120,USA,2004. [25]M.SitharamandM.Agbandje-Mckenna,\Samplingvirusa ssemblypathway: Avoidingdynamics," acceptedtoJournalofComputationalBiology,available uponrequest ,2004. [26]M.Sitharam,J.Oung,andA.Arbree,\Ecientundercons trained completions,updatesandonlinesolutionofgeneralgeomet ricconstraint graphs," submitted,availableuponrequest ,2004.

PAGE 154

142 [27]M.SitharamandY.Zhou,\Mixingfeaturesandvariation alconstraintsin3d," acceptedtoCAD,availableuponrequest ,2004. [28]M.Sitharam,\Characterizingwell-formedsystemsofi ncidencesforresolving collectionsofrigidbodies," Submitted;availableuponrequest ,2005. [29]M.SitharamandM.Agbandje-Mckenna,\Modelingvirusa ssemblypathways usingcomputationalalgebraandgeometry,"in Proceedingsofthe10th ApplicationsofComputerAlgebraconference ,2004. [30]B.Hendrickson,\Conditionsforuniquegraphrealizat ions," SIAMJ.Comput. vol.21,no.1,pp.65{84,1992. [31]G.BrunettiandB.Golob,\Afeaturebasedapproachtowa rdsanintegrated productmodelincludingconceptualdesigninformation," ComputerAided Design ,vol.32,pp.877{887,2000. [32]V.AlladaandS.Anand,\Feature-basedmodelingapproa chesforintegrated manufacturing:state-of-the-artsurveyandfutureresear chdirections," InternationalJournalforComputerIntegratedManugfactu ring ,vol.8,pp. 411{440,1995. [33]R.Klein,\Geometryandfeaturerepresentationforani ntegrationwith knowledgebasedsystems,"in GeometricmodelingandCAD .1996, Chapman-Hall. [34]R.Klein,\Theroleofconstraintsingeometricmodelin g,"in Geometricconstraintsolvingandapplications ,BruderlinandR.ed.s,Eds.1998, Springer-Verlag. [35]J.HanandA.Requicha,\Modeler-independentfeaturer ecognitionina distributedenvironment," ComputerAidedDesign ,vol.30,pp.453{463,1998. [36]W.Bouma,I.Fudos,C.Homann,J.Cai,andR.Paige,\Age ometric constraintsolver," ComputerAidedDesign ,vol.27,pp.487{501,1995. [37]J.Owen,\Algebraicsolutionforgeometryfromdimensi onalconstraints,"in ACMSymp.Found.ofSolidModeling ,Austin,Tex,1991,pp.397{407. [38]J.Owen,\Constraintsonsimplegeometryintwoandthre edimensions,"in ThirdSIAMConferenceonGeometricDesign .SIAM,November1993,To appearinIntJofComputationalGeometryandApplications. [39]C.M.HomannandP.J.Vermeer,\Geometricconstraints olvingin R 2 and R 3 ,"in ComputinginEuclideanGeometry ,D.Z.DuandF.Hwang,Eds. WorldScienticPublishing,1994,secondedition. [40]C.M.HomannandP.J.Vermeer,\Aspatialconstraintpr oblem,"in WorkshoponComputationalKinematics ,France,1995,INRIASophia-Antipolis.

PAGE 155

143 [41]I.FudosandC.M.Homann,\Correctnessproofofageome tricconstraint solver," Intl.J.ofComputationalGeometryandApplications ,vol.6,pp. 405{420,1996. [42]I.FudosandC.M.Homann,\Agraph-constructiveappro achtosolving systemsofgeometricconstraints," ACMTransonGraphics ,pp.179{216, 1997. [43]S.Ait-Aoudia,R.Jegou,andD.Michelucci,\Reduction ofconstraint systems,"pp.83{92,1993. [44]J.Pabon,\Modelingmethodforsortingdependenciesam onggeometric entities,"in USStatesPatent5,251,290 ,Oct1993. [45]R.LathamandA.Middleditch,\Connectivityanalysis: atoolforprocessing geometricconstraints," ComputerAidedDesign ,vol.28,pp.917{928,1996. [46]C.M.HomannandR.Joan-Arinyo,\Distributedmainten anceofmultiple productviews," Manuscript ,1998. [47]K.deKraker,M.Dohmen,andW.Bronsvoort,\Maintainin gmultipleviews infeaturemodeling,"in ACM/SIGGRAPHSymposiumonSolidModeling FoundationsandCAD/CAMApplications .1997,pp.123{130,ACMpress. [48]M.SitharamandY.Zhou,\Determininganindependentse tofoverlap constraintsbetweenrigidbodies," Manuscript;availableuponrequest ,2005. [49]J.Gaukel,\Ezientelosungpolynomialerundnichtpol ynomialer gleichungssystememithilfevonsubdivisionsalgorithmen ," Ph.D.thesis 2003. [50]N.Kohareswaran,\Designofa3dgraphicaluserinterfa ceforfrontier,a geometricconstraintsolvergraphs," Tech.rep.,Mastersthesis,Univ.of Florida,Gainesville,Dept.ofComputerandInformationSc ience,Gainesville, FL,32611-6120,USA ,2003. [51]A.Bjorner,M.L.Vergnas,B.Sturmfels,N.White,andG. Ziegler, Oriented Matroids.EncyclopaediaofMathematics.Vol.46.Editedby G-C.Rota CambridgeUniversityPress,1993. [52]I.EmirisandJ.Canny,\Apracticalmethodforthespars eresultant,"in InternationalConferenceonSymbolicandAlgebraicComput ation,Proceedings ofthe1993InternationalSymposiumonSymbolicandAlgebra icComputation 1993,pp.183{192. [53]B.HuberandB.Sturmfels,\Apolyhedralmethodforsolv ingsparse polynomialsystem," Math.Comp. ,vol.64,pp.1541{1555,1995.

PAGE 156

144 [54]D.Eppstein,\Representingallminimumspanningtrees withapplicationsto countingandgeneration,"Tech.Rep.95-50,Univ.ofCalifo rnia,Irvine,Dept. ofInformation&ComputerScience,Irvine,CA,92697-3425, USA,1995. [55]J.Peters,J.Fan,M.Sitharam,andY.Zhou,\Eliminatio ningenericallyrigid 3 d geometricconstraintsystems,"in ProceedingsofAlgebraicGeometryand GeometricModeling,Nice,27-29September2004 .2005,pp.1{16,Springer Verlag. [56]D.B.S.L.G.I.W.Goddard, Handbookofnanoscienceengineeringand technology ,CRCpress,2002. [57]F.CrickandJ.Watson,\Structureofsmallviruses," Nature ,vol.177,pp. 473{475,1956. [58]D.CasparandA.Klug,\Physicalprinciplesintheconst ructionofregular viruses," ColdSpringHarborSympQuantBiol ,vol.27,pp.1{24,1962. [59]B.Berger,P.Shor,J.King,D.Muir,R.Schwartz,andL.T ucker-Kellogg, \Localrule-basedtheoryofvirusshellassembly," Proc.Natl.Acad.Sci.USA vol.91,pp.7732{7736,1994. [60]B.BergerandP.Shor,\Localrulesswitchingmechanism forviralshell geometry," Technicalreport,MIT-LCS-TM-527 ,1995. [61]A.Zlotnick,J.Johnson,P.Wingeld,S.Stahl,andD.En dres,\Atheoretical modelsuccessfullyidentiesfeaturesofhepatitisbvirus capsidassembly," Biochemistry ,vol.38,pp.14644{14652,1999. [62]A.Zlotnick,R.Aldrich,J.M.Johnson,P.Ceres,andM.J .Young, \Mechanismsofcapsidassemblyforanicosahedralplantvir us," Virology vol.277,pp.450{456,2000. [63]A.Zlotnick,\Tobuildaviruscapsid:anequilibriummo deloftheself assemblyofpolyhedralproteincomplexes," J.Mol.Biol. ,vol.241,pp.59{67, 1994. [64]D.Rapaport,J.Johnson,andJ.Skolnick,\Supramolecu larself-assembly: moleculardynamicsmodelingofpolyhedralshellformation ," CompPhysics Comm ,1998. [65]J.E.JohnsonandJ.A.Speir,\Quasi-equivalentviruse s:aparadigmfor proteinassemblies," J.Mol.Biol. ,vol.269,pp.665{675,1997. [66]V.S.Reddy,H.A.Giesing,R.T.Morton,A.Kumar,C.B.Po st,C.L. Brooks,andJ.E.Johnson,\Energeticsofquasiequivalence :computational analysisofprotein-proteininteractionsinicosahedralv iruses," Biophys ,vol. 74,pp.546{558,1998.

PAGE 157

145 [67]C.J.MarzecandL.A.Day,\Patternformationinicosahe dralviruscapsids: thepapovavirusesandnudaureliacapensis virus," Biophys ,vol.65,pp. 2559{2577,1993. [68]L.BabaiandW.Imrich,\Ongroupsofpolyhedralgraphs, DiscreteMath. vol.5,pp.101{103,1973. [69]L.BabaiandW.Imrich,\Sensepreservinggroupsofpoly hedralgraphs," Monatsh.Math. ,vol.79,pp.1{2,1975.

PAGE 158

BIOGRAPHICALSKETCH YongZhouwasbornin1976inHubei,China.Hegrewupmostlyin Anlu, Hubei.HeearnedhisB.S.inInformationandControlandhisM .S.inElectrical TheoryfromtheShanghaiJiaotongUniversity(SJTU)in1999 and2002, respectively.HeearnedhisPh.D.inComputerSciencefromt heUnivecityof Florida(UFL)in2006. 146

xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd