Upload
doanhanh
View
226
Download
0
Embed Size (px)
Citation preview
Author Query Form
Journal:
Article ID:
Please send your responses together with your list of corrections via web (preferred), or send the completed form and your marked proof to:
fax: +370 5 2784 091
Dear Author,
During the preparation of your manuscript for typesetting, some questions have arisen. These are listed below.
Queries and/or remarks
Location in article (line)
Query / remark Response
Many thanks for your assistance
Page 1 of
Akademijos 4, LT-08412 Vilnius, Lithuania
e-mail: [email protected]
DCGE
9026
15/717
16/752
Please update Ref. [5].
Please cite or remove Ref. [24].
1
Metadata of the article that will be visualized in Online First
Journal Name Discrete & Computational Geometry
Article Title Enumerating Constrained Non-crossing Minimally Rigid Frameworks
Corresponding Author Family name Avis
Particle
Given Name David
Suffix
Division School of Computer Science
Organization McGill University
Address McGill, Canada
E-mail [email protected]
Author Family name Katoh
Particle
Given Name Naoki
Suffix
Division Department of Architecture and Architectural
Engineering
Organization Kyoto University Katsura
Address Nishikyo-ku, Kyoto, 615-8450, Japan
E-mail [email protected]
Author Family name Ohsaki
Particle
Given Name Makoto
Suffix
Division Department of Architecture and Architectural
Engineering
Organization Kyoto University Katsura
Address Nishikyo-ku, Kyoto, 615-8450, Japan
E-mail [email protected]
Author Family name Streinu
Particle
Given Name Ileana
Suffix
Division Dept. of Comp. Science
Organization Smith College
Address Northampton, MA, 01063, USA
E-mail [email protected]
Author Family name Tanigawa
Particle
Given Name Shin-ichi
Suffix
Division Department of Architecture and Architectural
Engineering
Organization Kyoto University Katsura
Address Nishikyo-ku, Kyoto, 615-8450, Japan
E-mail [email protected]
Schedule Received 23 October 2006
Revised 7 May 2007
Accepted
Abstract In this paper we present an algorithm for enumerating without
repetitions all the non-crossing generically minimally rigid bar-and-joint
frameworks under edge constraints, which we call constrained non-
crossing Laman frameworks, on a given set of n points in the plane. Our
algorithm is based on the reverse search paradigm of Avis and Fukuda. It
generates each output graph in O (n 4) time and O (n ) space, or, with a
slightly different implementation, in O (n 3) time and O (n 2) space. In
particular, we obtain that the set of all the constrained non-crossing
Laman frameworks on a given point set is connected by flips which
preserve the Laman property.
Keywords Geometric enumeration – Rigidity – Constrained non-crossing minimally
rigid frameworks – Constrained Delaunay triangulation
Footnotes N. Katoh’s, M. Ohsaki’s and S.-i. Tanigawa’s research was supported by
JSPS Grant-in-Aid for Scientific Research on priority areas of New
Horizons in Computing.
I. Streinu’s research was supported by NSF grant CCF-0430990 and
NSF-DARPA CARGO CCR-0310661.
PDF-OUTPUT
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 1»
Discrete Comput GeomDOI 10.1007/s00454-007-9026-x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Enumerating Constrained Non-crossing MinimallyRigid Frameworks
David Avis · Naoki Katoh · Makoto Ohsaki ·Ileana Streinu · Shin-ichi Tanigawa
Received: 23 October 2006 / Revised: 7 May 2007© Springer Science+Business Media, LLC 2007
Abstract In this paper we present an algorithm for enumerating without repetitionsall the non-crossing generically minimally rigid bar-and-joint frameworks under edgeconstraints, which we call constrained non-crossing Laman frameworks, on a givenset of n points in the plane. Our algorithm is based on the reverse search paradigm ofAvis and Fukuda. It generates each output graph in O(n4) time and O(n) space, or,with a slightly different implementation, in O(n3) time and O(n2) space. In particu-lar, we obtain that the set of all the constrained non-crossing Laman frameworks ona given point set is connected by flips which preserve the Laman property.
Keywords Geometric enumeration · Rigidity · Constrained non-crossing minimallyrigid frameworks · Constrained Delaunay triangulation
N. Katoh’s, M. Ohsaki’s and S.-i. Tanigawa’s research was supported by JSPS Grant-in-Aid forScientific Research on priority areas of New Horizons in Computing.I. Streinu’s research was supported by NSF grant CCF-0430990 and NSF-DARPA CARGOCCR-0310661.
D. Avis (�)School of Computer Science, McGill University, McGill, Canadae-mail: [email protected]
N. Katoh · M. Ohsaki · S.-i. TanigawaDepartment of Architecture and Architectural Engineering, Kyoto University Katsura,Nishikyo-ku, Kyoto 615-8450, Japan
N. Katohe-mail: [email protected]
M. Ohsakie-mail: [email protected]
S.-i. Tanigawae-mail: [email protected]
I. StreinuDept. of Comp. Science, Smith College, Northampton, MA 01063, USAe-mail: [email protected]
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 2»
Discrete Comput Geom
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
1 Introduction
Let G be a graph with vertices {1, . . . , n} and m edges. G is a Laman graph if m =2n−3 and every subset of n′ ≤ n vertices spans at most 2n′ −3 edges. An embeddingof the graph G(P ) on a set of points P = {p1, . . . , pn} ⊂ R2 is a mapping of thevertices to points in the Euclidean plane i �→ pi ∈ P . The edges ij of G are mappedto straight line segments pipj . An embedding is planar or non-crossing if no pairof segments pipj and pkpl corresponding to non-adjacent edges i, j /∈ {k, l} have apoint in common. Where no ambiguity arises, we simply denote a vertex pi by i andan edge pipj by ij .
An embedded Laman graph on a planar point set is called a Laman framework.It has the special property of being minimally rigid when viewed as a bar-and-jointframework with fixed edge-lengths, under some rather weak conditions on the pointset [13, 19]. This motivates the tremendous interest in their properties. Let F be aset of non-crossing edges (bars) on P . A Laman framework containing F is called F-constrained. In this paper we give an algorithm for enumerating all the F-constrainednon-crossing Laman frameworks on a given point set P .
A pseudo-triangle is a simple polygon with exactly three convex vertices.A pseudo-triangulation is the partition of the convex hull of a planar point set P
into the interior disjoint pseudo-triangles, the vertices of which are points in P . It isknown that a pseudo-triangulation with minimum number of edges, called a minimumpseudo-triangulation or a pointed pseudo-triangulation, is a non-crossing Lamanframework [23]. However a minimum pseudo-triangulation contains all the edges ofthe convex hull of the underlying point set, whereas a non-crossing Laman frameworkneed not as illustrated in Fig. 1. Bereg showed that minimum pseudo-triangulationsare connected via simple flips, in which the removal of any non-convex-hull edgeleads to the choice of a unique other edge that can replace it, in order to maintainthe pseudo-triangulation property [8]. This leads to the definition of a graph whosevertices are minimum pseudo-triangulations and whose edges are simple flips. Heshowed that this graph is connected and showed how to apply the reverse searchtechnique to generate all of its vertices (minimum pseudo-triangulations). Bereg’s ef-ficient algorithm makes use of specific properties of minimum pseudo-triangulationswhich do not extend to arbitrary non-crossing Laman frameworks. In particular,remove-add flips are not unique, relative to the removed edge, in the case of a non-crossing Laman framework.
In our previous paper [5] we studied a graph whose nodes were non-crossingLaman frameworks on a given point set. Two vertices are adjacent in the graph if one
Fig. 1 a Minimumpseudo-triangulation.b Non-crossing Lamanframework
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 3»
Discrete Comput Geom
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Fig. 2 Non-crossing Lamanframeworks need not form thebases of a matroid
can be obtained from the other by a single edge insertion and deletion in the corre-sponding non-crossing Laman frameworks. We showed that this graph is connected.The rather involved proof relies on some properties of the one-degree-of-freedommechanisms that are obtained by removing a single edge from a Laman framework.
Unfortunately, it is not feasible to generate all Laman frameworks of practicalinterest due to the huge output size. However, certain engineering considerations,discussed later in this section, allow us to limit ourselves to Laman frameworks con-taining a given set F of non-crossing edges. It is not at all clear how to adapt ourearlier proof to apply to these F -constrained Laman frameworks.
In this paper we use both matroids and triangulations as important tools to solvethis problem. Firstly we note that although Laman graphs form the bases of a matroiddefined on the edges of a given base graph (see, e.g., [13, 25]) this is not true ingeneral for non-crossing Laman frameworks on a point set P . In fact for the twonon-crossing Laman frameworks L1 and L2 depicted in Fig. 2a and b there exists noedge to insert into L1 − {ab} from L2 − L1 that maintains the non-crossing property.However, by choosing a non-crossing base graph, all subgraphs are automaticallynon-crossing, and hence the non-crossing Laman frameworks which are subgraphsof this graph do form the bases of a matroid. Triangulations are natural candidatesfor such base graphs, are connected by flip operations, and handle rather naturally thecondition of being F -constrained.
The reverse search enumeration technique of Avis and Fukuda [3, 4] has beensuccessfully applied to a variety of combinatorial and geometric enumeration prob-lems. The necessary ingredients to use the method are an implicitly described con-nected graph on the objects to be generated, and an implicitly defined spanning treein this graph. In this paper we use triangulations and matroids to supply these ingre-dients for the problem of generating constrained Laman frameworks. After provingthe correctness of our approach, we give an implementation based on reverse searchthat allows the enumeration without repetitions of all the F -constrained non-crossingLaman frameworks on n points in O(n4) time and O(n) space per output framework.A slightly different implementation yields O(n3) time and O(n2) space per outputframework. For the unconstrained case, also using reverse search but with very dif-ferent parent function, we obtain the same time and space complexity results that weobtained in [5]. The method presented here is, however, considerably simpler.
In our implementation we make use of the pebble game algorithm of Jacobs andHendrickson [14] for 2-dimensional rigidity, see also [9]. Our complexity analysis re-lies on recent results, due to Lee, Streinu and Theran [20, 21], regarding the complex-ity of finding and maintaining rigid components during the pebble game algorithm.Indeed, the time-space trade-off of our algorithm is inherited from [21].
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 4»
Discrete Comput Geom
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
In the remainder of this section, we briefly describe how this problem came to ourattention via the work of the third author. The motivating application described hereis not essential for understanding the results of the paper, but may be of interest toreaders interested in structural rigidity. Graph theoretical approaches are widely usedin structural mechanics [17], where the edges and vertices in the graph represent thebars and rotation-free joints of a structure called a truss. It is well-known that thestiffest truss under static loads is statically determinate that is equivalent to a Lamangraph [7].
Another bar-joint system, which is widely used in industrial applications, is a linkmechanism that is unstable and generates large deformations, or changes in the di-rection of the nodal displacement. Applications of link mechanisms can be foundin, e.g., automobile suspensions, robot hands, umbrellas, crankshafts, etc. Kawamotoet al. [18] presented a method which used the enumeration of planar graphs to find anoptimal mechanism. However, their method was developed for their specific problem,and no general approach was given.
Recently, a new type of mechanism, called a compliant mechanism, has been de-veloped and applied mainly in the field of micro-mechanics. A compliant mechanismhas flexible parts, which are not present in conventional unstable mechanisms, tostabilize the structure. Although a compliant mechanism is usually modeled as a con-tinuum with elastic joints, it is possible to generate a similar mechanism by using abar-joint system. Ohsaki and Nishiwaki [22] presented a method for generating com-pliant flexible bar-joint mechanisms using a nonlinear programming approach, andfound that the optimal structure is statically determinate, i.e., minimally rigid. Theyutilized snap-through behavior to generate multi-stable mechanisms that have mul-tiple self-equilibrium states. Such a mechanism can be used as a switching device,robot hand, gripper, deployable structure, etc. In their method, the optimal locationsof bars and joints are found from a highly connected initial structure that has barsbetween all pairs of the nodes whose distances are small enough. However, due tohigh nonlinearity of the analysis and optimization problems, the nonlinear program-ming problem should be solved many times starting from different initial solutions toobtain a few types of mechanisms.
Since the compliant bar-joint mechanism is usually statically determinate, the op-timization problem can be solved easily if the design space is limited to staticallydeterminate structures. Combining an implementation of our earlier method for gen-erating unconstrained Laman frameworks [5] with this nonlinear programming ap-proach, we could obtain many new compliant mechanisms with up to 10 joints [16].However the number of Laman frameworks grows too rapidly to allow a completeenumeration for significantly larger examples.
In view of practical requirements, the optimal structure should not have intersect-ing members, and some pre-selected members should always exist. Therefore, thecomputational cost could be much reduced if the candidate set of statically deter-minate non-crossing trusses (non-crossing Laman frameworks) is restricted to thosecontaining pre-selected members. Thus it is desirable to enumerate all Laman frame-works which contain a given set of specified edges.
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 5»
Discrete Comput Geom
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
2 Preliminaries
Let L be a non-crossing Laman framework on a given point set P . A mechanism isa flexible framework obtained by removing one or more edges from a Laman frame-work. Its number of degrees of freedom or dof ’s, is the number of removed edges. Wewill encounter mostly one-degree-of-freedom (1dof) mechanisms, which arise froma Laman framework by the removal of one edge. In particular, a mechanism with k
dofs has exactly 2n−3−k edges, and each subset of n′ vertices spans at most 2n′ −3edges. A subset of some n′ vertices spanning exactly 2n′ − 3 edges is called a rigidblock. A maximal rigid block is called a rigid component.
An important tool in our work is the generic rigidity matroid, also called theLaman matroid, which can be defined on the edges of the complete graph Kn, see[13, 25]. A subset T of edges of Kn is independent in the matroid if for every subsetS ⊆ T we have |S| ≤ 2|V (S)|−3, where V (S) is the subset of vertices spanned by theedges in S. The bases are those independent sets which contain exactly 2n− 3 edges,i.e., the Laman graphs on n vertices. Two bases L1 and L2 are connected by a flip iftheir edge sets agree on 2n−4 elements. The flip is given by the pair of edges (e1, e2)
such that e1 ∈ L1 −L2, e2 ∈ L2 −L1. In other words, we have L2 = L1 −{e1}∪ {e2},which for simplicity we will write as L2 = L1 − e1 + e2 throughout the paper.
The definition of Laman matroid may be generalized by replacing the base graphKn by any graph G. In order that the matroid be non-empty, G must contain at leastone Laman subgraph. We may further extend the definition by fixing an independentset F of edges of G. The independent edge sets of G that contain F also form amatroid, which we will call the F-constrained Laman matroid.
Let G be an n vertex graph that contains a Laman subgraph, and let F be an inde-pendent set of edges in G. Using flips, we can define a new graph whose nodes arethe bases of the F -constrained Laman matroid defined on G. Its edges correspond tobases connected by flips. It follows from the properties of a matroid that this graph isconnected. But a priori, the subset of F -constrained non-crossing Laman frameworksmay not necessarily be. We will prove this later in Sect. 3.
Reverse search is a memory efficient method for visiting all the nodes of a con-nected graph that can be defined implicitly by an adjacency oracle. It can be usedwhenever a spanning tree of the graph can be defined implicitly by a parent function.This function is defined for each vertex of the graph except a pre-specified root. Iter-ating the parent function leads to a path to the root from any other vertex in the graph.The set of such paths defines a spanning tree, known as the search tree.
3 Constrained Non-crossing Laman Frameworks
Let T be a triangulation on a given set of n points P in the plane, containing k
triangles. The angle vector of T is the vector of 3k interior angles sorted into non-decreasing order. We say that T is an F-constrained triangulation, denoted T (F ),if it contains a given set of non-crossing edges F . Many facts about F -constrainedtriangulations are contained in the survey by Bern and Eppstein [10]. If F is an inde-pendent set in the Laman matroid on Kn, then a Laman framework on P containingF is called F -constrained, and is denoted L(F). The following lemma, a well knownfact about the Laman matroid, follows from rigidity considerations (see, e.g. [25]).
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 6»
Discrete Comput Geom
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
Fig. 3 a F -constrained triangulation, b F -constrained Delaunay triangulation and c Unconstrained De-launay triangulation, where the bold edges denote the edges of F
Lemma 1 Let F be a non-crossing edge set on P that is an independent set in theLaman matroid on Kn. Every F -constrained triangulation T (F ) on P contains anF -constrained Laman framework L(F).
The F -constrained Delaunay triangulation plays an important role for developingour results, which we define by means of legal (illegal) edge and D-flip as follows:
Definition 1 (Legal edge) Let T be a triangulation on a point set P . An edge ac thatbounds two triangles whose edges are in T , say abc and acd , is a legal edge (withrespect to T ) if the circumcircle of abc does not contain d in its interior.
Definition 2 (D-flip) Let T (F ) be an F -constrained triangulation on a non-crossingedge set F . Let ac be an illegal edge (with respect to T (F )) that is not in F and isthe diagonal of a convex quadrilateral abcd whose edges are contained in T (F ). Thereplacement of edge ac by edge bd in T (F ) is called a D-flip.
Definition 3 (F-constrained Delaunay Triangulation) Let T (F ) be an F -constrainedtriangulation on a non-crossing edge set F . T (F ) is an F-constrained DelaunayTriangulation, denoted DT(F ) if it admits no D-flips. Equivalently, all edges inT (F ) − F are legal.
In Fig. 3a, b and c, we illustrate examples of an F -constrained triangulation T (F ),the F -constrained Delaunay triangulation DT(F ) and the unconstrained Delaunaytriangulation DT(∅), respectively, where F = {13,16,23,25,27,47,57,67}. We ob-serve that T (F ) and DT(F ) have illegal edges {15,25} and {25}, respectively, andDT(∅) has no illegal edge. Replacing edge {15} in T (F ) by edge {36} is a D-flip.
Fact 1 An F -constrained triangulation T (F ) can be converted to DT(F ) by at mostO(n2) D-flips, taken in any order [10, Lemma 4].
If P has four or more co-circular points, using a linear transformation as describedin [6], we may transform P into a point set P̄ with a unique DT(F ) so that P and P̄
have the same number of non-crossing Laman frameworks since the transformationdoes not change the relative order with respect to x- and y-coordinates among anythree points. We will assume in what follows that P has a unique DT(F ).
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 7»
Discrete Comput Geom
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
Two points a and b are visible (with respect to F ) if no edge of F properly inter-sects the segment ab. ab is visible to point c (with respect to F ) if the triangle abc
is not properly intersected by an edge of F . Then the following fact gives anothercharacterization of F -constrained Delaunay triangulation.
Fact 2 Let F be a non-crossing edge set on P . An F-constrained Delaunay Triangu-lation contains the edge ab between points a and b in P if and only if a is visible tob, and some circle through a and b contains no point of P visible to segment ab. Wecall ab a Delaunay-edge (with respect to F ) (Definition 1, [10]).
Let H(F) be a non-crossing edge set on P containing F , and let us considerH(F)-constrained Delaunay triangulation DT(H(F )). We observe the followingfacts that will be often utilized later. First note that all illegal edges in DT(H(F ))
are contained in H(F). This is because all edges of DT(H(F )) − H(F) are le-gal edges by Definition 3. We also notice that if an edge e ∈ H(F) is not a le-gal edge in DT(H(F )), we have DT(H(F )) = DT(H(F ) − e) since all edges ofDT(H(F )) − (H(F ) − e) are legal in DT(H(F )). On the other hand DT(H(F ) − e)
cannot contain e if e is illegal. In fact DT(H(F )−e) can be obtained from DT(H(F ))
after performing at least one D-flip. Note in addition that a D-flip increases the anglevector lexicographically. This can be used to prove the following.
Fact 3 DT(F ) has the lexicographically maximum angle vector of all F -constrainedtriangulations on P (Theorem 1, [10]).
Now let us consider non-crossing Laman frameworks.
Definition 4 An F-constrained Delaunay Laman Framework, DL(F ), is an F -con-strained Laman framework that is a subset of DT(F ).
Note that, unlike DT(F ), DL(F ) is not uniquely defined in general. In the sequelwe will often make use of a constraining edge set F that is either a Laman frameworkL or a 1dof mechanism L − e.
Definition 5 (L-flip) An L-flip is an edge insertion and deletion that takes a Lamanframework L to a new Laman framework L′.
Theorem 1 Every F -constrained non-crossing Laman framework L(F) can betransformed to a DL(F ) by at most O(n2) L-flips.
Proof Construct the L(F)-constrained Delaunay triangulation T = DT(L(F )). IfT = DT(F ), then in fact L(F) is a DL(F ) and we are done. Otherwise T containssome illegal edge ac /∈ F by Definition 3. Now all edges in T − L(F) are legaledges with respect to T , so ac must be an edge of L(F) − F . Consider now the con-strained Delaunay triangulation DT(L(F )−ac) which contains L(F)−ac. We applyLemma 1 with F and T (F ) in the lemma replaced by L(F)−ac and DT(L(F )−ac)
respectively. By the lemma, DT(L(F ) − ac) contains a (L(F ) − ac)-constrainedLaman framework L′. Since L′ contains L(F) − ac it must contain one additional
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 8»
Discrete Comput Geom
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
Fig. 4 An example of L-flip described in the proof of Theorem 1. The bold lines representF = {13,16,23,25,27,47,57,67}, and the dotted lines represent additional edges for the constrainedDelaunay triangulations
edge, say st , and so L′ = L(F) − ac + st . In other words L′ is obtained from L(F)
by an L-flip. Observe that L′ is F -constrained since ac /∈ F .Now we can construct DT(L(F ) − ac) from DT(L(F )) by a series of D-flips,
starting by deleting the illegal edge ac. Each of these D-flips lexicographically in-creases the angle vector. If DT(L(F ) − ac) is not DT(F ) then we repeat the aboveprocedure. From Fact 1, using a maximum of O(n2) D-flips we will obtain DT(F ).The corresponding Laman framework L′ is a DL(F ), and will have been obtained byusing at most O(n2) L-flips. �
In Fig. 4 we show an example of L-flip described in the proof of Theorem 1 inwhich L(F) is not a DL(F ): deleting the illegal edge 15 in DT(L(F )) − F , andupdating the constrained Delaunay triangulation to DT(L(F ) − 15) we find anothernon-crossing Laman framework shown in the rightmost and upper corner of Fig. 4.
For edges e = ij with i < j and e′ = kl with k < l, we use the notation e ≺ e′ ore′ � e when e is lexicographically smaller than e′ i.e., either i < k or i = k and j < l,and e = e′ when they coincide. For an edge set A we use the notations max{e | e ∈ A}and min{e | e ∈ A} to denote the lexicographically largest and smallest edges in A,respectively.
Definition 6 (Lexicographic edge list) Let E = {e1 ≺ e2 ≺ · · · ≺ em} and E′ = {e′1 ≺
e′2 ≺ · · · ≺ e′
m} be the lexicographically ordered edge lists. Then E is lexicographi-cally smaller than E′ if ei ≺ e′
i for the smallest i such that ei = e′i .
Theorem 2 Let L1(F ) and L2(F ) be two F -constrained non-crossing LamanFrameworks on a point set P . Then L1(F ) can be transformed to L2(F ) by at mostO(n2) L-flips.
Proof By Theorem 1, starting from L1(F ) we can perform L-flips O(n2) times toreach a DL(F ), say L(F). Let L∗(F ) be the DL(F ) with lexicographically smallestedge list. We show that we can do edge flips from L(F) to L∗(F ), at most n − 3times, maintaining the non-crossing Laman property.
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 9»
Discrete Comput Geom
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
Consider the Laman matroid with base graph DT(F ). Both L(F) and L∗(F ) arebases in this matroid, i.e., they are Laman subgraphs of DT(F ). Delete from L(F)
the lexicographically largest edge ac in L(F) − L∗(F ). By the matroid properties,there will always be an edge st in L∗(F ) − L(F) such that L′(F ) = L(F) − ac + st
is an F -constrained Laman framework. L′(F ) is non-crossing since it is a subgraphof the non-crossing graph DT(F ). A triangulation on n points has at most 3n − 6edges and a Laman framework has 2n − 3 edges, so after at most n − 3 such L-flipswe reach L∗(F ).
A similar argument shows that we can start with L2(F ) and reach L∗(F ) in atmost O(n2) L-flips, completing the proof of the theorem. �
4 Algorithm
Let L(F ) be the set of F -constrained non-crossing Laman frameworks on P , andDL(F ) be the set of F -constrained Delaunay Laman frameworks. Clearly DL(F ) ⊆L(F ) holds. Let L∗(F ) be the DL(F ) with the lexicographically smallest edge list asdenoted in Sect. 3. We define the following parent function f : L(F ) − {L∗(F )} →L(F ) based on Theorems 1 and 2.
Definition 7 (Parent function) Let L(F) ∈ L(F ) with L(F) = L∗(F ). Then L′(F ) =L(F) − ac + st is the parent of L(F), where
Case 1 L(F) ∈ DL(F ), ac = max{e | e ∈ L(F) − L∗(F )} and st = min{e ∈L∗(F ) − L(F) | L(F) − ac + e ∈ L(F )},
Case 2 L(F) ∈ L(F )−DL(F ), ac = max{e ∈ L(F)−F | e is illegal in DT(L(F ))}and st = min{e ∈ DT(L(F ) − ac) − L(F) | L(F) − ac + e ∈ L(F )}.
To simplify the notations, we denote the parent function depending on Cases 1and 2 by f1 : DL(F ) − {L∗(F )} → DL(F ) and f2 : L(F ) − DL(F ) → L(F ), re-spectively.
The reverse search algorithm can be considered on the underlying graph in whicheach vertex corresponds to a non-crossing Laman framework and two frameworksare adjacent if and only if one can be obtained from the other by a L-flip. Then, forL′(F ) ∈ L(F ) the adjacency function, Adj, is defined as follows:
Adj(L′(F ), e1, e2) :={
L′(F ) − e1 + e2 if L′(F ) − e1 + e2 ∈L(F ),
null otherwise,
where e1 ∈ L′(F ) − F and e2 ∈ Kn − L′(F ). The number of candidate edge pairs(e1, e2) is O(n3).
Let elistL′ and elistKn be lists of edges of L′(F ) and Kn ordered lexicographically,and let elistL′(i) and elistKn(i) be the i-th elements of elistL′ and elistKn , respectively.We also denote the above defined adjacency function by Adj(L′(F ), i, j) for whiche1 = elistL′(i) with e1 /∈ F and e2 = elistKn(j) with e2 /∈ L′. Then, based on thealgorithm in [3, 4], we describe our algorithm in Fig. 5. An example of the searchtree on a set of F -constrained non-crossing Laman frameworks on seven points areillustrated in Fig. 6.
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 10»
Discrete Comput Geom
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
Algorithm Enumerating F -constrained non-crossing Laman frameworks.
Fig. 5 Algorithm for enumerating F -constrained non-crossing Laman frameworks
As we will show later, both the parent function and the adjacency function needO(n2) time for each process. The while-loop from line 4 to 17 has |L′(F )| · |Kn| iter-ations which require O(n5) time if the tests in lines 8 and 10 are performed naively.In order to improve O(n5) time to O(n3) time we will use the following two lemmas:
Lemma 2 Let L(F) and L′(F ) be two distinct F -constrained Delaunay Lamanframeworks for which L(F) = Adj(L′(F ), e1, e2) for e1 ∈ L′(F ) − F and e2 ∈Kn − L′(F ). Then, f1(L(F )) = L′(F ) holds if and only if e1 and e2 satisfy the fol-lowing conditions:
(a) e1 ∈ L∗(F ),(b) e2 ∈ DT(L∗(F )) − L∗(F ),(c) e1 ≺ min{e ∈ L∗(F ) − L′(F ) | L′(F ) − e1 + e ∈L(F )},(d) e2 � max{e | e ∈ L′(F ) − L∗(F )}.
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 11»
Discrete Comput Geom
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
Fig. 6 An example of the search tree of our algorithm on seven points. The constraint edges F are illus-trated by the bold edges, and each edge of the search tree is distinguished by using the dotted or bold lineaccording to whether it corresponds to Cases 1 or 2 of Definition 7
Lemma 3 Let L(F) and L′(F ) be two distinct F -constrained non-crossing Lamanframeworks for which L(F) = Adj(L′(F ), e1, e2) for edges e1 ∈ L′(F )−F and e2 ∈Kn −L′(F ) with L(F) ∈ L(F )−DL(F ). Then, f2(L(F )) = L′(F ) holds if and onlyif e1 and e2 satisfy the following conditions:
(a) e1 is a legal edge in L′(F ),(b) e2 ∈ Kn − DT(L′(F )),
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 12»
Discrete Comput Geom
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
(c) e1 ≺ min{e ∈ DT(L′(F )) − L′(F ) | L′(F ) − e1 + e ∈ L(F )},(d) e2 = max{e ∈ (L′(F ) − e1 + e2) − F | e is illegal in DT(L′(F ) − e1 + e2)}.
We will explain later (in the proof of Theorem 3) how Lemmas 2 and 3 are used toobtain O(n3) time for generating each output of our algorithm. Notice that for L′(F )
and L(F) ∈ L(F ) such that L(F) = L′(F ) − e1 + e2, at most one of f1(L(F )) =L′(F ) and f2(L(F )) = L′(F ) holds from the conditions (b) of Lemmas 2 and 3. Inthe following proofs of Lemmas 2 and 3 we write L for L(F), L′ for L′(F ), etc., forsimplicity because the constraining set F is fixed throughout.
Proof of Lemma 2 (“only if”-part) Since f1(L) = L′, e1 and e2 must be chosen as st
and ac in Case 1 of Definition 7. From Definition 7, e2(= ac) ∈ L − L∗. Since L ∈DL, L ⊂ DT(L∗) holds, and we have (b). Similarly since e1(= st) ∈ L∗ − L ⊂ L∗,we have (a). From e1 = st , we have
L′ − e1 = (L − ac + st) − e1 = L − ac. (1)
Let e′ = min{e ∈ L∗ −L′ | L′ −e1 +e ∈ L}. Suppose (c) does not hold, and e′ ≺ e1holds. (Note that the equality does not hold since e1 ∈ L′ − F .) Then from (1) ande′ ≺ e1 = st ≺ ac (which comes from Definition 7),
e′ = min{e ∈ L∗ − (L − ac + st) | L − ac + e ∈ L} (from (1))
= min{e ∈ L∗ − L | L − ac + e ∈L} (from e′ ≺ st ≺ ac).
Thus, e′ would have been selected instead of e1 when the parent function f1 is appliedto L, which contradicts e1 = st . Hence, (c) holds.
Let e′′ = max{e | e ∈ L′ − L∗}, and suppose that (d) does not hold. A similarargument leads a contradiction. Thus, (d) holds.
(“if”-part) From (a) and (b), L = L′ − e1 + e2 is DL(F ). Since e1 ∈ L∗ from (a),
e2 � max{e | e ∈ L′ − L∗} (from (d))
= max{e | e ∈ (L + e1 − e2) − L∗} (from L = L′ − e1 + e2)
= max{e | e ∈ (L − e2) − L∗} (from e1 ∈ L∗)
holds. Thus, e2 = max{e | e ∈ L − L∗}, and hence f1 chooses e2 for an edge ac to bedeleted from L. From this we obtain L − ac = L′ − e1 + e2 − ac = L′ − e1. Sincee2 /∈ L∗ from (b),
e1 ≺ min{e ∈ L∗ − L′ | L′ − e1 + e ∈L} (from (c))
= min{e ∈ L∗ − (L + e1 − e2) | L − ac + e ∈ L} (from L − ac = L′ − e1)
= min{e ∈ L∗ − (L + e1) | L − ac + e ∈L} (from e2 /∈ L∗)
holds. Since e1 ∈ L∗ − L, we obtain e1 = min{e ∈ L∗ − L | L − ac + e ∈ L}. Thus,f1 chooses e1 for an edge to be added, and f1(L) returns L′. �
Proof of Lemma 3 (“only if”-part) Since f2(L) = L′, e1 and e2 must be chosen asst and ac in Case 2 of Definition 7. As in the proof of Lemma 2, we have (1) from
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 13»
Discrete Comput Geom
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
e2 = ac. Since st ∈ DT(L − ac) − L holds from Definition 7 and from Fact 2, st isa Delaunay edge with respect to L − ac and then there exists a circle through bothendpoints of st containing no point visible to st with respect to L − ac. Since sucha circle still contains no point visible to st with respect to L − ac + st , st is still theDelaunay edge with respect to L − ac + st = L′, which implies that st is not illegalin DT(L′). Thus, from e1 = st , (a) holds. Moreover we observe that
DT(L′) = DT(L′ − e1) = DT(L − ac) (2)
holds since e1 is not illegal edge in DT(L′).Let us consider e2. Since ac is illegal in DT(L) from Definition 7, we have ac =
e2 /∈ DT(L − ac). Therefore e2 /∈ DT(L′) holds from (2). Thus (b) holds. Also (d)must hold since the parent function removes the lexicographically largest illegal edgein DT(L) − F .
Finally let us consider e1. Let e′ = min{e ∈ DT(L′) − L′ | L′ − e1 + e ∈ L}. Sup-pose that (c) does not hold. Then e′ ≺ e1 holds. (Note that the equality does not holdsince e1 ∈ L′ − F .) Therefore, we have
e′ = min{e ∈ DT(L − ac) − (L − ac + e1) | L − ac + e ∈L} (from (1) and (2)),
= min{e ∈ DT(L − ac) − (L − ac) | L − ac + e ∈ L} (from e′ ≺ e1).
Then, e′ would have been selected when the parent function is applied to L, whichcontradicts e1 = st . Hence (c) holds.
(“if”-part) From (a), e1 is legal in DT(L′). Then, we have DT(L′) = DT(L′ −e1). The condition (d) says that e2 is the lexicographically largest illegal edge inDT(L) − F . Thus, f2 chooses e2 for an edge ac to be deleted from L, and L′ − e1 =L − ac.
From L′ − e1 = L − ac and DT(L′) = DT(L′ − e1) = DT(L − ac) the condition(c) implies e1 ≺ min{e ∈ DT(L − ac) − (L − ac + e1) | L − ac + e ∈ L}. Thus,e1 = min{e ∈ DT(L − ac) − L | L − ac + e ∈ L}. (Note that e1 ∈ DT(L − ac) andac /∈ DT(L − ac), because DT(L − ac) = DT(L′), and now we have e1 ∈ DT(L′)and ac = e2 /∈ DT(L′) from (a) and (b), respectively.) Thus, f2 chooses e1 for anedge to be added, and f2(L) returns L′. �
Using Lemmas 2 and 3, we will describe an O(n3) algorithm in the proof of thefollowing theorem. First we give a simple observation for checking the condition (d)in Lemma 3 efficiently:
Observation 1 Let DT(F ) be an F -constrained Delaunay triangulation constrainedby edges of a non-crossing edge set F , and let e1 ∈ F be a legal edge in DT(F ) ande2 ∈ Kn − DT(F ) be an edge intersecting no edge of F . Then DT(F − e1 + e2) =DT(F + e2).
Proof Since e1 is the legal edge in DT(F ), we have DT(F ) = DT(F − e1). Thenthere exists a circle through both endpoints of e1 containing no point visible to e1 withrespect to F − e1 from Fact 2. And, when inserting e2 into F − e1, this circle clearlydoes not contain any point visible to e1 with respect to F − e1 + e2. Thus e1 remains
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 14»
Discrete Comput Geom
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
a Delaunay edge with respect to F − e1 + e2, and this implies that DT(F − e1 + e2)
contains e1 from Fact 2 and DT(F + e1) = DT(F − e1 + e2). �
Theorem 3 The set of all F -constrained non-crossing Laman frameworks on a givenpoint set can be reported in O(n3) time per one F -constrained non-crossing Lamanframework using O(n2) space, or O(n4) time using O(n) space.
Proof As described in Sect. 3, we use a linear transformation if necessary to get aunique DT(F ). The complexity of testing the uniqueness of a DT(F ) is O(n2) bysimply testing the circumcircle of each triangle in the DT(F ) to see there is anotherpoint other than vertices of the triangle on the circumcircle.
Given a non-crossing Laman framework L′(F ) ∈ L(F ) and L′(F )-constrainedDelaunay triangulation DT(L′(F )), the algorithm will either check if f1(Adj(L′(F ),
e1, e2)) = L′(F ) or if f2(Adj(L′(F ), e1, e2)) = L′(F ) at line 10 depending on theedge pair (e1, e2). Here we will show that each condition in Lemmas 2 and 3 can bechecked in O(1) time for each of the O(n3) edge pairs (e1, e2) by the following way.
First, for all edges e2 ∈ elistKn , we calculate the number of edges e1 ∈ L′(F ) in-tersecting e2, which we denote by cross_n(e2,L
′(F )). If cross_n(e2,L′(F )) > 1, we
delete e2 from elistKn since L′(F )−e1 +e2 is never non-crossing for any e1 ∈ elistL′ .If cross_n(e2,L
′(F )) = 1, we associate with e2 a pointer cross_e(e2,L′(F )) to the
edge e1 which intersects it.Next, for each e1 ∈ elistL′ , we attach two flags to e1 which represent that e1 sat-
isfies the conditions (a) of Lemmas 2 and 3, respectively. These help us to check theconditions (a) in Lemmas 2 and 3 in O(1) time. Similarly, we attach two flags toe2 ∈ elistKn which represent that e2 satisfies the conditions (b) of Lemmas 2 and 3 tocheck them in O(1) time for each e2. Additionally we calculate the lexicographicallylargest edge in L′(F ) − L∗(F ) in O(n) time to check the condition (d) in Lemma 2in O(1) time for each e2. This preprocessing can be done in O(n2) time using theprecomputed sorted edge list of L∗(F ) and DT(L(F )).
Now let us consider how to identify a set of edges e2 ∈ elistL′ satisfying thecondition (d) in Lemma 3 in O(n3) time with O(n2) space. (In the case of O(n4)
time algorithm this process must be skipped, and the condition (d) in Lemma 3will be checked simply by updating DT(L′(F )) to DT(L′(F ) − e1 + e2) for eachpair (e1, e2) using O(n) time and O(n) space by applying the algorithm by Chinand Wang [11].) It can be done regardless of the removed edge e1 when condi-tion (a) in Lemma 3 is satisfied. From Observation 1 we can say that the con-dition (d) holds if and only if e2 is the lexicographically largest illegal edge inDT(L(F ) + e2) − F when cross_n(e2,L
′(F )) = 0. It is sufficient to check condi-tion (d) only in DT(L(F )−cross_e(e2,L
′(F )) + e2) when cross_n(e2,L′(F )) = 1.
Updating the Delaunay triangulation takes O(n) time (see [2, 11, 12] for a linear timeupdate of the constrained Delaunay triangulation). Thus we can attach a flag to eache2 ∈ elistKn in O(n) time which represents whether e2 satisfies (d) of Lemma 3 ornot, and this preprocessing for all edges in elistKn takes O(n3) time.
By using the above mentioned data, we will show that for a fixed e1 ∈ elistL′ ,the inner while-loop from line 6 to 16 can be executed in O(n2). In order to ef-ficiently test the condition (c) of Lemmas 2 and 3, we prepare the data structureproposed by Lee, Streinu and Theran [20, 21] in O(n2) time for maintaining rigid
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 15»
Discrete Comput Geom
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
components of L(F) − e1. This data structure supports a pair-find query which de-termines whether two vertices are spanned by a common component in O(1) timeusing O(n2) preprocessing time with O(n2) space, or O(n) time using O(n2) pre-processing time with O(n) space. From this, we can calculate Adj(L′(F ), e1, e2)
(i.e., determine whether L′(F ) − e1 + e2 ∈ L(F )) in O(1) time with O(n2) space,or O(n) time with O(n) space, for each edge e2 ∈ elistKn . Also, we can com-pute e′ = min{e ∈ L∗(F ) − L′(F ) | L′(F ) − e1 + e ∈ L(F )} and e′′ = min{e ∈DT(L′(F )) − L′(F ) | L′(F ) − e1 + e ∈ L(F )} in O(n) time with O(n2) space, orO(n2) time with O(n) space. Using e′ and e′′ we can check condition (c) in Lemmas2 and 3 in O(1) time.
Thus, we have confirmed that all conditions of Lemmas 2 and 3 can be checkedin O(1) time for each pair (e1, e2) by taking O(n3) preprocessing time with O(n2)
space, or O(n) time for each (e1, e2) with O(n) space.By using the above mentioned data structure for maintaining the rigid components,
we can perform both parent function and adjacency function in O(n2) time withO(n2) space, or O(n3) time with O(n) space. Thus, we have an O(n3) algorithmusing O(n2) space, or O(n4) algorithm using O(n) space. �
5 Conclusions
We have presented an algorithm for enumerating all the constrained non-crossingLaman frameworks. We note in passing that the techniques in this paper can also beused to generate all F -constrained non-crossing spanning trees of a point set sincethey also form bases of the graphic matroid on any triangulation of P . The uncon-strained case was considered in [1, 4].
An open problem, that is of considerable practical importance, is to generate ef-ficiently all non-crossing Laman Frameworks that do not contain any edge from agiven set. This is equivalent to generating all non-crossing Laman frameworks thatare subgraphs of a given geometric graph. An indication that this problem may bechallenging, is that it is known that determining if a geometric graph contains a non-crossing spanning tree is NP-complete [15].
Acknowledgements The authors would like to thank an anonymous referee for many ideas that lead toan improved presentation of this research.
References
1. Aichholzer, O., Aurenhammer, F., Huemer, C., Vogtenhuber, B.: Gray code enumeration of planestraight-line graphs. In: Proc. 22th European Workshop on Computational Geometry (EuroCG ’06),pp. 71–74, Greece, 2006
2. Anglada, M.V.: An improved incremental algorithm for constructing restricted Delaunay triangula-tions. Comput. Graph. 21(2), 215–223 (1997)
3. Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangementsand polyhedra. Discrete Comput. Geom. 8, 295–313 (1992)
4. Avis, D., Fukuda, K.: Reverse search for enumeration. Discrete Appl. Math. 65(1-3), 21–46 (1996)5. Avis, D., Katoh, N., Ohsaki, M., Streinu, I., Tanigawa, S.: Enumerating planar minimally rigid graphs.
In: Proc. 12th International Computing and Combinatorics Conference (COCOON 2006). LectureNotes in Computer Science, vol. 4112, pp. 205–215. Springer, Berlin (2006). Graphs and Combina-torics, to appear
AU
TH
OR
’S P
RO
OF
Journal ID: 454, Article ID: 9026, Date: 2007-09-04, Proof No: 1
UN
CORREC
TED
PRO
OF
« DCGE 454 layout: Small Extended v.1.1 reference style: mathphys file: dcge9026.tex (Ramune) aid: 9026 doctopic: OriginalPaper class: spr-small-v1 v.2007/08/27 Prn:3/09/2007; 9:15 p. 16»
Discrete Comput Geom
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
6. Beichl, I., Sullivan, F.: Coping with degeneracies in Delaunay triangulation. In: Flaherty, J.E., et al.(eds.) Modelling, Mesh Generation and Adaptive Numerical Methods for Partial Differential Equa-tions, pp. 23–30. Springer, New York (1995)
7. Bendsøe, M.P., Sigmund, O.: Topology Optimization: Theory, Methods and Applications. Springer,Berlin (2003)
8. Bereg, S.: Enumerating pseudo-triangulations in the plane. Comput. Geom. Theory Appl. 30(3), 207–222 (2005)
9. Berg, A., Jordán, T.: Algorithms for graph rigidity and scene analysis. In: Battista, G.D., Zwick, U.(eds.) Proc. 11th Annual European Symposium on Algorithms (ESA). Lecture Notes in ComputerScience, vol. 2832, pp. 78–89. Springer, Berlin (2003)
10. Bern, M., Eppstein, D.: Mesh generation and optimal triangulation. In: Du and Hwang (eds.) Com-puting in Euclidean Geometry, 2nd edn., pp. 23–90 (1992)
11. Chin, F., Wang, C.A.: Finding the constrained Delaunay triangulation and constrained Voronoi dia-grams of a simple polygon in linear time. SIAM J. Comput. 28(2), 471–486 (1998)
12. de Floriani, L., Puppo, A.: An on-line algorithm for constrained Delaunay triangulation. Comput. Vis.Graph. Image Process. 54(3), 290–300 (1992)
13. Graver, J., Servatius, B., Servatius, H.: Combinatorial Rigidity. Graduate Studies in Mathematics,vol. 2. American Mathematical Society, Providence (1993)
14. Jacobs, D.J., Hendrickson, B.: An algorithm for two-dimensional rigidity percolation: the pebblegame. J. Comput. Phys. 137, 346–365 (1997)
15. Jansen, K., Woeginger, G.J.: The complexity of detecting crossingfree configurations in the plane.BIT 33(4), 580–595 (1993)
16. Katoh, N., Ohsaki, M., Kinoshita, T., Tanigawa, S., Avis, D., Streinu, I.: Enumeration of optimal pin-jointed bistable mechanisms. In: Proc. 4th China-Japan-Korea Symp. of Structural and MechanicalSystems, Kunming, November 2006
17. Kaveh, A.: Structural Mechanics: Graph and Matrix Methods, 3rd edn. Research Studies Press, Som-erset (2004)
18. Kawamoto, A., Bendsøe, M., Sigmund, O.: Planar articulated mechanism design by graph theoreticalenumeration. Struct. Multidisc. Optim. 27, 295–299 (2004)
19. Laman, G.: On graphs and rigidity of plane skeletal structures. J. Eng. Math. 4, 331–340 (1970)20. Lee, A., Streinu, I.: Pebble game algorithms and sparse graphs. In: Proc. EUROCOMB, Berlin, Sep-
tember 200521. Lee, A., Streinu, I., Theran, L.: Finding and maintaining rigid components. In: Proc. Canad. Conf.
Comp. Geom., Windsor, Canada, August 200522. Ohsaki, M., Nishiwaki, S.: Shape design of pin-jointed multi-stable compliant mechanisms using
snapthrough behaviour. Struct. Multidisc. Optim. 30, 327–334 (2005)23. Streinu, I.: Pseudo-triangulations, rigidity and motion planning. Discrete Comput. Geom. 34, 587–635
(2005)<uncited>24. Welsh, D.J.A.: Matroids: Fundamental concepts. In: Graham, R.L., Grötschel, M., Lovász, L. (eds.)
Handbook of Combinatorics, vol. I, pp. 481–526. North-Holland, Amsterdam (1995)25. Whiteley, W.: Matroids from discrete geometry. In: Bonin, J., Oxley, J., Servatius, B. (eds.) Matroid
Theory, pp. 171–313. AMS Contemporary Mathematics, Providence (1997)