algorithm for bounding hulls of a set of planar …raman/vishwanath_thesis-sub.pdfthesis certificate...

81
ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR CLOSED CURVES A THESIS submitted by VISHWANATH A. V. for the award of the degree of MASTER OF SCIENCE (by Research) DEPARTMENT OF ENGINEERING DESIGN INDIAN INSTITUTE OF TECHNOLOGY MADRAS. JUNE 2012

Upload: others

Post on 05-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

ALGORITHM FOR BOUNDING HULLS OF A SET

OF PLANAR CLOSED CURVES

A THESIS

submitted by

VISHWANATH A. V.

for the award of the degree

of

MASTER OF SCIENCE

(by Research)

DEPARTMENT OF ENGINEERING DESIGN

INDIAN INSTITUTE OF TECHNOLOGY MADRAS.

JUNE 2012

Page 2: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

THESIS CERTIFICATE

This is to certify that the thesis titledALGORITHM FOR BOUNDING HULLS

OF A SET OF PLANAR CLOSED CURVES , submitted byVishwanath A. V., to

the Indian Institute of Technology, Madras, for the award ofthe degree ofMaster of

Science, is a bona fide record of the research work done by him under my supervision.

The contents of this thesis, in full or in parts, have not beensubmitted to any other

Institute or University for the award of any degree or diploma.

Prof. M. RamanathanResearch GuideAssistant ProfessorDept. of Engineering DesignIIT-Madras, 600 036

Place: Chennai

Date: 1st June 2012

Page 3: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

ACKNOWLEDGEMENTS

I would like to express my sincere gratitude to my project guideDr. M.Ramanathan,

for giving me an opportunity to work under his guidance and providing continuous

support throughout the course of my research. I sincerely thank him for his patience

and constant help whenever needed, besides his heavy work load. The time and effort

he had spent for my sake is deeply acknowledged and will be remembered forever. I am

also thankful toProf. N.J.Vasa, Head, Department of Engineering Design, and General

Test Committee membersDr. G.Saravana Kumar andDr. Anurag Mittal for their

valuable suggestions and support.

Many thanks to my friend and lab mateBharath Ram.S for giving me the freedom

to disturb him anytime to discuss about my research problems. I am also grateful to my

friendSajin Koroth for helping me get accustomed to various softwares during myini-

tial days here. I convey my thanks toVinu Chakravarthy , N.Sekaran, G.Mohan and

Aditya Soni for making my stay in Indian Institute of Technology,Madrasa memorable

one. The memories of the time I spent with them will be etched in my heart forever. I

acknowledge the cooperation of all my co-researchers and undergraduate students at the

Department of Engineering Design, whom I have had the pleasure to work and interact

with. I thankMrs. V.Sitalakshmi andMr. Balasubramanian for their help in review

meetings, seminars and other administrative activities.

Finally, I would like to thank my parents for their care and words of encouragement

that motivated me to what I am now. They are a constant source of love and support in

my life.

i

Page 4: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

ABSTRACT

Computing enclosure of a given set is one of the fundamental problems in the field

of geometry. Convex hull, a minimum area convex enclosure isa very popular con-

struction, which has found applications ranging from interference detection to shape

matching. However, convex hull may not provide a very tight enclosure for the set, pre-

dominantly due to the restriction of ‘convexity’. Recently, researchers started relaxing

the convexity constraint and hence arrived at non-convex enclosures that can provide a

better enclosure of the set. Alpha hull (α-hull), which is a generalized notion of con-

vex hull, is another popular one especially in area of reconstruction. It depends on a

parameterα, which could be negative or positive and accordingly negative α-hull or

positiveα-hull can be computed respectively. Convex hull, minimum area non-convex

enclosure and positiveα-hull typically bound the set and hence are termed as ‘bounding

hulls’.

Most of the algorithms for the computation of bounding hullsconsider the input

as set of points. Very few have used curved boundaries as input. The focus of this

thesis is on developing algorithms for computing bounding hulls for a set of planar

closed curves. The objective is to use the exact representation of curves and not resort

to approximating them using points or polylines. Also, mostof the work forα-hull

and non-convex enclosure of point-set uses Delaunay triangulation, dual of Voronoi

diagram as the basis for computation. As Delaunay triangulation is not well-defined for

curves and the computation of Voronoi diagram for a set of curved boundaries is still a

topic of active research, alternate approaches have been explored.

In this thesis, initially, an algorithm for computing minimum area enclosure (MAE)

that is non-convex is developed for a set of disjoint planar closed convex curves. Con-

sidering each curve as a node, it is shown that one possible solution of the MAE is the

minimum spanning tree (MST) of the set of curves. MAE is then used as the starting

point to determine curves that form part of convex hull from the set. The edges of the

ii

Page 5: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

MST can be considered as a rubber-band connecting all the curves with zero enclosed

area. Valency of nodes in the MST is used to define curve triplets. Maximum inscribed

circle (MIC) for all triplets is identified (and stored in a triplet matrix) and the one hav-

ing minimum radius is then picked to identify the starting triplet. The triplet is then

deleted, and the triplet matrix is updated. The deletion of the triplet is akin to leaving

out curves that lie in the interior to the convex hull. Updating a triplet matrix emulates

the pushing out the rubber-band (edges of MST) and moving towards the curves in the

convex hull or in other words removing the concavities present in the MAE. Repeating

the process of deleting a triplet and updating the triplet matrix until no more concavities

are present will eventually form pairs of curves that lie in the convex hull. Connectivity

information is then derived using re-ordering. Results arepresented that show curves

belonging to convex hull.

The positiveα-hull of a set of planar curves ranges between the convex hullto

the Minimum enclosing circle (MEC). Hence, algorithm for positive α-hull, in this

thesis, starts with merging of adjacent pairs of curves fromthe convex hull into triplets.

Circle touching all the curves in a triplet are identified using constraint equations and

the maximum radius of such circles is then picked, giving thelimiting radius value for

the ‘central’ curve in the triplet. The radius value of the central curve is stored in R-

list along with the corresponding triplet. The central curve is then deleted and set of

triplets is recomputed, updating the triplet matrix. The process is repeated iteratively

until the MEC is attained. Deletions and updating of triplets are stored in the form of

a tree structure. For any given radius value, search is appropriately done in R-list and

tree structure to get theα-neighbours. Using the constraint equations,α-discs are then

computed.

The curves are represented as NURBS (non-uniform rational B-splines). The devel-

oped algorithms were also implemented. Extension of MAE to ageneric set of curves

has also been addressed. It has been shown that the algorithmcan be extended to higher

dimensions through the computation of minimum volume enclosure (MVE) of a set of

surfaces. Possible future directions have also been indicated.

KEYWORDS: convex hull, minimum area enclosure, alpha hull,curved bound-

aries, bounding hull

iii

Page 6: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

TABLE OF CONTENTS

ACKNOWLEDGEMENTS i

ABSTRACT ii

LIST OF TABLES viii

LIST OF FIGURES x

ABBREVIATIONS xi

1 Introduction 1

1.1 Hulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Convex hull . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.2 α-hulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.3 Non-convex hulls/enclosures . . . . . . . . . . . . . . . . . 3

1.1.4 Voronoi diagram and Delaunay triangulation . . . . . . . . 4

1.2 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Convex hull . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.2 α-hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.3 Non-convex enclosures . . . . . . . . . . . . . . . . . . . . 7

1.3 Motivation and thesis scope . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1 Algorithm for computing MAE . . . . . . . . . . . . . . . 10

1.3.2 Algorithm for computing curves in convex hull . . . . . . . 10

1.3.3 Algorithm for computing positiveα-hull . . . . . . . . . . 11

1.3.4 Algorithm extensions . . . . . . . . . . . . . . . . . . . . . 11

1.4 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Preliminaries 12

2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

iv

Page 7: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

2.2 Antipodal constraints . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.1 Two curves inR2 . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Two surfaces inR3 . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Circle Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.1 Constraint for two curves . . . . . . . . . . . . . . . . . . 15

2.3.2 Constraint for three curves . . . . . . . . . . . . . . . . . 15

2.3.3 Containment check: Is a curve outside/inside the disc. . . . 16

3 Minimum area enclosure 18

3.1 MAE of two curves . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 MAE for a set of curves . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 Implementation results of MAE . . . . . . . . . . . . . . . . . . . 21

3.3.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Algorithm for curves in convex hull 23

4.1 Algorithm details . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1.1 MAE of a set of curves . . . . . . . . . . . . . . . . . . . . 23

4.1.2 Forming triplets using MST . . . . . . . . . . . . . . . . . 24

4.1.3 Triplet Matrix . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.4 Updating triplet matrix . . . . . . . . . . . . . . . . . . . . 25

4.1.5 Starting Triplet . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2 Illustration of the algorithm . . . . . . . . . . . . . . . . . . . . . . 27

4.3 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3.1 Complexity of the algorithm . . . . . . . . . . . . . . . . . 30

4.3.2 Correctness proof of the algorithm . . . . . . . . . . . . . . 31

4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5 Algorithm for positive alpha hull 33

5.1 Positiveα-hull and fVD . . . . . . . . . . . . . . . . . . . . . . . . 33

5.2 Basic idea of the Algorithm for computing theα-hull . . . . . . . . 34

5.3 Algorithm details . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

v

Page 8: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

5.3.1 Forming triplets using convex hull . . . . . . . . . . . . . . 36

5.3.2 Updating triplet matrix . . . . . . . . . . . . . . . . . . . . 37

5.3.3 Maintaining Tree-Structure . . . . . . . . . . . . . . . . . . 38

5.3.4 Starting Triplet . . . . . . . . . . . . . . . . . . . . . . . . 38

5.3.5 Update termination . . . . . . . . . . . . . . . . . . . . . . 40

5.3.6 α-neighbours andα-hull . . . . . . . . . . . . . . . . . . . 41

5.4 Illustration of the algorithm . . . . . . . . . . . . . . . . . . . . . . 42

5.5 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . 44

5.5.1 Storage complexity . . . . . . . . . . . . . . . . . . . . . . 45

5.5.2 Time Complexity of the algorithm . . . . . . . . . . . . . . 46

5.5.3 Correctness proof of the algorithm . . . . . . . . . . . . . . 46

5.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6 Extension to non-convex curves and surfaces 48

6.1 MAE computation for intersecting and non-convex curves. . . . . 48

6.1.1 One curve is completely inside the other . . . . . . . . . . . 48

6.1.2 Two intersecting curves . . . . . . . . . . . . . . . . . . . 49

6.2 MAE for a set of curves . . . . . . . . . . . . . . . . . . . . . . . . 51

6.3 Implementation Results . . . . . . . . . . . . . . . . . . . . . . . . 52

6.4 Extension to 3D - Minimum volume enclosure (MVE) . . . . . . . 52

6.4.1 Two intersecting surfaces . . . . . . . . . . . . . . . . . . . 54

6.5 MVE for a set of surfaces . . . . . . . . . . . . . . . . . . . . . . . 55

6.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.6.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.6.2 Applications of MAE . . . . . . . . . . . . . . . . . . . . . 60

6.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

7 Contributions, Future work and Conclusions 62

7.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.2.1 MAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.2.2 Convex hull . . . . . . . . . . . . . . . . . . . . . . . . . . 63

vi

Page 9: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

7.2.3 α-hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.2.4 MVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.2.5 Extension to higher dimensions . . . . . . . . . . . . . . . 64

7.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 10: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

LIST OF TABLES

4.1 Starting triplet matrix for convex hull . . . . . . . . . . . . . .. . 25

4.2 Updated Triplet Matrix Cvx-Hull . . . . . . . . . . . . . . . . . . 26

4.3 Updated Triplet Matrix Cvx-Hull 2 . . . . . . . . . . . . . . . . . . 28

4.4 Updated Triplet Matrix Cvx-Hull 3 . . . . . . . . . . . . . . . . . . 28

4.5 Updated Triplet Matrix Cvx-Hull 4 . . . . . . . . . . . . . . . . . . 28

4.6 Updated Triplet Matrix Cvx-Hull 5 . . . . . . . . . . . . . . . . . . 28

4.7 Updated Triplet Matrix Cvx-Hull 6 . . . . . . . . . . . . . . . . . . 28

4.8 Updated Triplet Matrix Cvx-Hull 7 . . . . . . . . . . . . . . . . . . 28

5.1 Starting triplet matrix for positiveα-hull . . . . . . . . . . . . . . . 36

5.2 R-List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.3 RMEC added to the R-List . . . . . . . . . . . . . . . . . . . . . . 41

5.4 Triplet Matrix with the radius list . . . . . . . . . . . . . . . . . .. 43

5.5 Updated Triplet Matrixα-hull 1 . . . . . . . . . . . . . . . . . . . 43

5.6 Updated Triplet Matrixα-hull 2 . . . . . . . . . . . . . . . . . . . 43

5.7 Updated Triplet Matrixα-hull 3 . . . . . . . . . . . . . . . . . . . 43

5.8 Updated Triplet Matrixα-hull 4 . . . . . . . . . . . . . . . . . . . 44

5.9 Updated Triplet Matrixα-hull 5 . . . . . . . . . . . . . . . . . . . 44

5.10 List of neighboursα-hull . . . . . . . . . . . . . . . . . . . . . . . 44

viii

Page 11: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

LIST OF FIGURES

1.1 Convex andα-Hulls . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Various non-convex hulls of a point-set. . . . . . . . . . . . . .. . 3

1.3 Closest and Farthest Voronoi diagrams . . . . . . . . . . . . . . .. 4

1.4 Voronoi diagram and its dual delaunay triangulation. . .. . . . . . 5

2.1 Concave and convex points in a freeform curve. . . . . . . . . .. . 12

2.2 Antipodal constraint for two freeform planar curves inR2. . . . . . 14

2.3 Antipodal constraint for two closed surfaces inR3. . . . . . . . . . 14

2.4 Constraining circles for a set of three curves . . . . . . . . .. . . . 16

3.1 Rubber band analogy to get MAE for two curves that do not intersect. 18

3.2 Minimum Distance line between two curves . . . . . . . . . . . . . 20

3.3 Minimum Spanning tree for a set of curves . . . . . . . . . . . . . . 20

