20
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

Author Query Form - McGill Universitycgm.cs.mcgill.ca/~avis/doc/avis/DCGE9026_Author.pdf · Author Query Form Journal: Article ID: Please send your responses together with your list

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)