3.4 MAE for a set of free-form planar curves inR2. . . . . . . . . . . . 21

3.5 (a) Steiner tree vs. (b) minimum spanning tree approach .. . . . . 21

4.1 MAE for a set of curves and dilation of edges. . . . . . . . . . . .. 24

4.2 Segmenting curves . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3 Dilation of the MST edges through the various stages of the algorithm 29

4.4 Test results showing MST (Top) and the curves in convex hull (Bottom) 29

4.5 Convexity and Concavity between three curves . . . . . . . . .. . 31

5.1 Curve Omission fromα-hull boundary . . . . . . . . . . . . . . . . 35

5.2 Initial set of curves and curves lying in its convex hull (labelled) . . 36

5.3 Set of curves and the circles touching each triplet . . . . .. . . . . 37

5.4 Tree list corresponding to the set of curves in Figure 5.2(only curvenumbers are used.) . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.5 circle for sequential curves having greater radius . . . .. . . . . . 39

5.6 MEC from a pair of curves in the set. RMEC = 5.635 . . . . . . . . 40

ix

Page 12: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

5.7 Radius value at which the ‘central’ curve plays no further part in com-putation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.8 α-discs for a set of curves. Value forαRad has been indicated. . . . 45

6.1 Outer curve is the MAE when one curve is completely insidethe other. 49

6.2 Rubber band analogy to get MAE for two curves that intersect. . . . 50

6.3 MAE for two intersecting free-form planar curves inR2. . . . . . . 50

6.4 Two intersecting curvesC1(t) andC2(r) in (a) may produce inner loop(s)as in (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.5 Illustration of the algorithm. . . . . . . . . . . . . . . . . . . . . . 52

6.6 MAE for a set of free-form planar curves inR2. . . . . . . . . . . . 53

6.7 MAE for a set of free-form planar curves inR2. . . . . . . . . . . . 54

6.8 MVE of Intersecting Surface . . . . . . . . . . . . . . . . . . . . . 55

6.9 MVE for output with genus> 0. . . . . . . . . . . . . . . . . . . . 56

6.10 MVE when intersection results in multiply-connected surfaces. . . . 56

6.11 Illustration of the algorithm. . . . . . . . . . . . . . . . . . . . .. 58

6.12 MVE for a set of free-form planar surfaces inR3. . . . . . . . . . . 59

6.13 Limitations of using DRSP . . . . . . . . . . . . . . . . . . . . . . 59

6.14 A model of molecular chain-like structure, and its MAE.. . . . . . 60

6.15 A model of piston-shaft arrangement, and its MAE. . . . . .. . . . 60

x

Page 13: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

ABBREVIATIONS

MAP Minimum antipodal points

MAL Minimum antipodal line

MAE Minimum area enclosure

MIC Maximum inscribed circle

RMIC Radius of maximum inscribed circle

MEC Minimum enclosing circle

RMEC Radius of minimum enclosing circle

MST Minimum spanning tree

MVE Minimum volume enclosure

TM Triplet Matrix

xi

Page 14: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 1

Introduction

1.1 Hulls

Finding an enclosure (or region occupation) to a set, which could be set of points,

curves etc. is a popular problem in the fields such as geometric modeling, computational

geometry etc. In the domain of point sets, convex hull [O’Rourke, 1998; De Berg

et al., 2008], the minimum area convex enclosure has been the approach to find the

region enclosed by the set.α-hull for a point-set is a shape that generalizes the notion

of convex hull. Theα-hull uses a real parameterα, variations of which leads to a

family of shapes.α-hull’s discrete counterpart isα-shape [Edelsbrunner and Mücke,

1994], one of the popular shape construction techniques fora set of points.Non-convex

hull/enclosure, at times called as concave hull [Galton and Duckham, 2006; Moreira

and Santos, 2007], is an enclosure for the given set that represents the area occupied

by the points by generating non-convex polygons. In the following sections, the hulls

along with Voronoi diagram and Delaunay triangulation are described.

1.1.1 Convex hull

Convex hull [O’Rourke, 1998; De Berget al., 2008] of a set is defined as a minimal

area convex enclosure of the set. Figure 1.1(a) shows the convex hull of a set of points.

Quite a few algorithms exist for computing the convex hull ofa point set [O’Rourke,

1998], both inR2 as well as inR3. It has found numerous applications, ranging from

interference checking [Lee and Chang, 1995] to shape matching [Corneyet al., 2002].

Convex hull consists of not just few elements from the set butalso which elements

are connected. For example, convex hull of a point set is typically a convex polygon

(consisting of both points and connecting edges). However,in some applications, only

points on the convex hull play a role and hence it may be sufficient to determine them.

Page 15: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Convex hull of a point set (b) Negativeα- hull (c) Positiveα hull

Figure 1.1: Convex andα-Hulls

1.1.2 α-hulls

Let S be a set of points (could be curves or other entities). Theα-hull for the setS can

be defined in the following manner [Edelsbrunneret al., 1983].

Definition 1 Let α be a sufficiently small but otherwise arbitrary positive real. The

α-hull of S is the intersection of all closed discs with radius l/α that contain all the

elements ofS.

Definition 2 For arbitrary negative reals, theα-hull is defined as the intersection of all

closed complements of discs (where these discs have radii−1/α) that contain all the

elements ofS.

Definition 3 α-disc is a disc of radius1α

for α > 0 and−1

αfor α < 0

Definition 4 Two entities in the set that touchα-disc contiguously are calledα-neighbours.

Definition 5 The minimum enclosing circle (MEC) of a set is the smallest radius circle

that encloses the entire set.

In this thesis, the radius of MEC is notated as RMEC. The negativeα- hull (Figure

1.1(b)) of a set extends from the initial set to the convex hull of the set (α = -inf to 0).

On the other hand, the positiveα- hull (Figure 1.1(c)) ranges from the convex hull to

2

Page 16: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Non-Convexhull

(b) Coarse Non-Convex hull

(c) Smoother Non-Convex hull

Figure 1.2: Various non-convex hulls of a point-set.

the minimum enclosing circle (α = 0 to 1

RMEC). Primary motivation of usingα-hull

seems to be in the area of reconstruction ([Edelsbrunner andMücke, 1994]). However,

one of the major disadvantages of theα-hull is the difficulty in determining the value

for α that can result in best reconstructions. It is problem dependant and a value forα

is determined on experimental basis.

1.1.3 Non-convex hulls/enclosures

Non-convex hull, at times called as concave hull [Galton and Duckham, 2006; Moreira

and Santos, 2007], is an enclosure for the given set that represents the area occupied

by the points by generating non-convex polygons. Non-convex hull has the ability to

closely represent the set of points. For example, Figure 1.2(a) shows a non-convex hull

for a set of points which represents the points closer than the convex hull (shown in

Figure 1.1(a)). For concave hull of a set of points, a user-controlled parameter, called

as tuning parameter is used to smooth the concave hull. Figure 1.2(b) shows a coarse

concave hull whereas the one in Figure 1.2(c) is a smoother one.

Chaudhuri et al. [Chaudhuriet al., 1997] have introduced non-convex enclosuresr-

shape ands-shape for a set of points. Recently,χ-shape has been proposed in [Duckham

et al., 2008]. A-shape, another variant ofα-shape was introduced in [Melkemi and

Djebali, 2000].

Though several works address the non-convex enclosures fora set of points, few

address the one that compute minimal area enclosure. Computation of minimum area

polygon that passes through all the points in the set has beenaddressed in [Fekete and

Pulleyblank, 1993] and also shown to be NP-complete, makingit difficult to develop

3

Page 17: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Closest Voronoi di-agram

(b) Farthest Voronoi di-agram

Figure 1.3: Closest and Farthest Voronoi diagrams

algorithms that can run in reasonable time.

1.1.4 Voronoi diagram and Delaunay triangulation

Definition 6 The Voronoi cell of a pointPi in S is the set of all points closer toPi than

toPj , ∀ PjǫS andi 6= j.

Definition 7 The Voronoi diagram (VD) of the set is the union of all the Voronoi cells.

An edge in VD is called Voronoi edge and a vertex is called Voronoi vertex.

Definition 7 gives the closest Voronoi diagram (cVD) and typically, the boundary

of the VD is computed (Figure 1.3(a)). When Voronoi cell is defined using ‘farther’ as

opposed to ‘closer’ distance measure, the corresponding VDis called farthest Voronoi

diagram (fVD) (Figure 1.3(b)), which can also be defined as follows:

Definition 8 Farthest Voronoi diagram (fVD) ofS is defined as a set of points that are

equidistant but maximum from twodifferent points.

The term maximum ensures that for a point on the boundary curve, the correspond-

ing point on the Voronoi diagram is the maximum in distance the point is not just a

point on bisector, but on the fVD ).

Another well known entity is the Delaunay triangulation(DT). DT is obtained by

connecting the points that share a Voronoi edge with a line. DT can also be defined as

follows:

4

Page 18: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Figure 1.4: Voronoi diagram and its dual delaunay triangulation.

Definition 9 Dual of the closest (or farthest) VD is called closest (or farthest) Delaunay

triangulation.

Dual implies that, for each Voronoi edge (vertex/face), there is a Delaunay edge

(face/vertex). DT is shown superimposed with VD in Figure 1.4.

1.2 Literature review

1.2.1 Convex hull

Numerous algorithm exist in the literature (for e.g. refer to [O’Rourke, 1998]) for com-

puting convex hull of a set of points. Initially algorithms in R2 were developed and

later extended toR3. In R2, algorithms start with simple ones such as extreme point

algorithm whose complexity is neverthelessO(n3). More efficient algorithms, in terms

of complexity, such as divide and conquer algorithm that runs inO(nlogn) time were

later developed. Similar algorithms exist for point set inR3 as well.

Very few algorithms exist for computing the convex hull of a set of curves. Com-

puting the convex hull of a set of freeform curves has been addressed in [Elberet al.,

2001]. The problem is reformulated as one of finding the zero-sets of polynomial equa-

tions in one or two variables. Using these zero-sets, curve segments that belong to

the boundary of the convex hull are characterized. Tangentsbetween point and curve

(called as point-curve tangent) and between curves (calledas bi-tangent, which can also

happen between two points on the same curve) have been formulated and used in the

computation.

5

Page 19: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Recently, algorithm’s efficiency in [Elberet al., 2001] was improved [Kimet al.,

2011]. The planar curves are initially approximated withG1-biarcs within a given error

bounde in a preprocessing step. The algorithm is based on an efficient construction of

approximate convex hulls using circular arcs. The majorityof redundant curve segments

is eliminated using simple geometric tests on circular arcs.

Algorithm for a set of points and circular arcs has been presented in [Yueet al.,

1999] based on the Jarvis march algorithm [Jarvis, 1973]. Inthe Jarvis’ march, an

origin point outside the point set is found and a radius arm isswung about this origin

in an arbitrary direction until a point of the set is met (i.e.the point has the smallest

polar angle). In a similar way, the main task of the algorithmin [Yue et al., 1999] is to

find the element (point or arc) with the smallest polar angle for the convex hull. When

an arc is involved, a number of angles must be considered and only one of them can be

used to determine the convex hull element.

Extension of the algorithm [Elberet al., 2001] to freeform surfaces has been pre-

sented in [Seonget al., 2004]. Similar to the case of curves, the problem is reformulated

as one of finding the zero-sets of polynomial equations. Developable surface patches

and planar patches that belong to the boundary of the convex hull are then obtained

using these zero-sets.

1.2.2 α-hull

α-hull of a set of points can be derived from DT of the set [Edelsbrunneret al., 1983].

Negative (Positive)α-hull has been shown to be related to closest (farthest) DT. In par-

ticular, the centers ofα-discs can be shown to lie on the respective VD. Using the cor-

responding DT,α-neighbours can be identified.α-shape, the discrete variety has been

widely used one, whose extension in three dimensions has been presented in [Edels-

brunner and Mücke, 1994].

α-hull’s predominant application has been the area of reconstruction. While theα-

hull is elegant and efficient to compute for a set of points, itstill suffers from a major

drawback, i.e. the single parameter, namelyα, must nevertheless be tuned. A selection

criteria to determine the parameterα has been proposed in [Mandal and Murthy, 1997].

6

Page 20: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

α-hull andα-shape seem to have been constructed only for set of points asinput.

No known algorithm seem to exist for other kind of inputs suchas curves/surfaces etc.

1.2.3 Non-convex enclosures

In [Galton and Duckham, 2006], the authors asked the question of what is the region

occupied by a set of points and introduce non-convex footprints. It is under the premise

that the region should represent the location or configuration of the points as an aggre-

gate, abstracting away from the individual points themselves. Initially, they generalize

the well-known gift-wrap algorithm for generating convex hulls. In the planar (two-

dimensional) version of this algorithm, the hull is generated by a sequence of swings of

a half-line L, initially anchored at an extremal point of S. At each step, L is anchored to

the last point added to the footprint, and rotated clockwiseuntil it hits another point in

S. This is added as the next vertex of the footprint, and the procedure is repeated until

the procedure return to the starting point. Another procedure, called The Swinging Arm

procedure identical to gift-wrap, has also been developed.Instead of a half-line, a line

segment of some constant length r is specified as an input to the algorithm.

In [Moreira and Santos, 2007], the proposed algorithm is based on a k-nearest neigh-

bours approach, where the value of k, the only algorithm parameter, is used to control

the smoothness of the final solution. The obtained results show that the algorithm is

able to deal with arbitrary sets of points, and that the time to compute the polygons

increases approximately linearly with the number of points.

In [Xu et al., 2010], an algorithm has been proposed based on Graham’s scanning of

Convex Hull.ω-hull scanning algorithm with simply connected region andω outward

angle of vertex view is given through is presented initially. As a natural extension,

simply connected (ω, ρ)-hull scanning algorithm with limited apparent distanceρ and

ω outward angle of vertex view is also pointed out.

Chaudhuri et al. [Chaudhuriet al., 1997] have introducedr-shape ands-shape

enclosures for a set of points. The approach is based on a new definition called the

s-shape, which can be generated by a data-driven procedure. Thes-shape generates a

staircase-like border. To obtain a polygonal border, anr-shape is defined for which the

7

Page 21: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

parameterr is found froms.

Recently,χ-shape has been proposed in [Duckhamet al., 2008]. The algorithm is

based on the Delaunay triangulation of the points. The shapeproduced by the algorithm

is controlled by a single normalized parameter, which can beused to generate a finite,

totally ordered family of related characteristic shapes. An optimalO(nlogn) algorithm

for computing the shapes is presented.

A-shape, a variant ofα-shape was introduced in [Melkemi and Djebali, 2000]. The

parameterA allowsA-shape to generate a family of graphs extracted from Delaunay

triangulation. Each graph corresponds to an element of the shape presenting more and

more details and going from the convex hull of the points to the point-set itself. Suitable

level of details is obtained by a judicious choice ofA. A method to determineA is also

proposed.

In [Attali, 1998], the problem of reconstructing a surface,given a set of scattered

data points is addressed. The solution is mathematically defined as a particular mesh of

the surface called the normalized mesh. This solution has the property to be included

inside the Delaunay graph. A criterion to select boundary faces inside the Delaunay

graph is proposed. This criterion is proven to provide the exact solution in 2D for

points. In 3D, some heuristics are proposed in order to complete the surface.

Though several works address the non-convex enclosures fora set of points, few

address the one that compute minimal area enclosure. Computation of minimum area

polygon that passes through all the points in the set has beenaddressed in [Fekete and

Pulleyblank, 1993] and also shown to be NP-complete, makingit difficult to develop

algorithms that can run in reasonable time. Moreover, the focus has been on the point-

set as input and no algorithm appear to have been developed for inputs such as a set of

curves.

1.3 Motivation and thesis scope

Though problems in the field of computational geometry has been more on the set of

points, they have now been extended to other domains such as closed curves. Initially,

8

Page 22: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

splinegons, where the straight edges in the polygons are replaced by curved edges have

been employed (e.g. [Ramanathan and Gurumoorthy, 2003] where medial axis has

been computed). Another variant in the curves input is to usea single non-convex curve

[Chou, 1995] or a set of non-convex curves without discontinuities. [Elberet al., 2001]

developed an algorithm for computing convex hull of a set of such curves. Several

works have addressed the input which can be termed as pseudo-circles - a set of disjoint

convex curves having no discontinuities. Computation of Vornoi cell for such input

has been presented in [Hannielet al., 2005], VD for ellipses in [Emiris and Tzoumas,

2007], Delaunay graph for ellipses [Emiriset al., 2009], and Visibility graph [Pocchiola

and Vegter, 1995].

Convex hull, non-convex minimum area enclosure and positive α-hull typically

bound the set and hence are termed as ‘bounding hulls’. As most of algorithms for

computing the bounding hull have used set of points as input,in this thesis, the com-

putation of bounding hull for a set of curves, in particular,a set of pseudo-circles has

been considered. It is to be noted that the curves represented using non-uniform rational

b-spline (NURBS) are employed exactly (i.e. without approximating the curves using

sample points or lines). Moreover, most of the efficient algorithms for the construc-

tion of convex hull/α-shape [Edelsbrunneret al., 1983]/non-convex enclosures for a set

of points have been based on Delaunay triangulation. Thoughthe theoretical founda-

tion as well as algorithms for Voronoi diagram of a set of freeform curves has been

well-developed in the recent past (for example, please refer to [Hannielet al., 2005] for

computing Voronoi cell), computing Voronoi diagram for such input is still a topic of

active research. Also, computation of Delaunay triangulation for a set of curves is not

well known (under the condition that the curves are not discretized into set of points),

except the case of ellipses Emiris and Tzoumas [2007] which was done with exact im-

plementation. Hence, in this thesis, algorithms for a set ofcurves are developed without

employing Voronoi/Delaunay based computation of the set.

One approach to find the hulls for a set of curves is to generateset of points on the

curves and then use an algorithm such as in [Moreira and Santos, 2007]. However, this

approach may result in a very coarsely approximated hull (depending on the sampling

on each curve) of the input curves which might impede the accuracy of the results (this

9

Page 23: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

argument has been shown to be true for algorithms such as Delaunay graph [Emiris and

Tzoumas, 2007] and medial axis [Ramanathan and Gurumoorthy, 2003]).

The focus of this thesis is on developing algorithms that compute bounding hulls of

a set of planar closed convex curves. Specifically the hulls considered are non-convex

minimum area enclosure (MAE), convex and positiveα-hulls. Algorithm for MAE is

initially developed and shown that it can be computed using minimum spanning tree

(MST) of the set of curves. Computing curves in convex hull, based on the computed

MAE is then addressed. Algorithm forα-hull which findsα-neighbours and their corre-

spondingα-discs has been developed. It makes use of the algorithm thatwas developed

for identifying curves in the convex hull.

The curves are assumed to be simply-connected (i.e. each onedoes not have holes

in it), disjoint planar convex curves with no straight line portions and having no dis-

continuities. It is assumed that the interior of a closed curve lies to its left as we travel

along the increasing direction of parametrization. MAE is then extended for non-convex

curves as well as intersecting ones. For the intersecting curves, it is shown that the MAE

emulates the Boolean union operation. Algorithm for computing minimum volume en-

closure (MVE) for a set of closed surfaces inR3 has also been presented. The thesis

addresses the following:

1.3.1 Algorithm for computing MAE

The algorithm starts with the computation of antipodal points and then the minimal

distance lines. Using these distances, minimum spanning tree is computed using the

curves as nodes and minimal distances as weights. The resultant is one possible solution

for MAE of the set of curves. Results of the implementation are provided.

1.3.2 Algorithm for computing curves in convex hull

The algorithm starts with the computed MAE and the valency ofeach of the nodes

in MAE. Triplets are then formed from MAE. Triplets are updated iteratively based

on smallest radius maximum inscribed circle (MIC) computation using the developed

10

Page 24: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

constraints equations. The algorithm terminates when no more MIC’s can be computed

for the triplets. Results of the implementation are provided.

1.3.3 Algorithm for computing positiveα-hull

Algorithm for positiveα-hull starts with the curves in convex hull which are used to

form triplets. The enclosing circle for each triplet is computed and the threshold value

of each curve is stored in a Radius-List. The triplets are updated iteratively and the

changes are stored in another tree structure. For any user inputα-value, the curves that

formα-neighbours are identified andα- discs are computed. Results of implementation

are provided.

1.3.4 Algorithm extensions

Extension of the algorithms, in particular, MAE for a set of non-convex and intersecting

curves has also been discussed and an algorithm has been proposed and implemented.

An algorithm for minimum volume enclosure (MVE) for a set of surfaces has also been

proposed and implemented.

1.4 Outline of the thesis

Chapter 2 presents preliminaries required for developing algorithms for bounding hull

of a set of curves. Chapter 3 discusses the algorithm for computing non-convex MAE

for a set of curves. In Chapter 4, the algorithm for determining curves in convex hull

is presented. Algorithm for computing positiveα-hull has been presented in Chapter

5. Extension for generic set of curves and MVE for a set of surfaces is discussed in

Chapter 6. Chapter 7 summarizes the contribution of the thesis and directions for future

work.

11

Page 25: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 2

Preliminaries

In this chapter, definitions that will be followed in this thesis are presented. Antipodal

constraint equations are then presented for curves and surfaces. Constraint equations,

when a circle touches a set of curves as well as to determine whether a curve is inside

or outside a circle are also presented.

Figure 2.1: Concave and convex points in a freeform curve.

2.1 Definitions

Definition 10 The osculating circle [DoCarmo, 1976] of a sufficiently smooth plane

curve at a given pointp on the curve has been traditionally defined as the circle passing

throughp and a pair of additional points on the curve infinitesimally close top. The

curvature of the curve atp is then defined to be the curvature of that circle, whose center

is S. Curvature vector is then defined asS − p.

Definition 11 An inflection point is a point on a curve at which the curvaturevector

changes direction.

Page 26: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Definition 12 A point in a freeform curve isconvex, if the outward normal at that

point and the curvature vector are in opposite directions. Otherwise, the point is called

concave.

Pointp in Figure 2.1 is convex, sinceN (outward normal) andk (curvature) are opposite

to each other whereas pointq is concave.

Definition 13 A convex (concave) portion of a curve is a contiguous portion of the curve

where all points are convex (concave).

When traveled in the increasing direction of parameterization, portionDC in Figure

2.1 is a convex portion whereasF to E is concave. The portions can be identified by

first computing points of inflection on the curve.A andB are examples of inflection

points. In this thesis, the curves are assumed to be convex initially (i.e. they do not have

inflection points).

2.2 Antipodal constraints

2.2.1 Two curves inR2

Consider two planar closedC1-continuous curvesC1(t) andC2(r). The antipodal con-

straint [Muthuganapathyet al., 2011] is:

C ′

1(t), C1(t)−

C1(t) + C2(r)

2

= 0,

C ′

2(r), C2(r)−

C1(t) + C2(r)

2

= 0. (2.1)

whereC ′

1(t) andC ′

2(r) denote the tangents of the curves at the respective parameters t

andr.

Clearly, the two equations have two unknowns (t andr). In practice, the solution

of the constraint equations (Equations in (2.1)) results ina finite set of candidates (an

infinite set of candidates is possible in certain degeneracies, such as when curves have

13

Page 27: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Figure 2.2: Antipodal constraint for two freeform planar curves inR2.

Figure 2.3: Antipodal constraint for two closed surfaces inR3.

straight line portions. They are not considered in this thesis). Figure 2.2 illustrates all

the antipodal solutions for two planar curves.

2.2.2 Two surfaces inR3

Consider two closedC2-continuous surfacesS1(u1, v1) and S2(u2, v2). Then, each

of the antipodality constraint is represented by two equations [Muthuganapathyet al.,

2011].

∂S1(u1, v1)

∂u1

, S1(u1, v1)−S1(u1, v1) + S2(u2, v2)

2

= 0,

∂S1(u1, v1)

∂v1, S1(u1, v1)−

S1(u1, v1) + S2(u2, v2)

2

= 0,

∂S2(u2, v2)

∂u2

, S2(u2, v2)−S1(u1, v1) + S2(u2, v2)

2

= 0,

∂S2(u2, v2)

∂v2, S2(u2, v2)−

S1(u1, v1) + S2(u2, v2)

2

= 0, (2.2)

Thus, in (2.2) we have four equations in four unknowns (u1, v1, u2 andv2). In practice,

the solution of the constraint equations (Equations in (2.2)) results in a finite set of

14

Page 28: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

candidates (an infinite set of candidates is possible in certain degeneracies, such as

when surfaces have planar portions. They are not consideredin this thesis). Figure 2.3

illustrates the antipodal constraint for two surfaces.

2.3 Circle Constraints

Definition 14 Bitangent (BT) - It is the line segment connecting a pair of points that is

tangent to the curvesC1(t) andC2(r), forming the end points of the line segment.

Definition 15 Touchpoint - It is the point on a curve at which a circle/disc of radiusR

touches the curve.

2.3.1 Constraint for two curves

Consider two curvesC1(t) andC2(r) and a disc of radius R. At a touchpoint on a curve,

the following constraints will be satisfied:

C ′

1(t), P (x, y)− C1(t)

= 0,⟨

C ′

2(r), P (x, y)− C2(r)

= 0,

‖C1(t)− P (x, y)‖ = ‖R‖,

‖C2(r)− P (x, y)‖ = ‖R‖. (2.3)

First two equations indicate that the tangent at a touchpoint will be perpendicular to the

vector connecting the touchpoint and the center of the disc.The last two equations are

formulated based on the fact that the touchpoint on the two curves are equidistant from

the centerP (x, y) of the disc. Constraints in Equation (2.3) will return pairsof points

satisfying them.

2.3.2 Constraint for three curves

Consider three curvesC0(t), C1(r), andC2(s) as shown in Figure 2.4(a). For a circle to

be touching the three curves (in this thesis, it is assumed that each touchpoint are from

15

Page 29: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Set of curves (b) Circles sat-isfying equation2.4

(c) Inscribedcircle

(d) Enclosingcircle

Figure 2.4: Constraining circles for a set of three curves

distinct curves), the following constraints have to be satisfied;

C ′

0(t), P (x, y)− C0(t)

= 0,⟨

C ′

1(r), P (x, y)− C1(r)

= 0,⟨

C ′

2(s), P (x, y)− C2(s)

= 0,

‖P (x, y)− C0(t)‖ = ‖P (x, y)− C1(r)‖,

‖P (x, y)− C1(r)‖ = ‖P (x, y)− C2(s)‖. (2.4)

whereP (x, y) is the center of the disc and′ denote the tangent at a point on the curve.

First three equations denote that the circle is tangent to the curves and the last two

denote that touchpoints are equidistant from the center. Constraints in Equation (2.4)

will lead to finite set of solutions as shown in Figure 2.4(b).A containment check is

used to decide the validity of solution set that then determines the touchpoints.

2.3.3 Containment check: Is a curve outside/inside the disc

The following constraint is used to determine if a curveC(t) is outside (Equation (2.5))

or inside (Equation (2.6)) the disc

‖Dmin − P (x, y)‖ >= R. (2.5)

‖Dmax − P (x, y)‖ <= R. (2.6)

16

Page 30: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

whereDmin andDmax respectively are the minimum and maximum distance points on

the curveC(t) from the centerP (x, y) of a circle with radiusR .

Figures 2.4(c) and Figure 2.4(d) correspond to maximum inscribed circle containing

no portion of the input set and an enclosing circle containing the entire set respectively.

17

Page 31: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 3

Minimum area enclosure

In this chapter, an algorithm for computing minimum area enclosure (MAE) for a set

of curves using antipodal constraints and a minimum spanning tree approach has been

presented. Typically, MAE implies the boundary along with the underlying area, though

while computing we do compute the boundary only. Initially,MAE is explained for two

curves and then extended for a set of curves.

3.1 MAE of two curves

MAE of a single closed curve is the curve itself. Let us consider two curves that do

not intersect and are outside each other (Figure 3.1(a)). Imagine a rubber band that is

tightly enclosing them, such as the convex hull of the two curves (Figure 3.1(b). As one

keeps pushing the convex hull and still enclosing the curves(Figure 3.1(c)), it will reach

a point where the area of the enclosure between the curves tends to become null. The

initial curve and the zero area line between them will form the minimum area enclosure

(Figure 3.1(d)). It is to be noted that one can find different lines that can amount to zero

area and hence many solutions are possible (it is similar to the fact that minimum area

polygon for a set of points is NP-complete [Fekete and Pulleyblank, 1993]). In this the-

(a) A pair ofcurves outsideeach other

(b) Convex Hullof the curves

(c) Pushing theconvex Hull ofthe curves

(d) Correspond-ing MAE

Figure 3.1: Rubber band analogy to get MAE for two curves thatdo not intersect.

Page 32: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

sis, the following approach is employed as it facilitates a computational methodology,

when a set of curves is involved.

Initially, the points on either curve that form the minimum distance between the two

curves are found. The minimal distance occurs when the points on the respective curves

are antipodal to each other (Lemma 1).

Lemma 1 The distance between two closedC1 non intersecting curves is minimum

only when the normals of the corresponding points are opposite to each other (i.e.,

antipodal.)

Proof Let us assume that we have found pointsP1 andP2 on the two curves that are

minimal distant but not antipodal. Construct a circle with these two points as the diam-

eter. If this circle intersects any of the curves at any pointother than the minimal distant

point, sayP , then it implies that distanceP1 − P or P2 − P is less thanP1 − P2 as

diameter is the largest distance between two points on a circle. This further implies that

P1 − P2 cannot be the minimum distance points at the first place. Hence this directly

means that the circle withP1 andP2 as diameter cannot intersect the curves at any point

other thanP1 andP2, and hence is tangential at these two points. The fact that the

circle is tangential to both the curves and the points are on diametric ends results in a

condition where the normals are in opposite directions. Hence the Lemma.

From the set of solutions from antipodal constraint (Equations (2.1)), which gives

a set oft and correspondingr values, the points on the curves are evaluated and then

distances are found (Figure 2.2 shows a set of points on respective curves satisfying

antipodal conditions, but not minimum in distance). Pointson the respective curve that

correspond to the minimum distance are then chosen. MAE is then the two curves and

the line between the minimum distance points. Figure 3.2 shows the MAE for the two

curves.

Definition 16 The line connecting the two antipodal points that is minimumin distance

is calledminimum antipodal line (MAL) and the points as minimum antipodal points

(MAP).

19

Page 33: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Figure 3.2: Minimum Distance line between two curves

3.2 MAE for a set of curves

Consider a set of curves as shown in Figure 3.3(a). For any curve (sayC(t)), the MAP

betweenC(t) and all other curves is computed (using Equation (2.1)). This process

is repeated for all the curves in the set (Figure 3.3(b) showsthe MAL’s for the set of

curves). To compute MAE, the minimum spanning tree (MST) [Aho et al., 1983] is

computed using the nodes as set of curves and the length as thedistance between MAP

for the set of curves . Prim’s algorithm [Ahoet al., 1983] is used to generate the MST

for a set of curves (Algorithm 1). Figure 3.3(c) shows the MAEfor the set of curves .

Algorithm 1 MST (S = C1, C2, ...Cn)

Add curveC1 to a set C.while C 6= Sdo

for Each curveCi belonging to CdoFind antipodal line to every curveCj in S not belonging to C

end forFind MAL and addCj and MAL to C.

end whilereturn(C)

(a) Initial set ofcurves

(b) All possibleMAL’s

(c) Minimum areaenclosure

Figure 3.3: Minimum Spanning tree for a set of curves

20

Page 34: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

3.3 Implementation results of MAE

Figures 3.4 shows the implementation results of the algorithm 1. All the implementation

have been carried out using IRIT [Elber, 2009] geometric kernel and its constraint solver

[Elber and Kim, 2001]. Figure 3.4 shows two sets of curves andtheir respective MAE’s.

The maximum degree of the curve used is 4.

(a) Test set 1 (b) MAE for set 1 (c) Test set 2 (d) MAE for set 2

Figure 3.4: MAE for a set of free-form planar curves inR2.

3.3.1 Discussion

Steiner tree approach

S

Figure 3.5: (a) Steiner tree vs. (b) minimum spanning tree approach

For a set of input curves that do not intersect, we start building the MAE using a min-

imum spanning tree approach [Ahoet al., 1983]. There is another possible approach,

called Steiner tree [Hwanget al., 1992], where extra points called Steiner points are

added to reduce the length of the spanning tree. However, finding Steiner points is not

straightforward and as Steiner tree problem is known to be NP-complete [Karp, 1972],

21

Page 35: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

and hence it was not employed to determine MAE in this thesis.Employing either of

the approaches will not affect the ‘minimum area’ of the determined enclosure, where

as the additional edges from MAP could be minimum in length when Steiner tree is

used. Figure 3.5(a) shows the a possible MAE when Steiner tree approach is employed

where as for the same input curves, the MAE using minimum spanning tree is shown in

Figure 3.5(b).S in Figure 3.5(a) is called Steiner point.

Limitations

Algorithm 1 returns an unique MAE only under the assumptionsthat MAP between

two curves is unique and no distances computed using MAP are same across different

curves as MST will then not be unique. We have also assumed that, for the computation

of MAP, the curves neither have straight line portions or overlapping ones. Currently,

the MAE is represented as a set of piecewise parametric curves. However, it is best

to unify them into a single curve representation as it could prove useful in various

applications. For example, queries such as whether a point is inside a MAE can be

easily addressed if there is a good representation for the MAE.

3.4 Summary

In this chapter, an algorithm for computing MAE of a set of disjoint curves has been

presented. The curves used are planar, convex, closed, andC1-continuous. MAE was

initially shown for two curves, and then extended to a set of curves. Extension to

intersecting curves and for a set of closed surfaces is discussed in Chapter 6.

22

Page 36: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 4

Algorithm for curves in convex hull

An algorithm for computing curves that belong to the convex hull from a set of pla-

nar closed curves is presented in this chapter. Initially, MAE for the set of curves is

computed. The convex hull of a set of curves contain no concavities. Hence, in our ap-

proach, the concavities present in the MAE are eliminated byreplacing adjacent edges

of the MST by a single edge. Maximal inscribed circle (MIC) (along with containment

check) using constraint equations (Equations (2.4) and (2.5)) and the radius of MIC

(RMIC) is computed for a triplet of curves. This procedure when followed iteratively

will terminate when no more concavity is present thus givingus the curves lying in the

convex hull.

It is to be noted that an algorithm for convex hull of a set of points need not return

the points in the convex hull in an ordered manner [O’Rourke,1998]. In this thesis, the

output from the algorithm gives the connectivity information of the curves forming the

convex hull of the set.

4.1 Algorithm details

4.1.1 MAE of a set of curves

As the set of curves are disjoint, to make a connectivity between them, MAE, described

in Chapter 3 is utilized. As MAE is essentially an MST computation, the edges in the

MST act as a part of a rubber-band that enclose the curves. Figure 4.1(b) shows the

MST for the set of curves given in Figure 4.1(a).

Page 37: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

C1

C2

C3

C4 C5

C6

C7 ef

g

(a) Initial set of curves (b) MAE of the set (c) Edgese and f re-placed to formg

Figure 4.1: MAE for a set of curves and dilation of edges.

(a) MinimumArea Enclosure

(b) Newly cre-ated edge

C1(t)

C2(r)

C3(s)

C21

C22

ab

Figure 4.2: Segmenting curves

4.1.2 Forming triplets using MST

For the MAE of a set of curves shown in Figure 4.1(b), the adjacent edges (e and f)

are then dilated to form a new edge (g) as shown in Figure 4.1(c). However each time

the dilation is performed, a portion of the curves is left from further computation. In

the case of Figure 4.2, curveC2 has edges to curvesC1 andC3 in the MST which are

replaced by a new edge, a portion of curveC2 is omitted from further computation

whereas the other portion is still considered. Thus the curves have to be divided into

segments to denote the portions of the curve. In the current case, the curveC2 is called

the ‘central’ curve. The central curve is split into two segments using the antipodal

points. Once the curve is split into two segments, it is denoted by the triplet which has

the included angle (with respect to the central curve) in thecounter clockwise sense.

For example (Figure 4.2(b)), the curveC2 is split intoC21 (portion ofC2 from the point

a to b) andC22 (portion ofC2 from b to a). The corresponding triplets are represented

as [C1 C2 C3] and [C3 C2 C1] respectively. In the case of curveC3 in Figure 4.2(a), the

entire curve is stored as a single segment and denoted as [C2 C3 C2].

24

Page 38: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

4.1.3 Triplet Matrix

For a set of curves as shown in Figure 4.1(a), the triplets of each of the curves form a

triplet matrix (TM). The valency of a curve is determined by the number of MST edges

attached to it. A curve in a MST is split into segments equal tothe valency of the curve.

For each such segment obtained, triplets are generated as described in section 4.1.2. In

a similar way, all the triplets identified are stored in TM. Table 4.1 shows the triplet

matrix of each central curve at the start using the MAE (Figure 4.1(b)). Algorithm 2

explains the formation of TM from MAE.

Algorithm 2 TripletMatrix(MAE)

for Each curveCi ∈ MAE(S) doif Valency(Ci)≥ 2 then

for Each pair of adjacent MST edgesLm andLn connectingCi to Cj andCk

respectivelydoThe segment of the curve betweenLm andLn is denoted as [Cj Ci Ck]Add [Cj Ci Ck] to triplet matrix TM corresponding toCi.

end forelse

Add [Cj Ci Cj] to triplet matrix TM corresponding toCi.end if

end forreturn TM

Table 4.1: Starting triplet matrix for convex hullC1 C2 C3 C4 C5 C6 C7

[C3 C1 C7] [C1 C2 C1] [C1 C3 C1] [C6C4C1] [C7 C5 C7] [C4 C6 C4] [C5 C7 C1][C7 C1 C4] [C1C4C6] [C1C7C5][C4 C1 C2][C2 C1 C3]

4.1.4 Updating triplet matrix

Suppose a triplet be picked from the triplet matrix (say [C7 C1 C4]). Though the triplet

denotes the segment of the curveC1, it should be noted that from the triplet [C7 C1 C4],

pairs of curves [C7 C1] and [C1 C4] may be part of another triplet in TM (see Table

4.1). Thus, when concavities are removed by deleting triplets, other dependent triplets

have to be updated. The triplet matrix is updated in the following way: we check to

see if the pair [C7 C1] exists as a part of any other triplet underC7 and replaceC1 by

25

Page 39: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Table 4.2: Updated Triplet Matrix Cvx-HullC1 C2 C3 C4 C5 C6 C7

[C3C1C7] [C1C2C1] [C1C3C1] [C6C4C1] [C7C5C7] [C4C6C4] [C5C7C4][C4C1C2] [C7C4C6] [C1C7C5][C2C1C3]

C4. Similarly we check for [C1 C4] underC4 and replaceC1 by C7 as shown in Table

4.2. At each iteration one triplet gets eliminated from the matrix and two triplets are

updated.

Effect of the changes in the Table 4.2, edges in the initial MST now dilates as shown

in Figure 4.1(c) (newly formed edge is shown in grey). The dilation of the initial MST

is a result of deletion of the triplet or in other words the segment of the curve from the

triplet matrix. This is akin to pushing out the rubber-band formed by MST towards the

exterior. Also, the segment of the curve will play no role in the further computations.

Algorithm 3 describes the procedure for updating the triplet matrix.

Algorithm 3 UpdateTM(TM, [CiCjCk])

if The pair [Ci Cj] is present in the triplets under [Ci] thenReplace the triplet [Cn Ci Cj ] by [Cn Ci Ck]

end ifif The pair [Cj Ck] is present in the triplets under [Ck] then

Replace the triplet [Cj Ck Cm] by Ci Ck Cm]end ifDelete [Ci Cj Ck] from TM.

4.1.5 Starting Triplet

Section 4.1.4 described how to update the triplet. However,algorithm for updating a

triplet matrix typically needs a starting triplet. At the start of the updating step of the

algorithm in each stage till the triplet matrix becomes empty and pairs are formed, the

maximum inscribed circle is found for all triplets in the current triplet matrix. The

minimum radius out of the maximum inscribed circle and its corresponding triplet is

chosen as the starting triplet. Also, if no circle is available from the triplets in the triplet

matrix, then it means that all the curves in the triplets are apart of the convex hull.

Union of all the pairs of curves will form the convex hull.

26

Page 40: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Algorithm 4 CurvesInConvexHull(S)

TM=nilPM=nil.MAE= MST(S).TM=TripletMatrix(MAE).while TM 6= NULL do

for Each element in TMdoFind MIC (Maximum inscribed circle) using Equations (2.4) and (2.5)

end forif Number of MIC 6= 0 then

Circmin = Minimum (MIC).Let [CiCjCk] be the triplet corresponding toCircMin

Call UpdateTM(TM,[CiCjCk])else

for Each ElementTx in TM doSplit Tx= [Ci Cj Ck] into [Ci Cj ] and [Cj Ck] and add to PMdeleteTx

end forend if

end whilefor Every pair [Ci Cj ] in PM do

Merge the pairs to get curves in the convex hullend for

The reason for picking the triplet with smallest radius of MIC is very similar to the

empty circumcircle of a Delaunay triangulation. Since our aim is to push the rubber

band out, the smallest radius MIC is picked.

4.2 Illustration of the algorithm

The pseudo-code to compute the curves in the convex hull is presented in Algorithm

4. The algorithm is illustrated for the set of curves shown inFigure 4.1. Table 4.3 to

Table 4.8 explain the various deletions and updating that happen in the triplet matrix at

every step. In each table, the triplet to be deleted is shown in larger font and the triplets

to be updated are shown in italics. At each stage, the edges connecting the curves (the

rubber-bands) gets pushed out and at the last stage, the edgeconnectivity will give the

curves that will be on the convex hull. Figures 4.3(a) to 4.3(f) indicate the process of

formation of the curves in the convex hull. Since no more MIC is possible from the

triplets in Table 4.8, the triplets are split pair-wise and are added to the pair matrix(PM)

27

Page 41: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

which gives the curves in the convex hull.

Table 4.3: Updated Triplet Matrix Cvx-Hull 2C1 C2 C3 C4 C5 C6 C7

[C4 C1 C2] [C1 C2 C1] [C1 C3 C7] [C6 C4 C1] [C7 C5 C7] [C4 C6 C4] [C5 C7 C4][C2 C1 C3] [C7C4C6] [C3C7C5]

Table 4.4: Updated Triplet Matrix Cvx-Hull 3C1 C2 C3 C4 C5 C6 C7

[C6 C1 C2] [C1 C2 C1] [C1 C3 C7] [C7C4C6] [C7 C5 C7] [C4 C6 C1] [C5 C7 C4][C2 C1 C3] [C3 C7 C5]

Table 4.5: Updated Triplet Matrix Cvx-Hull 4C1 C2 C3 C4 C5 C6 C7

[C6 C1 C2] [C1 C2 C1] [C1 C3 C5] [C7C4C6] [C3 C5 C7] [C4 C6 C1] [C5 C7 C4][C2 C1 C3]

Table 4.6: Updated Triplet Matrix Cvx-Hull 5C1 C2 C3 C4 C5 C6 C7

[C2 C1 C3] [C6 C2 C1] [C1 C3 C5] [C7C4C6] [C3 C5 C7] [C4 C6 C2] [C5 C7 C4]

Table 4.7: Updated Triplet Matrix Cvx-Hull 6C2 C3 C4 C5 C6 C7

[C6 C2 C3] [C2 C3 C5] [C7C4C6] [C3 C5 C7] [C4 C6 C2] [C5 C7 C4]

Table 4.8: Updated Triplet Matrix Cvx-Hull 7C2 C3 C4 C5 C6

[C6 C2 C3] [C2 C3 C5] [C5C4C6] [C3 C5 C4] [C4 C6 C2]

4.3 Results and Discussion

Implementation of the algorithm ( 4) has been carried out using IRIT [Elber, 2009],

a solid modeling kernel. The constraint equations were solved using the geometric

constraint solver [Elber and Kim, 2001] in IRIT. Figure 4.3(f) shows the result for the

curves in Figure 4.1(b), which shows the MST of the set. Figure 4.4 shows the set of

28

Page 42: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) (b) (c) (d)

(e) (f)

Figure 4.3: Dilation of the MST edges through the various stages of the algorithm

(a) (b) (c) (d)

(e) (f) (g) (h)

Figure 4.4: Test results showing MST (Top) and the curves in convex hull (Bottom)

29

Page 43: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

curves with MST in the top row with corresponding output (curves in the convex hull

in the bottom row).

Though there are numerous algorithms to compute the points on a convex hull from

a set of points, to the best of the knowledge of the author, only [Elberet al., 2001] handle

curves without approximating them (it should be noted our algorithm does not actually

compute the hull). Algorithm in [Elberet al., 2001] uses point-curve tangents and bi-

tangents, formulation constraint equations to obtain them. They are then processed for

transversal intersection with a curve, either to be part of the convex hull or reject them.

Complexity of the algorithm appears to beO(d2), whered is the number of bitangents.

The number of bitangents used in [Elberet al., 2001] to compute convex hull seems

to be quite high as it involves all curves in the set. Using thealgorithm in this thesis,

the number can be substantially reduced as we know which curves contribute to the

convex hull and also the connectivity, essentially requiring 4n bitangents, wheren is

the number of curves in the convex hull.

It is also to be noted the algorithms such as gift-wrapping can be extended to the

curve domain as well. In any case, it appears that the computation of bitangent is not

avoidable along with the predicate computation of whether the curve is right or left of

a bitangent. Curves in the convex hull presented here will reduce the number of curves

that have to be used in the computation of convex hull therebyreducing the number of

bitangents and a possible elimination of the predicate tests.

4.3.1 Complexity of the algorithm

Using Algorithm 4, the complexity can be derived as follows:The algorithm starts with

MST, whose complexity can be shown to beO(eloge) [Aho et al., 1983], if there aree

edges. Assume constraint equations are performed in constant timeO(1). In the worst

case, the number of triplets is2e. At the most, the updating of the triplet matrix has to

be carried oute times. This implies that that Algorithm 4 runs inO(e2) in the worst

case.

30

Page 44: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Bitangent lineL1 does notintersect curveC2

(b) No line ex-ists from C1 toC3 that does notintersectC2

Figure 4.5: Convexity and Concavity between three curves

4.3.2 Correctness proof of the algorithm

A convexity exists between three curvesC1, C2 andC3 only if a straight line can be

drawn between curvesC1 andC3 which does not intersect curveC2 Figure 4.5(a).

Lemma 2Maximum inscribed circle exists between three curvesC1, C2 andC3 exist if

and only if the convexity exists.

Proof Let us assume that there exists a MIC between curvesC1, C2 andC3 which does

not have convexity (Figure4.5(b)). Maximum inscribed circle between three curves is

always tangential to the curves. A general property of circles is that any point in the

circumference of a circle should be visible from any other point. In other words there

must be some point in each of the three curves from which the other two curves are

visible. In Figure 4.5(b) there exist no straight line connecting curvesC1 andC3 that

does not intersectC2 . This means that no MIC is possible between curves where there

is no convexity.

In our algorithm, each time the triplet matrix is updated, the rubber band enclosure

surrounding the set of curves reduces in length. In actual terms, two edges of a triangle

are replaced by a single edge as shown in Figure 4.1(c). Sincethe algorithm is termi-

nated at a stage when there are no more triplets with concavity, it is concluded that the

remaining set of curves will be in the convex hull of the set.

31

Page 45: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

4.4 Summary

In this chapter, an algorithm for determining curves that belong to the convex hull from a

set of planar closed disjoint curves based on MAE computation of chapter 3. It has been

shown that the curves in convex hull can be obtained without geometrical structures

such as Voronoi diagram or Delaunay triangulation, that aretraditionally proven to be

difficult to compute for curves. The curves are assumed to be simply-connected convex

curves, having no straight line portions and no discontinuities. Results indicate that the

algorithm is very amenable for implementation.

32

Page 46: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 5

Algorithm for positive alpha hull

5.1 Positiveα-hull and fVD

Definition 1 indicates that, for a given set of curvesS, α-disc contains all the curves

in the set. In the case of set of points, the boundary of theα-hull occurs at all the

places where theα-disc stays in contact with at least two different points simultane-

ously. However, this is not true for a set of curves in general, i.e. theα-disc may touch

the same convex curve at more than one point (esp. for positiveα-hull). In this chapter,

it is assumed that theα-disc touches a curve at only one point at a time. The notation

αRad is used to denote the radius of theα-disc for ease of understanding.

It is well known that, in the case of set of points, farthest Voronoi diagram and its

corresponding dual farthest Delaunay triangulation play arole in the computation of

positiveα-hull with the net result that only points on the convex hull are used [Edels-

brunneret al., 1983]. Similarly, only curves from the convex hull play a role.

Lemma 5 in [Edelsbrunneret al., 1983], which states that the centers of theα-disc

have to lie on the cVD of the set of points for allα < 0 is applicable to positiveα-hull

for convex curves as well (Lemma 3).

Lemma 3 The centers of theα-disc have to lie on the farthest Voronoi diagram of the

set of curves for allα > 0.

Proof α-hull boundary occurs at places where theα-disc simultaneously stays in touch

with two curves. Since theα-disc is a circle of constant radius, the center of the disc at

all times is equidistant from both the points. This implies that the centers ofα-disc has

to be on the fVD. Hence the lemma.

Page 47: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Though strong relation exists between fVD and positiveα-hull, it is to be noted

that no known algorithm exists for computing farthest Voronoi diagram accurately for

curves without approximating them. Delaunay triangulation for a set of curves is not

that well-defined (as in the case of point-set), making the identification ofα-neighbours

not that straightforward.

To the best of the knowledge of the author, no known algorithmexists for the com-

putation of positiveα-hull for a set of curves. In this chapter, the focus is on getting

α-neighbours from a set of closed curves without computing the farthest Voronoi dia-

gram of curves.

5.2 Basic idea of the Algorithm for computing theα-

hull

It is to be noted that, in the case of positiveα-hulls,αRad varies from RMEC (radius of

minimum enclosing circle) to∞ (orα from 1/RMEC to 0). The range ofαRad suggests

that theα-hull evolves from the boundary (which is the convex hull) and then back to

positiveα-hull.

In general, at each iteration of the algorithm, one curve is left out from further com-

putation. Consider a set of four curves (C1,C2,C3,C4), having anti-clockwise parametriza-

tion, whose convex hull is given in Figure 5.1(a). Pairs of curves are taken andα-discs

are computed using Equation 2.3. For the curveC1, the bi-tangent (αRad=∞) to C2

andC4 touches at parameter valuet12 andt14 respectively. The corresponding points in

the curvesC2 andC4 aret21 andt41 respectively. As the value ofαRad keeps reduc-

ing (Figure 5.1(b)), the parameter valuet12 increases andt14 decreases. At a particular

value ofαRad, the pointst12 andt14 coincide (Figure 5.1(c)) and on further reducing

αRad, the curveC1 ceases to be a part of theα-hull boundary (Figure 5.1(d)).

The algorithm starts from a triplet of curves (sayC1(t1), C2(t2), andC3(t3). Com-

pute circles that touches and encloses the curves in a triplet using Equations (2.4) and

(2.6) . This is the threshold value for radius for the ‘central’ curve C2 and this radius

value is tagged toC2 and stored in a list called R-list. The curveC2 is then deleted and

34

Page 48: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Convex hull (αRad=∞) (b) Positive α-hull (αRad=0.780)

(c) Threshold value for curveC1 (αRad= 0.740)

(d) CurveC1 left out fromα-hull boundary(αRad= 0.738)

Figure 5.1: Curve Omission fromα-hull boundary

C1

C2

C4

C3

t12t14

t21

t41

t12t14

t21

t41

t21

t41

t12/ t14

t21

t41

the other triplet of curves which involve curveC2 are modified for further computation.

This procedure extends from the entire convex hull (α=0) to number of curves in MEC

(α= 1/RMEC).

In this approach, list of radius values are generated. Each of the radius value corre-

sponds to a curve, which gives the threshold value beyond which the curve is not part of

future computations. Additionally another tree structureis also generated which bears

information about the changes made to the set of all tripletswhen curves are deleted at

each stage.α-neighbours are computed using the tree structure and the radius list. In

general, the boundary of theα-hull betweenα-neighbours is an arc of a circle having

a radius value 1/α. Touchpoints betweenα-neighbours are computed using constraint

equations in Equations (2.3).

35

Page 49: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

C1

C2 C3

C4

C7

C6C5

Figure 5.2: Initial set of curves and curves lying in its convex hull (labelled)

5.3 Algorithm details

Figure 5.2 shows a set of curves. The algorithm starts from the curves in the convex

hull of the set of curves (using the Algorithm 4 in Chapter 4),and obtaining pairs of

curves that are adjacent to each other.

5.3.1 Forming triplets using convex hull

A triplet is a set of three curves, and it denotes the ’central’ curve. Triplets are formed

from the pairs of the curves in convex hull for computing positive α-hull by merging

them. In other words, pairs [Ci Cj] and [Cj Ck], which are connected neighbours in

the convex hull, are combined to form [Ci Cj Ck] (Algorithm 5). For the set of curves

shown in Figure 5.2, the triplet matrix (TM) is shown in Table5.1

Algorithm 5 TripletMatrix(CH)

for Every pair [Ci Cj ] in CH doMerge the pairs to form triplets. Append to TM

end for

Table 5.1: Starting triplet matrix for positiveα-hull

C1 C2 C3 C4 C5 C6 C7

[C2C1C7] [C3C2C1] [C4C3C2] [C5C4C3] [C6C5C4] [C7C6C5] [C1C7C6]

36

Page 50: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

C5C4C3

C2

C1

Figure 5.3: Set of curves and the circles touching each triplet

5.3.2 Updating triplet matrix

The positiveα-hull extends from the convex hull to the minimum enclosing circle. At

each stage curves are omitted from being a part of theα-hull. Updating the triplet

matrix happens by determining the threshold value for radius at which a curve does not

play further part in computation. For example, for the set ofcurves in Figure 5.1(b),

all the curves constitute theα-hull boundary whenαRad= 0.78. The disc ofαRad=

0.740 is tangential to curvesC1,C2 andC4. When the radius value further reduces, the

disc does not touch the curveC1 implying that this curve does not play a role in further

computation.

For a set of curves shown in Figure 5.3, the curveC3 plays a part in three enclosing

circles since it occurs in three triplets namely [C2 C3 C4],[C1 C2 C3]and [C3 C4 C5]

whose respective circles are also shown. If [C2 C3 C4] is the triplet to be deleted, then

the curveC3 is omitted from further computations. However necessary changes to the

other triplets have to be made. Algorithm 6 explains the process of updating the triplet

matrix.

Algorithm 6 UpdateTMPositive(Circb, TM)

Pj= [Ci Cj Ck], triplet corresponding toCircbReplace tripletsPi= [Cn Ci Cj] andPk= [Cj Ck Cm] by [Cn Ci Ck] and [Ci Ck Cm]respectively.DeletePj from TM

37

Page 51: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

5.3.3 Maintaining Tree-Structure

It will be very useful if the deletion of a triplet and the subsequent modification are

appropriately stored so that the sequence in which the operation carried out can be

identified. A tree structure has been employed to store the modifications. Each time

a triplet is formed by merging of two other triplets, the new triplet is made the parent

node and the two triplets that are merged are made as its children. Algorithm 7 describes

the pseudo-code for storing the deleted triplet in the form of tree structure. Figure 5.4

shows the tree structure obtained for Figure 5.2.

Figure 5.4: Tree list corresponding to the set of curves in Figure 5.2 (only curve num-bers are used.)

Algorithm 7 TreeList(Ta, Tb, Tc)

Form a tree TR withTa andTb as child node andTc as parent nodeif Ta or Tb is already present in the Tree Listthen

Merge the TR with the nodes in Tree-Listelse

Maintain the tree TR as a separate entity in Tree Listend if

5.3.4 Starting Triplet

Section 5.3.2 described how to update the triplet. However,algorithm for updating a

triplet typically needs a starting triplet. At the start of the updating step of the algorithm

in each stage, the enclosing circle that touches all the curves in the triplet is computed

for each triplet. The triplet corresponding to the maximum radius of such circles is used

as the starting triplet.

Proposition 1The largest radius circle tangential to any three curves in the convex hull

is definitely a part of the positiveα-hull.

38

Page 52: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Proof Consider a set of three curves and the maximum radius circle (Rmax) corresponds

to curvesC1,C2andC3. Let us assume that the circle having radiusR corresponding to

curvesC1,C2 ,C4 forms the boundary of theα-hull. This means that equation 2.3 can

be used to compute theα-hull for all the curves in the set S. However, in section 5.2

(Figure 5.7), it is explained that the for a radius value below Rmax, the curveC2 ceases

to be a part of furtherα-hull computation. Hence our initial assumption of circleR

being a validα-hull boundary is not correct.

Proposition 2 Largest circle exist for only for curves that are sequentialin the convex

hull.

Proof For a set of curves shown in Figure 5.5(a), let us initially assume that that the

curvesC1, C3,C4 correspond to the largest circle (RMax). Between curvesC1 andC3,

the bi-tangent touches as shown in figure 5.5(b). As described in section 5.2, the radius

of circles touching the two curves lying inside the convex hull edge and the initial circle

is greater thanRMax. Since the curveC2 lies in the initial convex hull, it definitely cuts

across the bi-tangent line. Hence, there exists a circle betweenC1, C2,C3 that has a

radius greater thanRMax (Figure 5.5(c)).

(a) Circle for non- se-quential curves

(b) Bi-tangent betweennon - sequential curve

(c) Circle for sequentialcurves

Figure 5.5: circle for sequential curves having greater radius

C1

C2 C3

C5

C4

Each of the starting triplet will have an associated radius value. R-list is essentially a

list of all radius values of the starting triplet at each stage of the updating of the triplets.

Table 5.2 shows the radius list for a set of curves shown in Figure 5.2. At any stage,

39

Page 53: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Table 5.2: R-ListTriplet [C1C7C6] [C4C3C2] [C4C2C1] [C5C4C1] [C5C1C6]/[C1C6C5]/[C6C5C1]R-List 12.29 11.64 6.38 5.82 5.71

Figure 5.6: MEC from a pair of curves in the set. RMEC = 5.635

from the R-list and the corresponding triplet information all the other triplets that were

deleted to form the current triplet can be found out.

The R-list obtained, that stores the threshold radius valueof each curve, is always

descending in order. This is because, at each stage, we consider the triplet correspond-

ing to the largest circle enclosing it. The triplets formed as a result of updating are no

longer sequential in the initial convex hull. So their radius cannot be larger than previ-

ous iteration. As we move from left to right along the R-list,the corresponding triplet

either moves up the level or stays in the same level in the tree-structure.

5.3.5 Update termination

In general, process of updating the triplet stops when thereis no further triplet available

for the computation. However, the lower limit for theαRad value is the radius of the

minimum enclosing circle (RMEC). RMEC may come from the lasttriplet or any pair

from the triplet. Figure 5.6 shows the MEC for the set, from a pair of curves. Algorithm

stops when the radius of MEC is identified and appended to the R-List (Table 5.3).

Algorithm 8 explains the process of generating the R-list and tree structure.

40

Page 54: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Table 5.3: RMEC added to the R-ListTriplet [C1C7C6] [C4C3C2] [C4C2C1] [C5C4C1] [C1C6C5] [C5C1C5] / [C1C5C1]R-List 12.29 11.64 6.38 5.82 5.71 5.635

5.3.6 α-neighbours andα-hull

(a)αRad= 3 (b)αRad= 1.916 (c)αRad< 1.916

Figure 5.7: Radius value at which the ‘central’ curve plays no further part in computa-tion

To compute theα-neighbours, theαRad value is given as input. The user given

αRad will typically lie between two values in the R-list, one greater thanαRad and the

other one lesser. In the case of Figure 5.7(b), the thresholdvalue of the central curve

is αRad=1.916. For an inputαRad value lesser than 1.916, the central curve is omitted

and for greater valueαRad, the triplet is split into pairs andα-neighbours are computed.

In addition to the triplet being split, all the other triplets which share the pairs present in

the triplet are also split and used asα-neighbours isαRad is greater. In general, for an

inputαRad value lesser than threshold value, the end curves in the triplet are considered

as pairs and for greaterαRad values, the self and the sibling triplets are split pair-wise

and considered. This information is available from the tree-structure.

Though the R-List provides details about the triplets that are to be considered to

generate theα-neighbours, it also provides redundant information. In the case of Table

5.2, for anαRad value between 5.82 and 6.38 , from our earlier description, the triplet

[C5C4C1] is split pair-wise (i.e [C5, C4] and [C4, C1] ). However, though the value of

triplet [C5C1C6] (5.71) is also lesser thanαRad, it is not considered. This is because

the since [C5, C4] and [C4, C1] are already identified asα-neighbours, [C5C1] can never

beα-neighbours. Hence, in general, all the ancestor nodes of the [C5C4C1] should be

omitted from the R-list, if at all they occur. Similarly, descendent nodes of [C4C2C1]

are also omitted.

41

Page 55: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Thus, this imposes an additional condition while scanning through the R-List and

picking triplets. All the triplets corresponding to greater radius thanαRad in the R-List

(Table 5.2) are considered in an ascending order and the triplets corresponding to lesser

radius are considered in a descending order.

For the case that theαRad values lies between RMEC from a pair and the radius

of the last triplet, the pair of curves that lead to RMEC will be theα-neighbours. Al-

gorithm 9 indicate the process of computingα-neighbours (where PM indicates pair

matrix that will consist ofα-neighbours). Algorithm 10 describes the algorithm for

computing theα-discs.

Algorithm 8 GenerateRadiusandTreeLists(S)

TM=nilCH= ConvexHull(S).TM=TripletMatrix(CH).while Size of the matrix TM≥ 3 do

for Each triplet in TM dofind radius of enclosing circles.

end forCircmax = Maximum of the radii of enclosing circlesAdd radius ofCircmax value and corresponding tripletTmax to R-List.UpdateTMPositive(CircMax,TM)TreeList(Tmax)

end whileif RMEC != Radius of the last tripletthen

Find the pair of curves from the triplet leading to RMEC.Append the radius to R-List

end if

5.4 Illustration of the algorithm

The algorithm for computing the positiveα-hull is illustrated for a set of curves shown

in Figure 5.2. For all the triplets present in the Table 5.1, the circle is computed using

Equation 2.4 and updated in Table 5.4. At each stage the maximum radius triplet (shown

in large font) and triplets which are to be modified are identified (shown in italics). The

procedure is repeated until triplet matrix contains only three triplets. As the maximum

radius triplets are deleted, they are added to the R-List along with the corresponding

radius values.

42

Page 56: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Algorithm 9 α−Neighbours(S, αRad)

α-list =NULL.Tree-list =NULL.PM=NULLGenerateRadiusandTreeLists(S).for Every triplet [Ci Cj Ck] in R-List having radius greater thanαRaddo

Consider the triplet in the increasing order of Radius valueand store curves (Ci,Ck)asα-neighbours in PMUsing Tree-List omit all the descendent triplets of [Ci Cj Ck] from R-List, if theyhappen to occur.

end forfor Every triplet [Ci Cj Ck] in R-List having radius lesser thanαRaddo

Consider the triplets in the decreasing order of Radius value and store curves (Ci ,Cj) and (Cj ,Ck) asα-neighbours in PMStore the sibling triplet of [Ci Cj Ck] asα-neighbours in a list.Using Tree-List omit all the ancestor triplets of [Ci Cj Ck] from R-List, if theyhappen to occur.

end for

Algorithm 10 α−Hull(S, αRad)

α-neighbours(S,αRad)for Every pair ofα-neighbours Obtained in Algorithm 9do

Obtain theα-discs using Equations (2.3) and (2.6).end for

Table 5.4: Triplet Matrix with the radius listC1 C2 C3 C4 C5 C6 C7

Triplet [C2C1C7] [C3C2C1] [C4C3C2] [C5C4C3] [C6C5C4] [C7C6C5] [C1C7C6]Radius 2.78 4.82 11.64 4.68 4.22 4.89 12.29

Table 5.5: Updated Triplet Matrixα-hull 1C1 C2 C3 C4 C5 C6 C7

Triplet [C2C1C6] [C3C2C1] [C4C3C2] [C5C4C3] [C6C5C4] [C1C6C5]Radius 4.44 4.82 11.64 4.68 4.22 5.71

Table 5.6: Updated Triplet Matrixα-hull 2C1 C2 C3 C4 C5 C6 C7

Triplet [C2C1C6] [C4C2C1] [C5C4C2] [C6C5C4] [C1C6C5]Radius 4.44 6.38 5.55 4.22 5.71

Table 5.7: Updated Triplet Matrixα-hull 3C1 C2 C3 C4 C5 C6 C7

Triplet [C4C1C6] [C5C4C1] [C6C5C4] [C1C6C5]Radius 5.11 5.82 4.22 5.71

43

Page 57: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Table 5.8: Updated Triplet Matrixα-hull 4C1 C2 C3 C4 C5 C6 C7

Triplet [C5C1C6] [C6C5C1] [C1C6C5]Radius 5.71 5.71 5.71

Table 5.9: Updated Triplet Matrixα-hull 5C1 C2 C3 C4 C5 C6 C7

Triplet [C5C1C5] [C1C5C1]Radius 5.635 5.635

Table 5.10: List of neighboursα-hullNeighbour [C1C4] [C4C5] [C5C6] [C6C1]

When an user defined value of theαRad is given (say 6 mm), then the triplet values

in the R-List that are greater and lesser thanαRad are noted separately. In this case,

the triplets having radius value greater in the increasing order are [C4C2C1], [C4C3C2]

and [C1C7C6]. Similarly the triplets having radius value lesser in decreasing order are

[C5C4C1] and [C5C1C6]. In the former case, the triplet [C4C2C1] is taken and the pair

[C4C1] is added to theα-neighbour List. Figure 5.4 shows the tree-list that is generated

during the process of triplet updating. In case any of the descendent nodes of the triplet

[C4C2C1] lies in the R-List, it is omitted. Triplet [C1C7C6] is then considered and the

pair [C1C6] is added toα-neighbour List.

For the triplets in R-List having radius value lesser, the triplets along with its sib-

lings are considered. In this case, the triplet [C5C4C1] is split into [C5C4] [C4C1] and

its sibling [C6C5C4] is split [C6C5] [C5C4] and added toα-neighbour List. The ances-

tor nodes of [C5C4C1] i.e [C6C5C1] is removed from R-List. Summing up the entire

process, theα-neighbours are given in Table 5.10.

5.5 Results and Discussion

Figure 5.8 shows a few results from the implementation of thepositiveα-hull algorithm.

Implementation of the algorithm has been carried out using IRIT [Elber, 2009], a solid

modeling kernel. The constraint equations were solved using the geometric constraint

solver [Elber and Kim, 2001] in IRIT. Only the full untrimmedα-discs are shown in the

44

Page 58: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a)αRad= 6 (b)αRad= 5.75 (c)αRad=8 (d)αRad=12.5

(e)αRad=8 (f) αRad=10

Figure 5.8: α-discs for a set of curves. Value forαRad has been indicated.

figure. ForαRad> largest value in the R-List, all the curves in the convex hullplay a

role in theα-hull. This is illustrated in Figure 5.8(d) forαRad = 12.5 which is greater

than 12.29 of the maximum value in the R-List (Table 5.2).

To the best of the knowledge of the authors, no known algorithm exist for computing

the positiveα-hull for a set of curves represented exactly, i.e. without discretizing into

point-sets or polylines.

5.5.1 Storage complexity

The tree structure which stores the triplet updating history, serves a very important

purpose of avoiding unnecessary repetition of triplet information. In our approach, we

find the largest radius circle for the triplets at each stage and tag it to the corresponding

radius value to generate the R-List. Instead of tagging the deleted triplet to the radius

value in R-List, all the triplets present at that particulariteration can also be stored to

obtainα-neighbours. The total number of elements in the radius listis n-2 or n-1. The

45

Page 59: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

number of triplets to be stored at the start is n-1 and it keepsreducing at each stage.

Hence the number of triplets to be stored is O(n2). However, at each iteration of the

algorithm, only two triplets are updated and one triplet is deleted. Hence it would be an

abundant repetition of data.

The tree structure on the other hand stores only the updated triplet at each stage.

Thus the storage complexity is much lower in the case of tree structure. The initial set

of triplets form the leaf nodes of the tree structure and the root node correspond to the

termination condition of Algorithm 8.

5.5.2 Time Complexity of the algorithm

For a set of n curves lying in the convex hull, there are n triplets generated. For each

triplet, the enclosing circle is computed. Finding the enclosing circle is a O(1) process

and doing it for n triplets take a total time of O(n). At each stage two triplets are updated

and one triplet deleted. This follows iteratively till onlytwo /three triplets are present.

This step takes a total time of O(2(n-2)) or O(2(n-1)). Forming the tree list is a linear

time operation (O(n)) since the procedure is followed only as long as there are triplets

in the TM (n triplets). Hence the total time required for generating the R-List and tree

structure is O(n). Given a value ofαRad, traversing through the R-List and the tree

structure to compute theα-neighbours is a O(n) operation. This is because the length

of the R-List and the height of the tree-structure cannot be more than n. Summing up

the entire procedure, the time required to compute theα-neighbours from the convex

hull is O(n) operation. However, algorithm for generating the curves in the convex hull

(Chapter 4) takes O(n2log(n)). Hence, the positiveα hull also takes O(n2log(n)).

5.5.3 Correctness proof of the algorithm

R-List gives the threshold value of each of the curve lying inthe convex hull. Though

the triplet matrix actually denotes the central curve, it gives information about the curves

with which the circle should be generated. The curves in the convex hull are used for

formation of initial triplet matrix, and the procedure is validated in Propositions 1 and

46

Page 60: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

2. At each stage the triplets are updated as explained in section 5.3.2.

The elements of the R-List are obtained by the deletion of thetriplet from the TM

at each iteration. These triplets also feature in the tree-structure along with the other

updated triplets. The triplets in R-List extends as a path inthe tree. They may be present

as single path or multiple paths. Each of the element in the paths have a radius value

associated with it. The edges connecting two such triplets can be assumed to contain

all the intermediate radius values. For a given value ofαRad, only the closest threshold

value triplet carries the information about theα-neighbours. This is because they are

the most recently updated/ to be updated triplets with respect to the currentαRad value.

In other words, the edges in whichαRad lies are picked and the nodes they connect

are processed. This means that, in the paths present in the tree-list, all the other nodes

that are not directly connected by the edges in whichαRad lies are omitted i.e. the

descendants of lower radius value triplets and ancestors ofhigher radius value triplets

are omitted. This implies that, for a given input value, the correctα-neighbours have

been identified.

5.6 Summary

In this chapter, an algorithm for computing positiveα-hull for a set of closed convex

curves has been presented. The algorithm does not use farthest Voronoi diagram, in-

stead it uses enclosing circles and constraint equations todetermine theα-neighbours.

Implementation results have been presented.

47

Page 61: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 6

Extension to non-convex curves and surfaces

In Chapters 3 to 5, it was assumed that the curves are disjointand convex. In this

chapter, extension of MAE to non-convex and intersecting curves and for a set of closed

surfaces inR3 is presented.

6.1 MAE computation for intersecting and non-convex

curves

When two curves are involved, other cases (apart from disjoint curves) have to be con-

sidered to determine the MAE:

• one curve lying completely inside the other;

• when they intersect.

6.1.1 One curve is completely inside the other

For this case, it is obvious that the curve which is completely outside is the MAE be-

tween the two curves (sayC1(t) andC2(r)) (Figure 6.1). To determine whether one

curve is completely inside the other, there are several approaches. We adopted the fol-

lowing approach: first it is required to identify if the curves intersect or not. A quick

check of this condition can be done using the convex hull of the control polygons of

the two curves. One can use the “left" predicate (Chapter 1, [O’Rourke, 1998]) to do

this operation. If they do not intersect, the curves for suredo not intersect each other.

However, if they intersect, the curves are then processed for intersection, which typi-

cally amounts to polynomial root finding of the two curves (inthis thesis, the constraint

solver [Elber and Kim, 2001] has been used for root-finding).Once it is determined

Page 62: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

C1(t)

C2(r)

Figure 6.1: Outer curve is the MAE when one curve is completely inside the other.

that there is no intersection, we take a pointP1 on the curveC1(t) and using the wind-

ing number [Mortenson, 2006], determine whether the point lies completely inside the

curveC2(r). If so, the curveC1(t) lies inside the curveC2(r), and the MAE is now

C2(r). If not, we take a point (sayP2) onC2(r) and do a similar check. It is to be noted

that a point is outside the curve only when the winding numberis 0. When the outer

curve is convex, convex hull becomes the MAE

6.1.2 Two intersecting curves

Consider two curves that intersect each other (Figure 6.2(a)). Imagine a rubber band

that is tightly enclosing them, such as the convex hull between the two (Figure 6.2(b).

As one keeps pushing the convex hull and still enclosing the curves (Figure 6.2(c)),

it will reach a point where the enclosure cannot be moved beyond the points where

the intersection of curves happen, which will then the yieldminimum area enclosure

(Figure 3.1(d)).

When two curves are intersecting, the minimum distance between them is zero. Do

note that the antipodal condition need not be satisfied at thepoints of intersection. As

the curves are intersecting, points of intersections are then determined. The curves

are then delineated between the points of intersection. Portions of one curve that are

lying completely inside the other are then removed. This again amounts to checking

if a curve is inside another. The resultant will be a set of curves forming the MAE.

Figure 6.3(a) shows two curves that are intersecting with each other. Figure 6.3(b)

shows the remaining portions ofC1(t) after trimming the portion ofC1(t) lying inside

49

Page 63: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) A pair ofcurves thatintersect eachother

(b) Convex Hullof the curves

(c) Pushing theconvex hull ofthe curves

(d) Correspond-ing MAE

Figure 6.2: Rubber band analogy to get MAE for two curves thatintersect.

(a) Two curves in-tersecting with eachother

(b) Remaining por-tion of the curveC1(t)

(c) Remaining por-tion of the curveC2(r)

(d) Remaining por-tions of the curvesC1(t) and C2(r),forming a MAE.

C1(t)

C2(r)

C1(t)

C2(r)

C1(t)

C2(r)

C1(t)

C2(r)

Figure 6.3: MAE for two intersecting free-form planar curves inR2.

C2(r). Figure 6.3(c) shows the remaining portion ofC2(r). MAE for the intersecting

curves is shown in Figure 6.3(d). Please note that the process of computing MAE of

two intersecting curves emulates Boolean union between thecurves. As Boolean union

yields a unique result, so will be the MAE for intersecting curves.

It is to be noted that the intersection between two curves canlead to the formation of

inner loops, which are then removed to maintain simply-connectedness. Figure 6.4(a)

shows two curves, where the elimination of portions of curves inside each other resulted

in the formation of an inner loop as shown in Figure 6.4(b). The loops are eliminated

using the fact that, for the curves parameterized in the anticlockwise direction (interior

of the curve is to the left), the loops will form a clockwise direction when traveled in

the increasing direction. This can be determined as follows: Let ab be a line completely

50

Page 64: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

C2(r)

C1(t)

Figure 6.4: Two intersecting curvesC1(t) andC2(r) in (a) may produce inner loop(s)as in (b).

contained in the loop. Using the tangent vectors Ta and Tb (Figure 6.4(b)), we can find

if they form a clockwise orientation. All the inner loops arethen removed.

6.2 MAE for a set of curves

In this section, MAE for a set of curves is described. It is assumed that there is only one

MAL between two curves. Check for the curves that intersect is performed first and all

the curves that lie totally inside other curves are eliminated, as they do not contribute

to MAE. After this process, there will be curves that either intersect or lie completely

outside.

For curves that intersect with each other, points of intersections between each pair

of curves are then identified. Thereafter, apply the principle stated earlier to find the

MAE for a pair of curves (Section 6.1.2). This will result in MAE for a pair of curves.

Repeat this step till all the intersecting curves are processed. This leaves us with clusters

of curves (some obtained using Boolean). For example, for the set of curves in Figure

6.5(a), the processing of intersecting curves will resultsin Figure 6.5(b). The resultant

disjoint curves are the process as described in Chapter 3. Algorithm 11 details the

complete procedure.

51

Page 65: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Initial set of curvesC ={C1, ..., C11}. S1 = {C1, C2, C3},S2 = {C4, ..., C8}, S3 = {C9, C10}.

(b) After processing curves that in-tersect (using Boolean). BU1 ={C1

C2

C3} etc.

(c) MALs for the set of curves inC′,whereC′ = {BU1, BU2, BU3, C11}.

(d) MAE of the set of curves.

C9

C10

C4C5

C6

C7 C8

C11

C1

C2

C3

BU3

BU2

C11

BU1

BU3

BU2

C11

BU1

BU3

BU2

C11

BU1

Figure 6.5: Illustration of the algorithm.

6.3 Implementation Results

Figures 6.6 and 6.7 shows the results for set of curves (the top row shows the input

curves and their respective MAE is shown in the bottom row). MAE has also been

computed for curves in Figures 6.7(a) and 6.7(b), which contains straight line portions

as computation of MAP does not play a role.

6.4 Extension to 3D - Minimum volume enclosure (MVE)

It is assumed that the surfaces are closed,C2-continuous and simply-connected.

52

Page 66: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Algorithm 11 MAE(C = C1, ..., Cn)

Determine curves that intersect each other.Eliminate curves that lie completely inside.Find sets of curves that intersect. LetSi denote each set, and eachSi will consist ofcurves fromC.for each setSi of intersecting curvesdo

Perform Boolean union.Represent each Boolean union as a single curve (sayBUi).Eliminate interior loops.

end forLetC ′ = {{BUi}

{C − {Si}}}.for each curve in inC ′ do

Compute MAP to all other curves in the set.end forif All curves inC ′ are outside each otherthen

Use curves as nodes and MAPs’ as distances, find the minimum spanning tree(MST).Return MST as MAE.

elseReturnC ′ as MAE.

end if

(a) Test set ofcurves 1

(b) Test set ofcurves 2

(c) Test set ofcurves 3

(d) Test set ofcurves 4

(e) MAE for set 1 (f) MAE for set 2 (g) MAE for set 3 (h) MAE for set 4

Figure 6.6: MAE for a set of free-form planar curves inR2.

53

Page 67: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Model of a flange (b) Model of a knuckle joint

(c) MAE (d) MAE

Figure 6.7: MAE for a set of free-form planar curves inR2.

6.4.1 Two intersecting surfaces

When two surfaces are involved, disjoint surfaces and one inside the other can be dealt

similar to that of curves. However, it is to be noted that the intersection between two

simply-connected surfaces can result in the following output;

• simply-connected object with genus 0

• simply-connected object with genus> 0.

• multiply-connected object.

For two intersecting surfaces shown in Figure 6.8(a), the intersection curve is first

computed. The intersection curve acts as a trimming curve (Figure 6.8(b)) which re-

moves portion of the surface enclosed by it. This essentially removes the portions of

54

Page 68: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Two intersectingsurfacesS1 andS2.

(b) Intersecting curveC1 which acts as atrimming curve

(c) MVE.

S1

S2 C1

S1

S2

T1

T2

Figure 6.8: MVE of Intersecting Surface

surface lying inside another. The resultant will be a set of surfaces forming the Min-

imal volume enclosure(MVE) (Figure 6.8(c)). For genus = 0 surfaces, the process of

computing MVE of two intersecting surfaces emulates Boolean union of two surfaces.

Figure 6.9(a) shows to surfaces of dumbbell-like shape and their intersection curves

in Figure 6.9(b). The Boolean union between the two is shown in Figure 6.9(c) and the

output results in genus> 0. If one can image an enclosure between two dumbbells and

start pushing it, there will be a surface formation along with the Boolean output. The

surface is yet again a zero-volume one. In this thesis, to findsuch a surface, we connect

two points of the intersecting curve via geodesic curves (Figure 6.9(d)). Consider the

two curves, a ruled surface is fit between the two curves, resulting in a degenerate

surface patch. Output MVE is shown in Figure 6.9(e).

When two simply-connected surfaces are employed, the resultant output can be

multiply-connected as well. For example, for the two surfaces in Figure 6.10(a), the

Boolean output is multiply-connected (Figure 6.10(b)). The inner surface is then re-

moved to obtain the MVE (Figure 6.10(c)).

6.5 MVE for a set of surfaces

In this section, computing MVE for a set of surfaces, assuming that there is only one

MAL between two surfaces, is presented. Algorithm 12 details the procedure to obtain

MVE, which is very similar to that of the curves. It should be noted that, a computed

55

Page 69: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Pair of dumbbell-like simply-connectedsurfaces.

(b) Intersection curvesof two dumbell shapes.

(c) Boolean union oftwo dumbbell shapes.

(d) Geodesic curveconnecting the inter-section curves.

(e) Zero volume degen-erate ruled surface.

Figure 6.9: MVE for output with genus> 0.

(a) Two simply-connected surfacesintersecting.

(b) Boolean unionresulting in multiply-connected surfaces.

(c) MVE.

Figure 6.10: MVE when intersection results in multiply-connected surfaces.

MAL between a pair of surfaces is not included while computing minimum distance

between other curves. Figure 6.11 illustrates the algorithm.

Figure 6.12 shows more example results of the algorithm. Allthe implementation

56

Page 70: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

Algorithm 12 MV E(C = S1, ..., Sn)

Determine surfaces that intersect each other.Eliminate surfaces that lie completely inside.Find sets of surfaces that intersect. LetBi denote each set, and eachBi will consistof surfaces fromC.for each setBi of intersecting surfacesdo

Perform Boolean union.Represent each Boolean union as a single surface (sayBUi).if {BUi} is simply connected with genus> 0 then

Fit a degenerate ruled surface pathelse

Eliminate interior loops.end if

end forLetC ′ = {{BUi}

{C − {Bi}}}.for each surface∈ C ′ do

Compute MAP to all other surfaces in the set.end forif All surfaces inC ′ are outside each otherthen

Use surfaces as nodes and MAPs’ as distances, find the minimumspanning tree(MST).Return MST as MVE.

elseReturnC ′ as MVE.

end if

have been carried out using IRIT [Elber, 2009] geometric kernel and its constraint solver

[Elber and Kim, 2001]. Figure 6.12(d) shows the result for the test object in Figure

6.12(a). In Figure 6.12(b), MAP computation lead to the computation of the MVE in

Figure 6.12(e).

6.6 Discussion

6.6.1 Limitations

Algorithm described in Section 6.5 returns an unique MVE only under the assumptions

that MAP between two surfaces is unique and no distances computed using MAP are

same across different surfaces as MST will then not be unique. It is also assumed that

the intermediate surface DRSP does not intersect with othersurfaces (Figure 6.13(a)),

which may not be true in general. Moreover, DRSP is currentlyidentified only using

57

Page 71: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Initial set of surfaces. (b) After processing surfaces thatintersect (using Boolean) showingDRSP as well.

(c) MALs for the set of surfaces. (d) MVE for the set.

Figure 6.11: Illustration of the algorithm.

two curves, which may not hold in general as in the set of surfaces (which for genus>

0 after Boolean union) shown in Figure 6.13(b). The DRSP obtained by fitting a ruled

patch between two curves is possible only if the curves are monotone. Figure 6.13(c)

shows non- monotone curves and the corresponding DRSP(Figure 6.13(d)) which ex-

tends beyond the boundary curves.

58

Page 72: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) Test surfaces (b) Test surfaces (c) Test surfaces

(d) MVE of the sur-faces

(e) MVE of the sur-faces

(f) MVE of the surfaces

Figure 6.12: MVE for a set of free-form planar surfaces inR3.

(a) SurfaceintersectingDRSP

(b) (c) Two non-monotonecurves

(d) DRSPbetween the twonon-monotonecurves

Figure 6.13: Limitations of using DRSP

59

Page 73: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

(a) A model of molecularstructure.

(b) MAE

Figure 6.14: A model of molecular chain-like structure, andits MAE.

(a) A model of Piston and shaftassembly.

(b) MAE

Figure 6.15: A model of piston-shaft arrangement, and its MAE.

6.6.2 Applications of MAE

MAE has many potential applications. For example, considerthe matching of molecular

surfaces, typically approximated using set of circles/spheres (and tori) (Figure 6.14(a)),

and represented as a set of curves/surfaces. To match them, one could then employ the

MAE (Figure 6.14(b)) of the set of curves.

Another possible application is that MAE provides a very close approximation to its

original, a prerequisite in finite element applications. Abstractions such as midsurface

[Rezayat, 1996] or medial axis transform [Armstrong, 1994;Ramanathan and Guru-

moorthy, 2005], aid in defeaturing [Li and Liu, 2002], a process where not-so neces-

sary features are removed from a model. However, these abstractions have traditionally

60

Page 74: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

proved difficult to automate. MAE’s inherit ability to remove internal features could be

an alternative for a reduced model in finite element applications. Figure 6.15 shows an

example model and the utility of its MAE.

MAEs are also more suited for fencing applications. Imaginea set of large number

of trees and houses surrounding the trees. In case of fencingof trees, the bounding

area will be greatly reduced when it is applied around the MAE. Other areas of appli-

cation for MAE include geographic information processing,image processing, pattern

recognition, and feature detection.

6.7 Summary

In this chapter, extension of MAE to a generic set of curves and also MVE for a set of

surfaces has been presented. Potential application for MAEhas been indicated.

61

Page 75: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

CHAPTER 7

Contributions, Future work and Conclusions

This chapter summarises the contributions of the thesis andidentifies the scope for

future work.

7.1 Contributions

Major research contributions are as follows:

• Concepts of bounding hulls, typically employed for a set of points, has beendescribed and algorithm developed for a set of planar closedcurves.

• MAE, minimum area enclosure for a set of curves, akin to minimum area polygonhas been developed.

• Using the computed MAE, set of curves that will form part of convex hull isidentified by updating triplet of curves iteratilvely.

• Identified curves in the convex hull are then employed to determine theα-neighborsin the positiveα-hull using enclosing circle property.

• By way of computing MVE, it is shown that the algorithm for MAEcan be ex-tended for higher dimensions.

7.2 Future work

7.2.1 MAE

The algorithm for MAE can be extended forC0-continuous curves and possibly for

open curves. Another potential application for using the theories that have been de-

veloped in this thesis could be on blending of curves (see Chapter 14 in [Hoschek and

Lasser, 1993]). Various properties that the computed MAE satisfies can also be ex-

plored. The restriction that a curve should not contain straight line portions that will

result in infinite solution while computing MAP can also be studied.

Page 76: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

7.2.2 Convex hull

The algorithm in Chapter 4 can be extended to other non-convex shapes. In the case

of non-convex curves, the maximum inscribed circle is foundbetween three adjacent

curves in the MST. However the touch points may happen on the same curve many a

times. Moreover, there are chances that several minimal antipodal distances will be

equal between a pair of curves. In fact, minimal antipodal distance can also happen

between two points on the same curve, making the formation and updating of triplet

matrix bit more difficult. The algorithm can be appropriately modified to handle such

cases. Currently, the curves are assumed to be disjoint. Algorithm has to be suitably

modified to handle intersecting curves. Exact convex hull can also be computed.

7.2.3 α-hull

When a curve possesses non-convex portions (or dents), there is a possibility of self-

Voronoi (which has equidistant points on the same curve). Ingeneral, the self-Voronoi

segments have to be considered as path of traversal ofα-disc. This aspect of self-

Voronoi is a feature existing only for the curves and not for the point-set. As the same

curve can play a role in multiple touchpoints, maintaining and updating triplet matrix is

not straightforward. The algorithm can be extended to compute negativeα-hull as well

as for intersecting curves.

7.2.4 MVE

The algorithm for computing MVE for a set ofC2-continuous surfaces can be extended

for C0 andC1 continuous surfaces and possibly for open surfaces. The restriction that

a surface should not contain planar portions that will result in infinite solution while

computing MAP can also be looked.

63

Page 77: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

7.2.5 Extension to higher dimensions

In this thesis, it has been shown that MAE inR2 can be extended to handle surfaces in

R3, defined as MVE. In a similar manner, algorithms for curves inconvex hull and the

computation of positiveα-hull can be extended to closed surfaces.

7.3 Conclusions

In this thesis, algorithms for bounding hulls viz. MAE, convex andα-hull of a set of

closed curves can be computed without approximating the curves using discretization

such as points or lines. It was also shown the the algorithm for MAE of curves can

be extended to surfaces. Results indicate that the algorithms are very amenable for

implementation. Possible applications and future work hasalso been indicated.

64

Page 78: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

REFERENCES

1. Aho, A. V., J. E. Hopcroft, and J. D. Ullman, Data Structures and Algorithms.Addison-Wesley, 1983. ISBN 0-201-00023-7.

2. Armstrong, C. G. (1994). Modeling requirements for finite element analysis.Computer-Aided Design, 26, 573–578.

3. Attali, D. (1998). r-regular shape reconstruction from unorganized points. Comput.Geom. Theory Appl., 10, 239–247. ISSN 0925-7721.

4. Chaudhuri, A. R., B. B. Chaudhuri, andS. K. Parui (1997). A novel approachto computation of the shape of a dot pattern and extraction ofits perceptual border.Comput. Vis. Image Underst., 68, 257–275. ISSN 1077-3142.

5. Chou, J. J.(1995). Voronoi diagrams for planar shapes.IEEE Computer Graphics andApplications, 52–59.

6. Corney, J., H. Rea, D. Clark , J. Pritchard , M. Breaks, andR. MacLeod (2002).Coarse filters for shape matching.IEEE Computer Graphics and Applications, 22, 65–74. ISSN 0272-1716.

7. De Berg, M., O. Cheong, M. van Kreveld, andM. Overmars, Computational geom-etry: algorithms and applications. Springer, 2008.

8. DoCarmo, M. P., Differential Geometry of Curves and Surfaces. Prentice-Hall, 1976.

9. Duckham, M., L. Kulik , M. Worboys, andA. Galton (2008). Efficient generationof simple polygons for characterizing the shape of a set of points in the plane.PatternRecognition, 41(10), 3224 – 3236. ISSN 0031-3203.

10. Edelsbrunner, H., D. Kirkpatrick , andR. Seidel (1983). On the shape of a set ofpoints in the plane.Information Theory, IEEE Transactions on, 29(4), 551 – 559. ISSN0018-9448.

11. Edelsbrunner, H. andE. P. Mücke (1994). Three-dimensional alpha shapes.ACMTrans. Graph., 13(1), 43–72. ISSN 0730-0301.

12. Elber, G. (2009). IRIT 10.0 User’s Manual. The Technion—Israel Institute of Tech-nology, Haifa, Israel.

13. Elber, G. andM.-S. Kim , Geometric constraint solver using multivariate rationalsplinefunctions. In SMA ’01: Proceedings of the sixth ACM symposium on Solid modelingand applications. ACM, New York, NY, USA, 2001. ISBN 1-58113-366-9.

14. Elber, G., M.-S. Kim , andH.-S. Heo(2001). The convex hull of rational plane curves.Graph. Models, 63(3), 151–162. ISSN 1524-0703.

65

Page 79: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

15. Emiris, I. Z. , E. P. Tsigaridas, andG. M. Tzoumas, Exact delaunay graph of smoothconvex pseudo-circles: general predicates, and implementation for ellipses. In 2009SIAM/ACM Joint Conference on Geometric and Physical Modeling, SPM ’09. ACM,New York, NY, USA, 2009. ISBN 978-1-60558-711-0.

16. Emiris, I. Z. andG. M. Tzoumas, A real-time and exact implementation of the predi-cates for the voronoi diagram of parametric ellipses.In Proceedings of the 2007 ACMsymposium on Solid and physical modeling, SPM ’07. ACM, New York, NY, USA,2007. ISBN 978-1-59593-666-0.

17. Fekete, S. P.andW. R. Pulleyblank, Area optimization of simple polygons.In Pro-ceedings of the ninth annual symposium on Computational geometry, SCG ’93. ACM,New York, NY, USA, 1993. ISBN 0-89791-582-8.

18. Galton, A. andM. Duckham, What is the region occupied by a set of points?InGIScience. 2006.

19. Hanniel, I., R. Muthuganapathy, G. Elber, andM.-S. Kim , Precise Voronoi cellextraction of free-form rational planar closed curves.In SPM ’05: Proceedings of the2005 ACM symposium on Solid and physical modeling. ACM, New York, NY, USA,2005. ISBN 1-59593-015-9.

20. Hoschek, J.andD. Lasser, Fundamentals of computer aided geometric design. A. K.Peters, Ltd., Natick, MA, USA, 1993. ISBN 1-56881-007-5. Translator-Schumaker,Larry L.

21. Hwang, F. K., D. S. Richards, andP. Winter, The Steiner Tree Problem, volume 53.North-Holland, Amsterdam, Netherlands, 1992.

22. Jarvis, R. A. (1973). On the Identification of the Convex Hull of a Finite Set of Pointsin the Plane.Information Processing Letters, 2(1), 18–21.

23. Karp, R. M. , Reducibility among combinatorial problems.In R. E. Miller andJ. W.Thatcher (eds.),Complexity of Computer Computations. Plenum Press, 1972, 85–103.

24. Kim, Y.-J. , J. Lee, M.-S. Kim , andG. Elber (2011). Efficient convex hull computationfor planar freeform curves.Computers & Graphics, 35(3), 698 – 705. ISSN 0097-8493.Shape Modeling International (SMI) Conference 2011.

25. Lee, Y.-S.andT.-C. Chang (1995). 2-phase approach to global tool interference avoid-ance in 5-axis machining.Computer-Aided Design, 27(10), 715 – 729. ISSN 0010-4485.

26. Li, B. and J. Liu (2002). Detail feature recognition and decomposi-tion in solid model. Computer-Aided Design, 34(5), 405 – 414. ISSN0010-4485. URLhttp://www.sciencedirect.com/science/article/B6TYR-44W2PJW-6/2/89cc5af83dec7f18c306f2cdb0c369df.

27. Mandal, D. P. andC. Murthy (1997). Selection of alpha for alpha-hull in r2.PatternRecognition, 30(10), 1759 – 1767. ISSN 0031-3203.

66

Page 80: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

28. Melkemi, M. and M. Djebali (2000). Computing the shape of a planar points set.Pattern Recognition, 33(9), 1423 – 1436. ISSN 0031-3203.

29. Moreira, A. J. C. andM. Y. Santos, Concave hull: A k-nearest neighbours approachfor the computation of the region occupied by a set of points.In GRAPP (GM/R). 2007.

30. Mortenson, M. E., Geometric Modeling. Industrial Press, 2006, third edition.

31. Muthuganapathy, R., G. Elber, G. Barequet, andM.-S. Kim (2011). Computing theminimum enclosing sphere of free-form hypersurfaces in arbitrary dimensions.Com-puter Aided Design, 43, 247–257. ISSN 0010-4485.

32. O’Rourke, J., Computational Geometry in C. Cambridge University Press, New York,NY, USA, 1998. ISBN 0521640105.

33. Pocchiola, M.andG. Vegter, Computing the visibility graph via pseudo-triangulations.In Proceedings of the eleventh annual symposium on Computational geometry, SCG’95. ACM, New York, NY, USA, 1995. ISBN 0-89791-724-3. URLhttp://doi.acm.org/10.1145/220279.220306.

34. Ramanathan, M. andB. Gurumoorthy (2003). Constructing medial axis transformof planar domains with curved boundaries.Computer-Aided Design, 35(7), 619–632.

35. Ramanathan, M.andB. Gurumoorthy (2005). Constructing medial axis transform ofextruded and revolved 3d objects with free-form boundaries. Computer-Aided Design,37(13).

36. Rezayat, M. (1996). Midsurface abstraction from 3d solid models: generaltheory and applications. Computer-Aided Design, 28(11), 905 – 915. ISSN0010-4485. URLhttp://www.sciencedirect.com/science/article/B6TYR-3VVCJ37-D/2/617b07fa7328a8d7794070232e8878de.

37. Seong, J.-K., G. Elber, J. K. Johnstone, andM.-S. Kim (2004). The convex hull offreeform surfaces.Computing, 72(1-2), 171–183. ISSN 0010-485X.

38. Xu, J., Y. Feng, Z. Zheng, andX. Qing, A concave hull algorithm for scattered dataand its applications.In Image and Signal Processing (CISP), 2010 3rd InternationalCongress on, volume 5. 2010.

39. Yue, Y., J. Murray , J. Corney, andD. Clarkr (1999). Convex hull of a planar set ofstraight and circular line segments.Engineering Computations, 16(8), 858 – 875.

67

Page 81: ALGORITHM FOR BOUNDING HULLS OF A SET OF PLANAR …raman/Vishwanath_thesis-sub.pdfTHESIS CERTIFICATE This is to certify that the thesis titled ALGORITHM FOR BOUNDING HULLS OF A SET

LIST OF PAPERS BASED ON THESIS

• A.V.Vishwanath, Ramanathan Muthuganapathy Concave hull of a set of freeformclosed surfaces inR3 To appear in Computer Aided Design and Application ,2012

• A.V.Vishwanath, R.Arun Srivatsan , Ramanathan Muthuganapathy Concave andalpha hulls of a set of freeform planar closed curvesPresented in SIAM GeometricDesign / ACM Symposim on Solid and Physical Modeling, October,2011

• A.V.Vishwanath,R.Arun Srivatsan, Ramanathan Muthuganapathy Minimal areaenclosure and alpha hulls of a set of freeform planar closed curves Submitted toJournal Computer Aided Design

68