148
Construction of Medial Axis Transform of Domains Bound by Free-form Entities A Thesis Submitted for the Degree of Doctor of Philosophy in the Faculty of Engineering By M. Ramanathan Department of Mechanical Engineering Indian Institute of Science Bangalore – 560 012, India December 2003

Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Construction of Medial AxisTransform of Domains Bound by

Free-form Entities

A ThesisSubmitted for the Degree ofDoctor of Philosophyin the Faculty of Engineering

ByM. Ramanathan

Department of Mechanical EngineeringIndian Institute of ScienceBangalore – 560 012, India

December 2003

Page 2: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Abstract

The Medial Axis Transform (MAT) was first introduced by Blum to describe biological

shapes. It can be viewed as the locus of the centre of a maximal disk/ball as it rolls inside a

2D/3D object. Since its introduction, MAT has found use in a wide variety of applications

that primarily involve reasoning about geometry or shape. However, the usage of MAT has

been restricted to analytical shapes because of the lack of algorithms for free-form objects.

Existing algorithms that claim to handle free-form objects either discretise the nonlinear

entities into polygonal/polyhedral convex edges/faces or use a sampled point set. Using the

point set model instead of exact representation does not yield the correct geometry of the

MAT. When free-form faces are discretised into polyhedral convex faces, additional effort is

required in trimming and post-processing the generated MAT to be in conformity with the

topology of the original free-form object.

The focus of this thesis is on developing and implementing simple and efficient geomet-

ric algorithms for generating MAT of domains bound by free-form entities. The objective is

to use the exact representation of the domain boundary to obtain a discrete representation

of the MAT that is exact within the precision of computation. 2D, 2.5D and 3D objects

having free-form boundaries are considered.

An algorithm for generating MAT of planar domains having curved boundaries is

first described. The algorithm works by tracing the footpoint of a normal MAT point on

one edge given the footpoint on another edge. The algorithm replaces the intersection of

nonlinear bisectors (favoured by current art) with intersection of linear normals, thereby

reducing the computational effort and complexity considerably. Efficient distance check

methods have been proposed to identify branch points of the MAT. Computation of MAT

for extruded/revolved free-form objects is then addressed. The proposed algorithm uses the

2D MAT of the profile (that is extruded or revolved) to construct the MAT of the extruded

solid or the solid of revolution. It is shown that the MAT points of the profile face are

sufficient to determine the topology and geometry of the MAT of this class of solids. Finally,

an extension of the algorithm for computation of MAT in 2D to 3D (solids bound by free-

i

Page 3: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Abstract ii

form surfaces) is presented. This is perhaps the first time that a tracing technique has been

used to generate MAT for 3D free-form objects.

Results of implementation are presented, followed by a discussion of issues such as

complexity, stability of the numerical procedures and directions for future work.

Page 4: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Acknowledgements

First and foremost, I would like to thank my guide, Prof. B. Gurumoorthy, for providing

valuable guidance through the course of this research work. A long discussion with him has

recharged my batteries many a time. His efforts while correcting the several drafts of the

manuscript need to be greatly appreciated. Students under him enjoy a good amount of

freedom which results in a smooth environment for work. His profound calmness and ways

of handling various problems have not only influenced me but have earned him a special

place even among his faculty colleagues.

My heartfelt thanks to Prof. Udipi Shrinivasa for guiding me when Prof. Gurumoorthy

was on sabbatical. I would like to thank Prof. M. N. Srinivasan, for providing me the initial

impetus needed at the start of my research programme. I thank Chairman of the department

for his constant support. I also thank Prof. A. Ghosal and Dr. S. S. Krishnan for their help.

I thank this great institution, the Indian Institute of Science, for providing me with

the required facilities. I also take this opportunity to thank the Government of India for

funding this research and also to my guide who helped me find support during the later part

of this research programme.

This institute provides great freedom to her students, thereby facilitating their involve-

ment in activities like sports, music etc.. I was greatly involved in the art of mridhangam

playing. To this note, I would like to thank Lakshmisha, Sriram, Vinod, Jayanth (and fam-

ily), Prasad and others for providing a great musical environment. I can even say that I

developed lot of interest and knowledge in Carnatic music (one of the two forms of Indian

classical music, the other one being Hindustani) because of my stay in IISc, though I should

mention that I overdid it at times. I also take this opportunity to thank my gurus, Vidwan

Madurai V. Pushpavanum and Vidwan Bangalore V. Praveen, for having taught me this

wonderful art.

Thanks are due to my other music friends, Guruprasad, Karthik (both of them play

flute) and his wife Gayathri, and singers Ajith, Vinod, Brindha, Sivasankari, Veena, Sriram

and Hindustani vocalist Baburaj and others like Giri who made my stay in IISc a very

iii

Page 5: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Acknowledgements iv

pleasant one.

I would like to thank Senthil, without whom I am afraid I would not have continued

for my Ph. D.. It is due to his talking at the time of distress that helped me immensely. I

would also like to thank Narayanan, Ganesh, Archana, Naga, and Sundi in this regard.

Thanks to my lab mates Mani, Bandla, Reddy, Nagesh, Bindu, Chaitra, Kshama,

Anup, Jeetu, Himanshu, Sridhar, Praveen and other friends like Murali for providing me

a challenging environment to work in. Thanks to Gurusathya and his family for providing

some rich home cooked food items whenever I felt bored with my “mess” food. Thanks also

to Sethu and Anand (M1). But for them, I would not have gone to dinner several times in

the nearby hotels of this institute. Thanks are also due to the department office staff Lokesh

and Mrs. Sumathi for their help whenever needed.

I specially thank my parents who provided me all the education and support needed

for me right from my birth. Thanks to my wife Vidya, in-laws, grandmother, uncle and

aunt for their constant support and encouragement. I take this opportunity to thank my

T-mama’s family for supporting me in whatever form they could from day one of my stay

in Bangalore. Chandrasekhar, a great friend, was of great help to me during my marriage

proceedings. A special thanks to him.

Thanks to Ms. Shashikala, Ganesh, Naresh and Vidya for reading my thesis and

giving some valuable suggestions that I believe have improved the quality of the thesis both

technically and typographically.

Last but not the least, I would like to thank the Tea-board of IISc, for providing us

with great tea and that is the place where most of us had immense discussions on our research

work.

Page 6: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Contents

Abstract i

Acknowledgements iii

List of Figures ix

List of Tables xii

1 Introduction 1

1.1 Axial/skeleton representation . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Skeleton representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2.1 2.5D skeletons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2.2 Voronoi diagram/skeleton . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.3 Box skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.4 Mid-surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Medial axis transform (MAT) . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.2 Properties of MAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Problem statement and thesis scope . . . . . . . . . . . . . . . . . . . . . . . 8

1.5 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Literature review 12

2.1 Constructing bisectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Constructing MAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.1 Exact-Analytical representation as input . . . . . . . . . . . . . . . . 14

2.2.2 Tessellated representation of domain . . . . . . . . . . . . . . . . . . 19

2.2.3 Discrete representation: Input as point set . . . . . . . . . . . . . . . 22

v

Page 7: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Contents vi

2.2.4 Discrete input: Input as spatial decomposition . . . . . . . . . . . . . 26

2.2.5 Exact-Freeform: Numerical tracing of bisectors . . . . . . . . . . . . . 27

2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Preliminaries for computing MAT 35

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2 Classification of vertices and edges . . . . . . . . . . . . . . . . . . . . . . . 35

3.3 Classification of points on 2D MAT . . . . . . . . . . . . . . . . . . . . . . . 35

3.4 Classification of points on 3D MAT . . . . . . . . . . . . . . . . . . . . . . . 37

3.5 Distance and curvature criterion for 2D and 3D MAT . . . . . . . . . . . . . 39

3.5.1 Illustration of distance and curvature criterion . . . . . . . . . . . . . 40

4 MAT of planar domains with curved boundaries 42

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 Overview of algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3 Algorithm details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.1 Tracing step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.2 Check for branch point . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.3.3 Tracing from a branch point . . . . . . . . . . . . . . . . . . . . . . . 46

4.3.4 Handling a reflex corner . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.3.5 Handling smooth junctions between edges . . . . . . . . . . . . . . . 50

4.3.6 Termination of the algorithm . . . . . . . . . . . . . . . . . . . . . . 50

4.4 Illustration of the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.5 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.5.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5 MAT of 2.5D objects with free-form boundaries 63

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.3 Overview of algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.4 Theoretical background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.5 Algorithm details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.5.1 Identification of junction and seam points . . . . . . . . . . . . . . . 71

5.5.2 Finding other limit points . . . . . . . . . . . . . . . . . . . . . . . . 76

Page 8: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Contents vii

5.5.3 Seam identification between junction points . . . . . . . . . . . . . . 76

5.6 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.6.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6 Algorithm for 3D objects bound by free-form surfaces 84

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.2 Overview of the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.3 Algorithm details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6.3.1 Tracing step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.3.2 Checking for a junction point . . . . . . . . . . . . . . . . . . . . . . 88

6.3.3 Tracing from a junction point . . . . . . . . . . . . . . . . . . . . . . 89

6.3.4 Handling a reflex edge . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.3.5 Handling a smooth edge . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.6 Handling a reflex corner . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.7 Start of the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3.8 Termination of the algorithm . . . . . . . . . . . . . . . . . . . . . . 94

6.3.9 Determining the sheets . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.4 Illustration of the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.5 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.5.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

7 Contributions, future work, and conclusions 107

7.1 Summary of contributions made by the thesis . . . . . . . . . . . . . . . . . 107

7.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

7.2.1 Possible improvements in the algorithms described in this thesis . . . 108

7.2.2 Extension of 2.5D MAT algorithm to general 3D objects . . . . . . . 109

7.2.3 Generating mid-surface . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7.2.4 MAT on a free-form surface . . . . . . . . . . . . . . . . . . . . . . . 113

7.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Appendix 115

A. Determining a point on 2D MAT . . . . . . . . . . . . . . . . . . . . . . . . 115

B. Theory for generating MAT of 2.5D objects . . . . . . . . . . . . . . . . . . 117

Page 9: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Contents viii

B.1 Normal theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

B.2 Calculation of principal curvatures . . . . . . . . . . . . . . . . . . . 119

C. Determining a point on 3D MAT . . . . . . . . . . . . . . . . . . . . . . . . 121

C.1 Tracing a seam between three surfaces . . . . . . . . . . . . . . . . . 121

C.2 Surface–surface–curve . . . . . . . . . . . . . . . . . . . . . . . . . . 123

C.3 Point–surface–surface . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Bibliography 127

List of publications 135

Page 10: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

List of Figures

1.1 An object and its 2.5D skeleton. . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Difference between MAT (a) and Voronoi skeleton (b). . . . . . . . . . . . . 3

1.3 (a) Medial axis and (b) mid-curve. . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Boundary and its medial axis. . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1 Difference between MAT and bisector. . . . . . . . . . . . . . . . . . . . . . 30

2.2 No intersection point is found between bisectors B1 and B2 if some gap exists

[48]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3 Effect of discretising boundary on 2D MAT. . . . . . . . . . . . . . . . . . . 31

2.4 Effect of discretising boundary on 3D MAT. . . . . . . . . . . . . . . . . . . 32

3.1 Classification of points on 2D MAT. . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Classification of points on 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . 37

3.3 Distance criterion for 2D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.4 Distance criterion for 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.5 Curvature criterion for 2D MAT. . . . . . . . . . . . . . . . . . . . . . . . . 40

3.6 Curvature criterion for a 3D MAT point. . . . . . . . . . . . . . . . . . . . . 41

4.1 Parameterisation of edges. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.2 Existence of a branch point. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3 Violation of curvature condition. . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.4 Handling a reflex corner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.5 Tangential edges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.6 Illustration of the algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.7 MAT for test object 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.8 MAT for test object 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.9 MAT for test object 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

ix

Page 11: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

List of Figures x

4.10 MAT for a spiral shaped object. . . . . . . . . . . . . . . . . . . . . . . . . 55

4.11 MAT for a multiply-connected object. . . . . . . . . . . . . . . . . . . . . . 56

4.12 MAT for another multiply-connected object. . . . . . . . . . . . . . . . . . 56

4.13 MAT for an object having tangential edges. . . . . . . . . . . . . . . . . . . 57

4.14 MAT for test object 2 with step size 0.01. . . . . . . . . . . . . . . . . . . . 58

4.15 MAT for test object 2 with step size 0.1. . . . . . . . . . . . . . . . . . . . . 59

4.16 Representation of MAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.17 Branch point is obtained only by intersection of bisectors [16]. . . . . . . . . 61

5.1 Terminology for extruded objects. . . . . . . . . . . . . . . . . . . . . . . . . 64

5.2 Normal vector on extruded face. . . . . . . . . . . . . . . . . . . . . . . . . 66

5.3 Normals at the surface of revolution. . . . . . . . . . . . . . . . . . . . . . . 67

5.4 Geometric interpretation of normal curvature at p. . . . . . . . . . . . . . . 70

5.5 Junction points using branch points for extruded objects. . . . . . . . . . . . 71

5.6 Required span of revolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.7 Seam points using normal points for extruded objects. . . . . . . . . . . . . . 74

5.8 Smooth case and violation of curvature criterion. . . . . . . . . . . . . . . . 76

5.9 Seam between junction points. . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.10 MAT for test object 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.11 MAT for test object 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.12 MAT for a multiply-connected object. . . . . . . . . . . . . . . . . . . . . . . 79

5.13 MAT for a multiply-connected polyhedral object. . . . . . . . . . . . . . . . 80

5.14 MAT for an object having smooth boundary and LMPC in the profile edges. 80

5.15 MAT for an object of revolution. . . . . . . . . . . . . . . . . . . . . . . . . 81

5.16 Object having a degenerate junction point. . . . . . . . . . . . . . . . . . . 81

6.1 Identifying the tracing direction. . . . . . . . . . . . . . . . . . . . . . . . . . 91

6.2 Failure of curvature criterion in 3D. . . . . . . . . . . . . . . . . . . . . . . . 92

6.3 Illustration of the algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

6.4 Illustration of the algorithm (contd.). . . . . . . . . . . . . . . . . . . . . . . 97

6.5 Illustration of the algorithm (contd.). . . . . . . . . . . . . . . . . . . . . . . 98

6.6 Test object 1 and its 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.7 Test object 2 and its 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.8 Test object 3 and its 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.9 Test object 4 and its 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 101

Page 12: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

List of Figures xi

6.10 Test object 5 and its 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 101

6.11 Test object 6 and its 3D MAT. . . . . . . . . . . . . . . . . . . . . . . . . . 102

6.12 Multiply-connected test object and its 3D MAT. . . . . . . . . . . . . . . . . 103

6.13 MAT for test object 5 at different step sizes. . . . . . . . . . . . . . . . . . . 104

7.1 Medial axis for union of two 3D objects. . . . . . . . . . . . . . . . . . . . . 110

7.2 Medial axis for union of objects. . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.3 Medial axis for object obtained using difference operation. . . . . . . . . . . 112

Page 13: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

List of Tables

4.1 Time taken for generation of MAT for typical objects . . . . . . . . . . . . . 57

4.2 Time taken for generation of MAT for various step sizes . . . . . . . . . . . . 59

5.1 Time taken for generation of MAT for some 2.5D typical objects . . . . . . . 82

6.1 Time taken for generation of 3D MAT for typical objects . . . . . . . . . . . 105

6.2 Comparison of MAT point co-ordinates for single and double precision . . . . 105

xii

Page 14: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1

Introduction

1.1 Axial/skeleton representation

Describing a shape in terms of an arc called the ‘axis’ or ‘spine’, about which the shape is

locally symmetric, is called the axial representation of shapes [1]. The axis or spine is also

called ‘skeleton’ and hence the phrase ‘skeleton representation of shapes’1. Various skeletons

like medial axis transform (MAT), Voronoi skeletons/diagrams, box skeletons, mid-surface

and 2.5D skeletons are possible. In the literature, while there have been different skeletons

defined, the term ‘skeleton’ has become synonymous with MAT. In the following, different

skeletons that have been proposed in the literature are first discussed, followed by a detailed

description of MAT.

1.2 Skeleton representations

1.2.1 2.5D skeletons

A modelling tool available in most systems allows a solid to be constructed by defining a

profile and a span of extrusion along the normal to the profile plane. The profile defined

could be considered as a 2.5D skeleton of the resulting object. Each of the profiles in

Figures 1.1(b), 1.1(c) and 1.1(d) is a valid skeletal representation of the object shown

in Figure 1.1(a). Given the profile and the thickness along the normal, the object can be

reconstructed. However, such a representation is not always unique for a given object, and

hence cannot be defined formally. The 2.5D skeleton of an object could be useful in several

types of engineering analysis such as manufacturability analysis for net-shape manufacturing

of thin-walled parts, as in injection moulding and die casting [2].

1In the literature, both ‘skeleton representation’ and ‘skeletal representation’ have been used interchange-ably. In this thesis also, the two terms are used synonymously.

1

Page 15: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 2

(b) (c)

(a)

(d)

Figure 1.1: An object and its 2.5D skeleton.

Page 16: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 3

A

B C

D

F

E

B3

B1

A

B C

D

F

E

B3

B1

v1

v2

(a) (b)

Figure 1.2: Difference between MAT (a) and Voronoi skeleton (b).

1.2.2 Voronoi diagram/skeleton

A closely related structure to MAT is the Voronoi diagram/skeleton.

Let P = {p1, p2, ...., pn}, called sites, be a set of points in the two-dimensional Euclidean

plane. Voronoi region of pi denoted as V (pi), consists of all the points at least as close to pi

as to any other site [3].

V (pi) = {x : |pi − x| ≤ |pj − x|, ∀j 6= i} (1.1)

The set of all points that have more than one nearest neighbour form the Voronoi

diagram for the set of sites. Voronoi region and diagram can be elegantly defined using

halfplanes.

Definition 1.1 The halfplane h(ei, ej) is the set of points closer to ei than to ej.

Definition 1.2 Let S1 and S2 be two disjoint sets of elements. The Voronoi region V (S1, S2)

of S1 with respect to S2 is the set of all points closer to S1 than to S2.

In terms of half-planes, V (S1, S2) = ∪ei∈S1 ∩ej∈S2 h(ei, ej).

Definition 1.3 The Voronoi diagram VOD(S) of a set of elements S = {ei} is ∪ei∈SV (ei, S−ei).

Figure 1.2 shows the difference between MAT and Voronoi skeleton. It is clear that,

at any point on the Voronoi edge E-v1 (or E-v2) in Figure 1.2(b), the disk is not maximal

Page 17: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 4

A

E1 F1

B C

D A

E1 F1

B C

D

(b)(a)

Figure 1.3: (a) Medial axis and (b) mid-curve.

and hence does not satisfy the maximality condition of MAT. However, it can be observed

that, in the case of linear (polygonal/polyhedral) domains, MAT (refer Figure 1.2(a)) is a

subset of Voronoi diagram (refer Figure 1.2(b)) if the interior is considered as the domain

and MAT is a superset of the Voronoi diagram if the domain is exterior [4]. A detailed

discussion about the Voronoi diagram can be found in [5].

1.2.3 Box skeleton

Box skeleton, introduced by Sudhalkar et al. [2], is based on the box or L∞ norm instead

of the Euclidean norm that forms the basis for generating the MAT (refer definition 1.4).

It has been shown that this skeleton could be an alternative to MAT. This was born out

of digital thinning in image analysis. The objects can be thought of as being made out of

unit squares or pixels. The problem is to delete some of the pixels, such that the object is

thinner, and is an abstraction of the original. Possible applications of this skeleton include

numerical analysis of injection moulding, feature recognition in injection moulding design,

automatic mesh generation, and as an initial solution for finding critical points in tracing

the Euclidean skeleton (MAT).

1.2.4 Mid-surface

Another skeleton, mid-surface [6], a variant of MAT, has been shown to be useful in various

applications and reflects the geometry of an object to a greater extent than MAT. The 2D

counterpart of the mid-surface is referred to as the mid-curve [7]. Figure 1.3(a) shows the

MAT and Figure 1.3 (b) shows the mid-curve of a 2D domain. The mid-surface abstracts

the shape well when the wall thicknesses in the part are small. It therefore finds extensive use

in abstracting models for use in simulation of near-net processes such as injection moulding,

where the typical parts are thin-walled and the simulation requires surface models.

Page 18: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 5

1.3 Medial axis transform (MAT)

The medial axis transform was first introduced by Blum [8, 9] to describe biological shapes.

It can be viewed as the locus of the centre of a maximal disk as it rolls inside an object.

1.3.1 Definition

Definition 1.4 The medial axis (MA) of the set D, denoted M(D), is defined as the locus

of points inside D which lie at the centres of all closed disks (or balls in 3-D) which are

maximal in D, together with the limit points of this locus. A closed disk (or ball) is said to

be maximal in a subset D of the 2D (or 3D) space if it is contained in D but is not a proper

subset of any other disk (or ball) contained in D. The radius function of the MA of D is a

continuous, real-valued function defined on M(D) whose value at each point on the MA is

equal to the radius of the associated maximal disk or ball. The medial axis transform (MAT)

of D is the MA along with its associated radius function.

The boundary and the corresponding MAT of an object are shown in Figure 1.4(a).

If the boundary segments of the object consist of only points, straight line segments and

circular arcs, then the MAT segment is one of the conic sections [10]. Figure 1.4(b) shows

the MAT for a 3D object.

It should be noted that alternate definitions based on grassfire propagation, offsets and

other interpretations of MAT are possible [11]. In this thesis, the above definition is used

for generating MAT.

1.3.2 Properties of MAT

An important characteristic of MAT is that it can be used to simplify the original object

and still retain the original object’s information. For instance, the two-dimensional MAT

defines a unique, coordinate-system-independent decomposition of a planar shape into curves

and the three-dimensional MAT simplifies a solid model into a collection of surface patches.

MAT of an object is also called the symmetric axis transform of a part/shape.

Properties of MAT include:

• Uniqueness [12]: There is an unique MAT for a given object.

Page 19: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 6

pq

Maximal sphere(b)(a)

A

B C

D

E F

Figure 1.4: Boundary and its medial axis.

• Invertibility [13]: With the axis and its radius function one can reconstruct the

object by taking the union of all circles centred on the points on the medial axis. The

radius function defines the radius of the circle at each point.

• Dimensional reduction [14]: The dimensionality of a MAT is at least one lower

than that of the object.

• Homotopical equivalence [15]: A MAT is homotopically equivalent to its object.

That is, the number of holes and enclosed voids remain the same.

• Bijective mapping [16]: There exists a bijective mapping between the object bound-

ary and its MAT. This means that for every point on the object boundary there is a

unique point on the MAT. Also for every point on the MAT, there exists corresponding

points on the boundary of the object. Such a correspondence has been well exploited

in generating meshes for an object using the corresponding MAT [17].

1.3.3 Applications

Since its introduction, the MAT has found use in a wide variety of applications that primarily

involve reasoning about geometry or shape. The MAT has been used in pattern analysis

Page 20: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 7

and image analysis [18, 19]. Blum and Nagel proposed the MAT as a tool for describing 2D

shapes [12] which was then extended to 3D shapes [20]. The medial axis and medial surface

(3D MAT) have proven to be an useful tool for finite element mesh generation [21, 22] of

objects. The radius function, which provides ‘local size’ information of the object, is useful

for generating coarser or finer mesh, which is not directly available from B-rep. It has been

found useful in path generation for pocket machining [23] and robot motion planning [3].

MAT can also be used for model simplification for engineering analysis. Two fun-

damental simplification techniques are dimensional reduction and detail suppression. By

providing a reduced dimensional representation of an object, the MAT can assist in ab-

stracting a complicated shape to a simpler one. For instance, a complicated 3D shape might

be more simply represented as a swept polygon or thickened sheet. Geometric detail may be

suppressed with the assistance of medial axis, thus improving the performance of the anal-

ysis without significantly affecting the results [14, 24, 25]. There exists a bijective mapping

between the MAT and object boundary, which means that for an object, there is a unique

MAT and it is possible to reconstruct the object given its MAT [13, 26, 27]. This property

leads to more applications in engineering like mould design [28]. Further applications of

MAT in engineering analysis include VLSI design [29], design rule checking for sheet metal

components [30], shape blending [31] and process planning in solid free-form fabrication

[32].

MAT can potentially be used as a representation scheme in geometric modellers, along

with more popular schemes, such as constructive solid geometry (CSG) and boundary repre-

sentation (B-rep) [15]. More importantly, dimensional reduction and topological equivalence

make the MAT a simplified, abstract representation of the geometry. Since the MAT also

provides details with respect to the symmetry of the object, it can be used in applications

like shape smoothing [33].

Unlike for MAT/Voronoi diagram, no formal definition exists for other skeletons. These

skeletons are defined by the procedures used to construct them [2, 6]. Box-skeleton can be

viewed as a mid-surface that is obtained using a thinning procedure (which is commonly

applied in image analysis) while mid-surface can be viewed as a special case of 2.5D skeleton

applied to the object in the thinner direction (which itself needs an appropriate defini-

tion). Lack of proper definition hampers the development of algorithms for generating such

skeletons for an object. A formal definition of MAT backed by its capability in various

applications has served as motivation to develop algorithms for generating MAT in various

domains. However, lack of proper algorithms for generating MAT for general objects hinders

Page 21: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 8

its use in real applications. In this thesis, generation of MAT has been considered.

1.4 Problem statement and thesis scope

The focus of this thesis is on developing and implementing simple and efficient geometric

algorithms for generating MAT of domains bound by free-form entities. 2D, 2.5D and 3D

objects with free-form boundaries are considered.

The existing approaches can be categorised according to the representation of the part

that is taken as input and the representation of the corresponding MAT that is output.

There are two constituents in the output - the geometry and the topology or con-

nectivity of the MAT. Geometry of the MAT refers to the representation of the underlying

geometric entities (curves, surfaces) corresponding to the entities in the MAT. Topology of

the MAT refers to the connectivity between the various MAT segments of the object. Topol-

ogy of the MAT can also be characterised by the pair/set of boundary entities in the object

that correspond to a segment in the MAT.

The input part model can be classified into the following:

• Exact representation - Here the geometry of the entities in the part boundary is rep-

resented exactly in the form of curve/surface equations. When the entities are repre-

sented by analytical equations, the representation is referred to as Exact-Analytical.

Otherwise the representation is referred to as Exact-Freeform.

• Tessellated representation - Here the boundary of the part is approximated by linear

entities such as edges and triangles/polygons.

• Discrete representation - Here the object is represented by a set of points sampled

along the part boundary or a cell decomposition of the object.

The latter two representations are approximate representations of the domain. The

representation of the MAT that is output can also be classified as follows:

• Continuous-Exact representation - Here the geometry of the entities in the MAT is

represented exactly in the form of curve/surface equations and points on the entities

satisfy the definition of MAT with respect to the exact representation of the part. The

topology of the MAT is correct.

Page 22: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 9

• Continuous-Approximate representation - Here the geometry of the entities in the MAT

is represented in the form of curve/surface equations. However, the points on these

entities may not satisfy the definition of MAT with respect to the exact representation

of the part. The topology of the MAT is also incorrect.

• Discrete-Approximate representation - Here the MAT is represented by a set of points

that may not satisfy the definition of MAT with respect to the exact representation of

the part. The topology of the MAT may or may not be correct.

• Discrete-Exact representation - Here the MAT is represented by a set of points that

satisfies the definition of MAT with respect to the exact representation of the part

to within the precision available for computations. The topology of the MAT is also

correct.

Continuous-Exact output of the MAT has been possible only where the input repre-

sentation has been Exact-Analytical. For example, when the input contains line segments

and circular arcs, the output of the MAT has Continuous-Exact representation [21]. It may

be noted that the equations representing the MAT entities are also analytical.

When the input is Exact-Freeform, most approaches in the literature convert the input

to one of the approximate representations, either Tessellated or Discrete. When the input is

Tessellated, the MAT output is Continuous-Approximate. Hence, additional effort is required

in trimming and post-processing the generated MAT to be in conformity with the topology

of the original free-form object (see Figures 2.3 and 2.4). Otherwise, the additional MAT

segments distort any reasoning based on MAT. For finite element applications, such a MAT

representation may be sufficient whereas exact representation of the part has to be used

while constructing the MAT in applications such as casting, injection moulding etc., where

the geometry of the part has to be reconstructed from the MAT.

Using the Discrete representation of the object as input, a Discrete-Approximate rep-

resentation of the MAT is obtained. Algorithms using the Discrete representation usually

claim that a Discrete-Exact representation of the MAT can be obtained if the resolution of

sampling/cell size tends to zero. A few algorithms claim that the topology of the MAT is

captured correctly from the Discrete representation [22].

In this thesis, emphasis is placed on constructing MAT for Exact-Freeform objects.

In the remainder of the thesis, the terms Exact/exact representation and free-form are used

to refer to the classification Exact-Freeform. The output of the MAT is Discrete-Exact.

Using the exact representation of the part for constructing the MAT also eliminates the

Page 23: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 10

need for additional processing required to remove the artificial segments that may arise due

to discretisation of the curved entities into polyhedral entities or the need for optimisation

to get the near-exact geometry in case of point set models.

This thesis addresses the following issues.

Construction of MAT of planar domains with curved boundaries

Algorithms for computing MAT of planar domains having curved boundaries have been a

hot topic of research of late and present numerous difficulties for researchers to arrive at

robust and efficient algorithms. Recently, bisector-based approaches have been developed

[16, 34]. However, this method requires intensive computations such as robust curve–curve

intersection procedure. In this thesis, a tracing technique based on the local intersection of

normals is proposed which replaces the intersection of bisector approaches used currently. It

has been shown that this algorithm is more efficient. Results of implementation are provided.

Most of the current 2D techniques are not easily extendable to 3D. However, in this thesis,

it is shown that this 2D MAT algorithm is easily extendable to 3D domains.

Construction of MAT of extruded/revolved free-form objects

In this thesis, a simple method is proposed for generating MAT of free-form extruded/revolved

objects from the MAT of the profile faces. The corresponding transformations of the MAT

of the profile face are used to get the 3D MAT of the object itself. It is shown that the MAT

points of the profile face are sufficient to determine the topology and geometry of the MAT

of this class of solids. Results of implementation are provided. Extension of this algorithm to

handle general 3D solids that are obtained by Boolean combinations of this class of objects

has also been discussed. This would enable the construction of MAT for objects in many

application areas like casting, where objects are a combination of 2.5D objects/features.

Construction of MAT of 3D objects bound by free-form surfaces

This algorithm is an extension of the tracing technique used for 2D MAT generation to

3D domain. Perhaps, this is the first time that a tracing technique for computing MAT of

3D free-form objects has been proposed. In a manner analogous to the 2D algorithm, the

algorithm finds the intersection of the normals to the surfaces to find points on the boundary

of the medial surface. These are used to construct the topology of the medial surface and

then points on the medial surface patches are determined.

Page 24: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 1. Introduction 11

1.5 Outline of the thesis

Chapter 2 of this thesis presents an overview of the existing approaches followed by a de-

tailed literature review and its summary. Chapter 3 presents the preliminaries required for

generating algorithms for MAT of free-form objects. In chapter 4, an algorithm for gener-

ating MAT of planar objects having curved boundaries is addressed. Chapter 5 describes

the computation of MAT for extruded/revolved free-form objects. Chapter 6 describes the

computation of MAT for 3D objects bound by free-form surfaces. Chapter 7 summarises the

contributions and concludes with directions on future work.

Page 25: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2

Literature review

In this chapter, a detailed review of the literature in techniques used for computing both

2D and 3D MAT is presented. Related work on constructing bisectors of entities in 2D and

3D is reviewed first as this forms the basis for several approaches to construct MAT. The

chapter then concludes with a summary.

2.1 Constructing bisectors

The MAT was first introduced and explored by Blum [8, 9] to describe biological shape. Soon

after its introduction, various algorithms for computing the MAT were developed. From the

definition of MAT, it is clear that MAT entities are closely related to the bisectors between a

pair of entities on the domain boundary. A bisector is an entity which can be defined as being

equidistant between a pair of entities (vertices/edges in 2D or vertices/edges/faces in 3D). A

Continuous-Exact representation of MAT is therefore achievable only if it is possible to obtain

a continuous description of the bisector of pairs of boundary entities of the domains. In 2D

and 3D, these pairs would consist of edges and concave vertices, and faces, concave edges

and concave vertices, respectively. In the literature, it has been shown that a continuous

description of the bisector is possible only for a few special cases [35, 36].

Bisector for 2D objects

In this section, as well as in the next one, some related work on constructing bisectors of

entities is reviewed as this forms the basis for several approaches to construct the MAT.

Farouki and Johnstone [35] have presented an algorithm for computing the bisector of

a fixed point p and a regular parametric curve r(u). Initially, the untrimmed bisector (which

is simply the locus of points on the “curve normal lines” [35] that are equidistant from each

curve point r(u) and the given point p) is calculated. A distance function to calculate the

12

Page 26: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 13

distance between a point q and r(u) is proposed and is defined as dist(q, r(u)) = inf |q−r(u)|for all u ∈ I, the parameter interval for the curve. True bisector is then defined as follows:

The bisector B(p, C) of a fixed point p and a plane curve C is the locus traced by a point

that remains equidistant with respect to p and C, in the sense of the above mentioned

distance function. Points on untrimmed bisectors are identified using equations derived for

polynomial and rational curves respectively. Local critical curvature points, class points and

circular points of the curve (a point of the curve r(u) is a class point if the tangent line at that

point passes through the fixed point p and is called circular point if the circle of curvature

at that point passes through p) are then identified. For each segment on the untrimmed

bisector delineated by those special points, the distances of the segment midpoint and the

curve is compared and that segment is discarded if these distances are unequal. Then the

critical points (a point q on the untrimmed bisector is a critical point if the circle (centred at

q and radius |q−p|, where p is the fixed point) at that point is tangent to r(u) at two or more

points) are identified (it is proved that a point on the untrimmed bisector is a critical point if

and only if it is a self-intersection of the untrimmed bisector). Each remaining segment (i.e.

the segments that remain after delineation using class and circular points) of the untrimmed

bisector is split at these self-intersections. For each of the resulting segments, distances

of the midpoint to that point and the curve are compared and the segment is discarded

if they are unequal. The remaining segments constitute the true bisector. It has been

acknowledged that the main difficulty in computing point/curve bisectors is undoubtedly

the ‘trimming’ (trimming here refers to the formation of true bisector from the untrimmed

bisector) procedure.

Elber and Kim [36] present a symbolic representation scheme for planar bisector curves

that allows the construction of bisector curves using B-spline subdivision techniques. Given

two planar curves C1(t) and C2(r) represented in polynomial/rational form, a bivariate poly-

nomial function F (t, r) is computed, the zero-set of which corresponds to the bisector curves.

Three different ways of deriving the bivariate functions Fi(t, r) are described. The determi-

nation of the zero-set is essentially a computational procedure that requires finding all the

points along the intersection curve between the graph surface Si(t, r) = (t, r, Fi(t, r)) and the

tr-plane, which is treated as a special case of the surface–surface intersection (SSI) problem.

The SSI is done using an adaptive subdivision method. Since the bivariate functions Fi(t, r)

can be symbolically computed and represented as a polynomial or rational function, their

zero-set results in a function of moderate degree when compared to bisectors obtained as

an implicit algebraic equation. Their algorithm also computes the bisector of a curve with

Page 27: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 14

itself, or the self-bisector.

Bisector for 3D objects

Elber and Kim [37] proved that the bisector between a point and a rational space curve is

a rational ruled surface. They also derived the bisector between two rational space curves

and showed that it is also a rational surface except for the degenerate case in which the

two curves are coplanar. In general, the bisector surface of two space curves can be used

to compute the bisector surface of two canal surfaces which are generated by sweeping two

spheres of the same fixed radii along the two space curves. Since the bisector between two

planar rational curves is not rational in general [35], they propose two methods to handle

them. They have also proved that the bisector between a point and a rational surface is also

rational [38]. A direct implication of the previous statement is that the bisector between a

sphere and a surface with rational offset is also a rational surface (this bisector is however

determined by reducing it to identifying a bisector between a point and a rational surface).

They have also extended the special configurations of constructive solid geometry (CSG)

primitives in [39] and showed that a rational description is possible in some more cases such

as that of the bisector between two circular cones [40].

From the above, it can be seen that a Continuous-Exact description of the MAT is

possible only for a restricted set of domains. For all other domains, the MAT obtained is

available in Continuous-Approximate, Discrete-Approximate or Discrete-Exact representa-

tion (section 1.4). There have been several efforts reported for the construction of MAT.

These approaches can be classified based on, the representation of the domain that is used

as input, description of MAT that is generated, and the techniques used for constructing the

MAT. The description of the output MAT is dependent on the approach used and this in

turn depends on the input representation of the object. In the following, existing methods

are discussed based on the type of representation of the domain used as input.

2.2 Constructing MAT

2.2.1 Exact-Analytical representation as input

For Exact-Analytical input, a continuous description of the MAT is possible only if it is

possible to obtain a continuous description of the bisector of a pair of edges/faces in 2D/3D

respectively. As discussed above, it is possible to obtain a continuous description of the

bisector only for a few special cases. In 2D, for a point and a rational curve in a plane,

Page 28: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 15

the bisector is a rational curve [35]. However, for the case of coplanar curves (polynomial

or rational), the bisector has been shown to be algebraic but not rational [35]. In 3D,

rational description or a closed-form rational representation is proven to be available only

for certain special cases – between two rational space curves [37] and for CSG primitives in

special configurations [39, 40, 41]. Bisector surface between two rational surfaces in R3 is

non-rational, in general [40]. Also, the bisector of simple geometries is not always simple.

While the bisector of two lines in the plane is a line, the bisector of two skewed lines in R3

is a hyperbolic paraboloid of one sheet [38].

Polygons (linear/curvilinear): Divide and conquer approach

Lee’s [42] algorithm for a simple polygon G with non-convex corners is based on the “divide

and conquer” method. It is shown here that the medial axis of G is the set of Voronoi edges

less the edges incident at the reflex vertices. The algorithm takes as input a sequence of

vertices of the simple polygon, each represented by its x- and y-coordinates, and partitions

the set of vertices into chains. Then the Voronoi diagram of each chain is computed. Next

these Voronoi diagrams are merged two at a time. A binary merge tree is suggested where

the leaves are the Voronoi diagram for chains and the internal nodes represent the Voronoi

diagram for the elements in the corresponding subtrees. Thus the root of the binary merge

tree represents the final Voronoi diagram of the simple polygon. The complexity of this

algorithm is O(N log N), N = n + m, where ‘n’ is the number of edges and ‘m’ is the

number of reflex vertices present in the object. It is shown that the Voronoi diagram of a

simple polygon is planar and has at the most 2(n + m) − 3 Voronoi edges and n + m − 2

Voronoi points. This is proven using the fact that the Voronoi polygon is path-connected.

Srinivasan and Nackman [43] presented an O(nh + n log n) algorithm for multiply-

connected polygons with ‘h’ holes. The algorithm does this by computing the individual

Voronoi diagrams and merging them. Initially, the Voronoi diagram of the outer boundary

is computed. Sorting of inner boundaries is done next. Voronoi diagram of each of the

inner boundaries is computed first. Then the merge curve is computed between the Voronoi

diagram of the inner boundary and the merged Voronoi diagram computed thus far. The

extraneous portion of the original Voronoi diagram is then discarded thus obtaining the

new merged Voronoi diagram. The Voronoi diagrams of the outer and inner boundaries are

computed using a simple extension of Lee’s [42] algorithm. Generally, computing the merge

curve is done by first finding the starting point on the curve and then traversing the merge

curve starting from that point. In this paper, a simple method is proposed for finding a

Page 29: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 16

starting point by exploring the properties of the Voronoi diagram for multiply-connected

polygonal domains. It is proved that under certain conditions, merge curves are simple,

closed curves by showing that under these conditions Voronoi regions are simply-connected,

path-connected and bounded. The implementation details and an application (in which

equivalent resistance networks are derived from a B-rep of two-dimensional VLSI geometry)

of this algorithm are described in a companion paper [29].

Kim et al. [10] describe a divide and conquer method for constructing the Voronoi

diagram of a simple polygon consisting of points, lines segments and/or arcs which are

restricted to lie in a plane. The Voronoi diagram is computed using the bisectors that arise

out of the various entities present in the polygon. Since there are only three types of elements

– points, lines and arcs, only six combinations of bisector elements need to be considered. For

these three elements, it is shown that the bisector can be a linear, parabolic, hyperbolic or

elliptic arc. An effective region determines the corresponding bisector between two elements.

In this paper, particular emphasis is placed on the representation of bisectors using rational

quadratic Bezier curve. This enables a unified representation for the four different bisectors.

It is claimed that this facilitates in computations of intersections.

Wavefront approach

Held [44], in his paper, has proposed a wavefront propagation algorithm for generating

MAT of curvilinear objects consisting of points, lines and circular arcs and compared the

performance of his algorithm with that of Lee’s [42]. In the first step, a bisector b(o1, o2)

between each pair of consecutive contour objects is computed. In the second step, for every

triple o1, o2, o3 of consecutive contour objects, the corresponding contour bisectors b(o1, o2)

and b(o2, o3) and their intersections are computed. In the third step, a subset of these

intersections is selected as possible candidates for subsequent wavefront propagation. An

intersection between two bisectors is a suitable candidate if and only if no other intersection

with a smaller contour clearance is associated with either of the two bisectors. All candi-

dates are stored in a priority queue whose items are ordered according to increasing contour

clearance. After the priority queue is initialised, the actual wavefront propagation starts.

Merging operation begins with the first element in the queue. While processing, an inter-

section point needs to be stored if the actual front end of the priority queue corresponds to

an intersection which has a smaller clearance than the new intersection. Otherwise, the new

intersection can be accepted without any further manipulation of the queue. This subse-

quent accepting and computing of intersection until an insert into the queue takes place is

Page 30: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 17

called a ‘run’. Individual runs are carried out until the final Voronoi diagram is eventually

constructed. As a termination condition, it is sufficient to check the defining contour objects

of the bisectors intersected by the merge bisector: the construction process is finished if two

coinciding intersections exist and if the bisectors intersected by the merge bisector share a

defining contour object. The polygonal version of the algorithm has been compared with

Lee’s and is shown to be faster. The algorithm has also been extended to compute offset

curves.

It is to be noted that, in both Lee’s as well as Held’s algorithm, the number of bisec-

tor intersections computed is proportional to the number of bisectors computed during the

execution of the algorithm. It is claimed that the wavefront algorithm computes only about

4–5% more bisectors than actually contained in the final Voronoi diagram whereas the divide

and conquer algorithm computes about 30% or more bisectors in excess. This is one reason

why these methods cannot be easily extended to objects consisting of free-form boundaries.

Another difficulty in extending either algorithm to handle general types of contour segments

is in the mathematical handling of more complicated bisectors and of their intersections,

which get substantially more difficult.

Polyhedral: Numerical tracing

Sherbrooke et al. [45] have presented an algorithm for computing the MAT of 3-D polyhedral

objects. The algorithm is based on a classification scheme which relates different parts of

the MAT to one another and also provides a continuous representation of the MA and

the associated radius function. The algorithm is based on offset sweeping of the boundary

segments and, using these, the tangent to the seam curve is defined. The algorithm traverses

a seam by integrating a system of differential equations that describes the seam using an

adaptive-step fourth-order Runge–Kutta method with checks at each step to determine if

there is another element about to become active. Implementation details like distance check

and determination of step sizes are discussed. When the seam reaches a junction point, the

triplets of entities corresponding to the other seams at the junction point are identified and

the corresponding seams are obtained. Each seam is tested for feasibility and degeneracy.

The completeness of the algorithm is proven and the representation of seams and sheets

is addressed. The algorithm has an average complexity of O(ns(n + s) log n), where ‘n’ is

the number of boundary entities, ‘s’ is the number of steps along each seam, and ‘ns’ the

number of seams. Stability of the algorithm is also discussed. This algorithm works for

multiply-connected faces (though they are converted into simply-connected faces) and is an

Page 31: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 18

extension of the algorithm in [46] where it is applied to only simply-connected faces. They

[45] acknowledge that the scheme for classification of the terminal points of MAT for solids

with curved boundaries is more complicated. They indicate that it is possible to develop

a connectivity scheme similar to the one that they have developed for polyhedral objects.

However, formulating the equation for the tangent to the seam based on offset sweeps of

three free-form surfaces would appear to be difficult. The resulting formulation could also

lead to equations that are highly intractable. In this thesis, an algorithm for generating

MAT for free-form objects is proposed using a similar tracing scheme. However, points on

the seam are generated by traversing on the boundary and not on the tangent to the seam.

MAT construction using influence region/zone

Joan-Arinyo et al. [47] have presented an algorithm for computing MAT of 2D polygonal

domains by tracing its paths. A path is defined as the subset of the medial axis such that

all its points are generated by the same set of governors (boundary segments). A transition

point is a medial axis normal point (having two governors) where one of the two governors

changes. Hence a path is bound by two keypoints (keypoint can be an end point, a branch

point or a transition point). The algorithm starts from a convex vertex. If an initial keypoint

is known, only the final keypoint needs to be computed to trace the path. Computation of

candidate final keypoints depends on the nature of the two governors. The concept of

influence region (Voronoi region for an edge ‘e’ and vertex ‘v’) is used to determine the

candidate keypoints. The algorithm uses the analytical definition of bisectors available for

points (vertices) and open line segments to compute the Voronoi diagram. Once a candidate

final keypoint is determined, its validity is checked. Essentially it is checked if the disk at

this point intersects the boundary or not. If there are no intersections, the keypoint is a

valid one; otherwise, the intersecting boundary element closest to the path starting keypoint,

together with the path governors, defines a new keypoint. New paths are initiated from each

keypoint. The medial axis is generated in the form of a graph whose nodes are medial axis

keypoints and edges are medial axis paths bound by two keypoints.

Extension of this approach to handle domains with free-form entities runs into difficul-

ties because analytical definitions of the bisectors of the boundary entities are not available.

Moreover, intersection between a disk and free-form boundary segments may pose compu-

tational problems. However, the idea of starting from a convex vertex and controlling the

tracing by the keypoints (branch points/junction points) is similar to that proposed in this

thesis.

Page 32: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 19

Chang et al. [48] have presented an algorithm for constructing MAT of 3D polyhedral

objects. Concept of influence zone which is similar to the influence region in [47], is used

to localise the generation of MAT. The influence zone is defined as the region bound by a

concave boundary element, either a concave vertex or a concave edge, and a set of surfaces

which are perpendicular to the adjacent boundary elements of this concave element. It has

been proved for a planar domain that any nonlinear medial surface section, if it exists, re-

sides inside an influence zone. Initially, the object is divided into sub-objects using influence

zones. MAT is then constructed for each region. The advantage of such an approach is

that finding the terminal point on MAT segments is efficient since the search for bound-

ary elements required to determine a junction point is localised. Also, since this method

uses the intersection between the influence shell and a nonlinear bisector to determine the

terminal points on that bisector, it alleviates the difficulties in the accurate computation

of the intersection of nonlinear bisectors. However, the use of influence zone still involves

the generation of additional bisector segments with the consequent additional effort in in-

tersecting the bisectors to trim them. Also, this algorithm requires stitching of individual

bisector elements to get the complete MAT. While the approach has been discussed for 3D

polyhedra, no results of implementation are provided. Extension of this algorithm to 3D

free-form objects looks unlikely without discretising into polyhedral boundary elements.

MAT of 3D objects

Dutta and Hoffmann [39, 41] present a mathematical approach for obtaining a closed form

solution for constructing MAT of CSG primitives consisting of planes, natural quadrics and

torii in certain configurations. The procedure outlined involves construction of Voronoi

surfaces (to identify equidistant points) for each pair of boundary entities, and trimming

these Voronoi surfaces by other Voronoi surfaces. The nature of surfaces in the primitive

solids is used to simplify the computation in the construction of the Voronoi surfaces to

the solution of algebraic equations. The trimming of these Voronoi surfaces is however,

non-trivial. Construction of these trim surfaces has been discussed but no implementation

results are provided.

2.2.2 Tessellated representation of domain

Since a continuous description of the MAT is possible from a continuous representation of the

part only for the case of polygons/polyhedra where the boundary consists of linear segments,

MAT for a free-form object has been obtained after converting it to a tessellated solid model

Page 33: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 20

[49]. In this case, much of the effort is in identifying or obtaining the correct topology of the

MAT.

Wavefront approach

Gursoy and Patrikalakis [21] developed an algorithm to compute the MAT of a multiply-

connected planar region bound by circular arcs, and non-uniform rational B-spline (NURBS)

curves. NURBS curves, however are approximated by straight line segments. Their algo-

rithm is based on an offsetting process directed towards the interior of a shape which is

analogous to the propagation of a grass-fire wavefront towards the interior of a shape. The

offset at a distance ‘h’ of the boundary B of a planar region R is the envelope of the union of

all closed circular disks of radius ‘h’, the centres of which are points of B. The inward offset is

used for MAT generation. The main tasks in their algorithm are the determination of inward

offset distances and the associated branch points. Three distinct types of branch points are

determined analytically by appropriate intersections of the bisectors. Intermediate branch

points are computed using the consecutive boundary triplets whereas initial branch points

are identified using tangent intersection of two non-adjacent boundary contours. The final

branch point is a special case of an intermediate branch point and indicates the end of the

offset process. The set of branch points so computed is used to identify valid branch points.

Each MAT segment is then identified analytically using the appropriate straight/conic sec-

tions defined between two boundary elements. Approximation of NURBS by straight lines

generates artificial MAT segments and these are eliminated using a threshold technique.

MAT thus generated is used as a coarse discretisation to generate finite element meshes

automatically. The MAT algorithm has a worst-case complexity of O(n3). The implemen-

tation details and extension of the algorithm to trimmed surface patches is presented in a

companion paper [50]. It is quite evident that this algorithm is very complex if it is used

for generating MAT of free-form objects. Moreover, each MAT segment cannot be identified

analytically as it has been done here.

Divide and conquer approach

Kao [32], in his thesis, has presented an approach based on clearance functions associated

with object boundary to compute 2D medial axis transform. The clearance function at a

point on the boundary is the radius of the maximal inscribed disk that touches this point. The

clearance function at a point on the boundary is the infimum of the set of bisecting distances

for all pairs of boundary points that contain this point. A divide and conquer strategy has

Page 34: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 21

been used to find the infimum. However, the effort in finding the set of bisecting distances still

remains high. An additional effort of finding the closest bisecting distance between points on

the outer and inner loops is required when handling multiply connected domains. Though

the algorithm is described for general 2D shapes, the objects are discretised into curvilinear

polygons. The nonlinear boundary entities are approximated with tangent continuous bi-arc

splines. This is due to the fact that the computed bisecting distances for the approximation

can be done analytically. In this algorithm, only the clearance function is computed and a

separate procedure is needed to convert the clearance functions to the medial axis. In this

approach therefore, the clearance function along with the geometry of the object boundary,

defines the medial axis transform of an object. The approximation of smooth shapes affects

the geometry of the computed medial axis.

Tracing method

Culver et al. [49] have presented an algorithm based on the classification of MAT points

as described in [45] using exact arithmetic instead of floating point arithmetic. In exact

arithmetic, each number is determined and stored to whatever precision is necessary. It

has been proven to be useful in the linear domain but in the nonlinear domain, it becomes

more difficult to apply effectively. This is because computations on nonlinear objects often

require algebraic numbers which cannot be explicitly represented by a finite number of bits.

It is indicated that the algebraic numbers could be represented as the root of a polynomial

(with rational coefficients) within a rational tolerance. Multivariate Sturm sequences or field

extensions are needed to achieve this. Their algorithm constructs the adjacency graph of

the medial axis while traversing it instead of piecewise linear approximations as in [45].

The sheets correspond to trimmed quadric surfaces, seams are algebraic curves with rational

coefficients and the junctions are points whose co-ordinates correspond to algebraic numbers.

The junction points are determined, not by taking tiny steps along the seam, but on accurate

topological analysis of the curve. Since the application of exact arithmetic tends to slow

down the process, several methods to improve the efficiency of the algorithm are proposed.

Non-convex polyhedra are converted to convex polyhedra and multiply-connected faces are

converted into simply-connected faces. These result in additional processing to obtain the

exact topology and geometry of MAT. Moreover, the extension of this algorithm to free-form

objects looks impossible without discretising these objects.

Foskey et al. [51], in their paper, presented an algorithm for a simplified medial

axis called θ-SMA that is parameterised by a separation angle (θ) formed by the vectors

Page 35: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 22

connecting a point on the medial axis to the closest points on the boundary. A formal

characterisation of the degree of simplification of the θ-SMA as a function of θ is presented

based on the reconstruction property of the medial axis. The original volume of the object is

compared with the volume of the reconstructed object θ-SMA and a relation between them

has been derived as a function of θ. An algorithm based on the spatial subdivision technique

that uses uniform voxel grid as well as an adaptive subdivision of space has been presented.

This algorithm also uses fast computation of distance field and its gradient. Techniques that

improve the quality of approximation by using smoothing operations, and accelerate the

performance of the overall algorithm have been presented. The complexity of the algorithm

is shown to be a linear function of the input size. Though the algorithm appears to be fast, θ-

SMA does not, in general, preserve topological properties like connectedness and homotopy.

It has been argued that θ-SMA is useful in applications like dimensional reduction and mesh

generation. However, it appears that the reconstructed object using θ-SMA will not be close

to the original object topologically and geometrically.

2.2.3 Discrete representation: Input as point set

The domain in consideration is represented as a point set that is obtained by sampling the

boundary of the domain or cells obtained by a spatial decomposition of the domain. For

point set models [22, 52, 53, 54, 55, 56], MAT is computed based on the idea that the

circumspheres of the Delaunay triangulation of the point set approximate maximal spheres.

Cell decomposition methods [4, 51, 57, 58] discretise the domain into octrees. This method

has been shown to work for set-theoretic solid models [4] and polyhedral models [57, 58].

Reddy and Turkiyyah [59] propose an algorithm for determining the skeletons of 3D

polyhedra based on generalisation of the Voronoi diagram. They compute an abstract De-

launay triangulation of the polyhedron and use the result to obtain the dual, the generalised

Voronoi diagram. The Delaunay triangulation computed is a generalisation of the usual

Delaunay triangulation which connects isolated nodes together with line segments. In the

generalisation used here, nodes represent entities on the boundary of the domain, such as

a face, a non-convex edge or a non-convex vertex of the polyhedron. Therefore, the tri-

angulation is an abstract graph which still maintains duality with the generalised Voronoi

diagram. Two approaches, namely, a boundary point set (which uses only the points on the

boundary) and a mixed-dimensional boundary entity set (that uses the faces, non-convex

edges and non-convex vertices) are described for computing the skeleton of the polyhedron.

A limitation of the point set approach is the determination of a ‘valid’ point set (the point

Page 36: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 23

set is valid if none of the edges of the Delaunay triangulation intersects the boundary of the

object) for which the solution has not been addressed. The algorithm requires solving a set

of nonlinear equations. A major limitation of these two approaches is that it computes only

an abstract geometry of the skeleton. The only specific geometry computed is the location of

Voronoi vertices. In the boundary point set approach, this information defines the geometry

of an approximate skeleton. The skeletal surface is approximated by the union of planar

Voronoi facets. In the mixed-dimensional boundary set approach, this information defines

only the critical points (terminal points of the MAT segments) of the skeleton. The pre-

cise definition of the geometry of the skeletal surfaces is not included. The implementation

does not compute the exact geometry of the skeleton. Rather, it derives only a symbolic

representation (which consists of the specification of non-redundant mid-surfaces and the

correspondence between the topology of the skeleton and the mid-surfaces) of the geometry.

It is mentioned that the computation of the nonlinear curves and surfaces can be a direct

extension of this work. Also, the Voronoi diagram generation algorithm used here [60] can-

not compute Voronoi diagrams whose facets are not homeomorphic to R2. This implies that

the presence of the inner loops in the Voronoi diagram cannot be captured and hence these

unconnected medial axes are not determined by the algorithm.

Sheehy et al. [22, 52] have presented an algorithm for medial surface construction

by exploiting the properties of domain Delaunay triangulation (DDT). The emphasis of the

algorithm is on computing the medial surface topology correctly. DDT establishes a rela-

tionship between the Delaunay triangulation vertices, edges and faces and the corresponding

entities of the object. DDT is a necessary but not a sufficient condition for capturing a

valid representation of medial surface topology. Further conditions are derived based on the

relationship between the maximal sphere and the approximate tangent (or touch) points of

the corresponding tetrahedron. It is approximate because the circumspheres of the tetrahe-

dra is only an approximate maximal sphere. Topological and geometric conditions are then

identified and enforced to give a more refined triangulation and a better starting point in the

computation. A classification of each tetrahedron to identify the degree of freedom of the

circumsphere corresponding to that tetrahedron within the DDT is proposed in a hierarchical

manner. The proposed scheme identifies any corruption of the medial surface topology and

also describes a strategy for resolving this. It is claimed that such measures are sufficient

to validate the integrity of the topology of the medial surface though this is not proven. It

is indicated that the developed algorithm can be extended to spheres having contact with

the object surface over a finite line or area. Though the algorithm captures the medial axis

Page 37: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 24

topology, it appears that the geometry information is not identified even approximately.

Attali and Montanvert [54] propose algorithms for generating skeletons of an object for

two different representations of the object. One uses the point set that samples the boundary

and the other uses a polyhedral approximation. For the point set, the skeleton is obtained

using the notion of a polyball which is nothing but a finite union of balls that approximates

the object. It is proved that the skeleton of a polyball can be constructed exactly and this

approximates the skeleton of the object as well. The effort of finding the union of the balls is

not discussed. Since the points that define the balls are obtained by sampling the boundary,

this algorithm can handle only smooth shapes. Sharp corners and edges cannot be captured.

The point set method ensures convergence towards the exact skeleton but the polyhedral

method is shown to preserve homotopy and the reconstruction properties of the skeleton. As

an approximate representation of the object is used based on the sampling of the boundary,

changing the resolution of sampling significantly changes the topology and geometry of the

skeleton. Methods have been proposed for removing extraneous portions of the MAT using

criterion such as the angle between the governors. Moreover, convergence is not guaranteed

in the case of an object being approximated by a polyhedron.

Turkiyyah et al. [53] have proposed a method for generating the skeletons of free-

form implicit solid models using the domain discretisation technique. The method starts

with a Delaunay triangulation of the point set of an object and employs an optimisation

scheme to obtain a significantly improved estimate of the skeletal geometry. Conditions on

the point set sampling are presented to ensure that the topology of the Voronoi diagram is

a superset of the skeleton topology. Methods are presented to eliminate spurious tetrahedra

that might have formed due to the discretisation errors which may result in discrete point

set not conforming to boundary curvature. After an initial approximation to the skeleton,

an optimisation problem for every interior tetrahedron is formulated and solved to move

the vertices of Delaunay simplices and relocate the centres of their circumscribing spheres to

skeleton locations. Results of the algorithm are presented and compared with the results that

are obtained without applying the optimisation procedures. It is shown that the application

of optimisation techniques results in significant improvements. Though the techniques have

been proposed only for implicit solid models, which facilitate analytical representation for

surface normals and curvatures, it appears that their algorithm works for other mathematical

representations also because they use a point set sampled from the boundary along with

normal information at each point in the set.

Amenta and Kolluri [61] determine the medial axis of an object approximated by

Page 38: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 25

finite union of balls. A modification of the characterisation of the medial axis as proposed

by Attali and Montanvert [54] is used. The sample points are first generated on the object

and the set of balls B is then generated and taken as input. Initially the union U and its

vertices V in the set of balls are calculated. The power diagram pow(B) (which is a weighted

Voronoi diagram, see [62] for details) and its dual, the regular triangulation (which is

similar to Delaunay triangulation) are then calculated. The α-complex, which is a subset of

simplices of the regular triangulation is then computed from which an α-shape S is computed.

The medial axis is then computed using the singular faces of S and the subset of Vor(V)

(Voronoi diagram of V, the vertices) that intersects the regular components of S. The regular

components of S are the full dimensional entities of the α-shape and the singular faces are the

entities of S with lower dimensions. Combinatorial tests have been developed for intersection

calculations. However, filtered arithmetic (that toggles between floating point arithmetic and

exact arithmetic) is used and this tends to slow down the algorithm considerably. Moreover,

generation of Voronoi diagram is done more than once, first for generating the power diagram

and once again when the Voronoi diagram is computed for the regular components of S and

this further slows down the algorithm. As the input is based on a sampling of the boundary,

only objects with smooth boundaries can be handled.

Dey and Zhao [55] approximate the medial axis as a Voronoi subcomplex using the

point cloud representation of the boundary surface of a solid. This algorithm computes a

subcomplex from the Voronoi diagram that lies close to the medial axis and converges to

it as the sampling density approaches infinity (the theory of this paper and the proof for

the convergence guarantee is available in a companion paper [63]). Two conditions, namely

angle condition (θ) (that is different from the angle condition in [54]) and ratio condition (ρ)

are used. It is shown through experiments that neither condition, when applied individually,

produces a ‘good’ approximation for the medial axis of an object. For example, larger values

of θ and ρ produce undesirable holes. It is shown by experiments that applying both the

conditions together produces a good approximation to the medial axis. It has been found

that the values of θ and ρ can be fixed to obtain a good medial axis for large data sets which

is not possible when these conditions are applied individually. Even then, the approximation

is better only where the data are dense. Near high-curvature regions, the approximation

contains artifacts and hence a separate smoothing procedure is required.

Dey et al. [56] present an algorithm for generating an approximate medial axis for

CAD objects (objects that consist of non-smooth edges and vertices). It is an extension of

the algorithm presented in [55]. This paper [56], discusses the difficulties in sampling of

Page 39: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 26

such objects and remedial measures to overcome these.

2.2.4 Discrete input: Input as spatial decomposition

Lavender et al. [4] use an octree-based approach to determine the Voronoi diagram (more

precisely, MAT) for set theoretic solid models, composed of unions, intersections, and differ-

ences of primitive regions represented by a collection of polynomial inequalities. A slightly

different interpretation of the definition of Voronoi diagram that facilitates the derivation of

the Voronoi diagram for their domain is proposed. They observe that the definition of ‘sites’

is the key to the generation. It is shown that MAT is a subset of Voronoi diagram for the

interior of a domain and it is the opposite if the domain is exterior. A recursive technique

is proposed for the determination of the object and Voronoi divisions. Then the algorithm

prunes out the irrelevant information in the object division and also determines which part

of the Voronoi diagram lies in each Voronoi division box.

Lee and Lee [57] have presented an algorithm for generating the medial surface of a

polyhedral object based on voxelisation of that domain. It is based on the voxel–bisector

intersection relationship to calculate the junction points. Eleven types of bisector relation-

ships are derived between the boundary entities. Testing of whether that voxel is passing

through the bisector is done and, if so, the centre of such a voxel is claimed to be a point

on the medial axis. The algorithm starts by finding the junction points, then the seams and

sheets are generated. The algorithm uses simple floating point comparisons and does not use

any complex root-finding techniques. However, the algorithm does not generate all medial

surface patches. Only patches having corresponding points on the non-adjacent boundary

segments are generated. Moreover, the voxel size is not automatically determined and user

intervention is required in determining the initial voxel size. The effort in computing bisec-

tors has not been addressed. The algorithm seems to be very slow and incomplete and needs

major improvements before it can be used in practical models.

Etzion and Rappoport [58, 64] present an algorithm based on computing the symbolic

and geometric parts separately. Voronoi graph is used to determine the symbolic part. The

algorithm constructs a proximity structure subdivision (PSS) that recursively subdivides

space according to the distance of the cells from the entities of the polyhedron. PSS is

computed using an octree to represent the subdivision. Voronoi edges that intersect the

boundaries of the cells are identified and are termed Voronoi edge witnesses. Voronoi vertices

are extracted based on the assumption that a cell does not contain two different vertices with

the same governors. The cells in which this assumption fails are also determined. It is claimed

Page 40: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 27

that the inaccuracy in the Voronoi graph is limited to these specific cells and the rest of the

Voronoi graph is correct and hence the overall accuracy is not affected greatly. The Voronoi

edges are then identified. The Voronoi diagram is computed using the symbolic information

present in the Voronoi graph. The symbolic information defines a set of equations to be

solved. It is guaranteed that the solutions of this set of equations is of the desired dimension

and the construction of PSS provides the necessary initial guesses. The operations used

in the algorithm are distance comparisons and solutions of linear, quadratic and quintic

polynomials in a single variable. In that sense, the algorithm is claimed to be more robust

than algorithms that use basic operations requiring higher precision. It is suggested that the

curved faces can be handled by linearising them. Representation of seams and sheets are

also discussed.

2.2.5 Exact-Freeform: Numerical tracing of bisectors

For Exact-Freeform objects, since the bisectors, in general, are non-rational, bisector curves

have to be traced numerically [65]. It has been shown in 2D, that MAT for Exact-Freeform

objects is possible through bisector curves [34]. In 3D, a similar principle (though not for

generating bisector surfaces) has been applied to generate MAT for a polyhedral object by

generating the boundary entities of MAT for the object [45, 46].

Constructing the MAT for planar domains with curved boundaries has been studied

by Chou [16] and Ramamurthy [66]. The main idea in these approaches revolves around

tracing the bisector of pairs of boundary entities and trimming the bisector to obtain the

correct topology of the MAT.

Chou [16], in his paper, has proposed a tracing technique for generating MAT of

planar domains that are closed and simply-connected. The boundary may consist of curved

segments including points, line segments, analytic curves and free-form curves, but holes are

not allowed. It is shown that the centres of curvature of locally maximal positive curvature

points on the boundary are also terminal points of MAT. The algorithm first generates the

bisectors between curves having the terminal points. Conditions are proposed for termination

of each bisector. Generally, bisectors consists of points on MAT and continue beyond. They

are trimmed by bisectors coming from some other terminal point and having the same

clearance circle radius. The intersection point thus obtained is the branch point of MAT.

Further, the tracing uses the information available at the intersection point to find the pair

for which the bisector is to be generated. A tree structure is used for construction in a

bottom-up approach. It is also proved that a point on the MAT needs to satisfy curvature

Page 41: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 28

conditions. Extension of the algorithm to curves of zero curvature is also discussed. However,

no results (of implementation) have been provided. Since the tree structure has been used

for construction and the branch points are identified using the intersection of bisectors, the

algorithm cannot handle objects with holes.

Ramamurthy and Farouki [34] present the theoretical foundation for constructing

MAT from Voronoi diagrams for planar domains with curved boundaries. An incremental

approach to computing the Voronoi diagram is used, wherein a single boundary segment

is added to an existing boundary segment set at each step. The introduction of each new

segment entails modifying the Voronoi regions of the existing boundary segments and con-

structing the Voronoi region of the new segment. This is accomplished by (i) computing the

bisector of the new segment with each of the current boundary segments; (ii) updating the

Voronoi regions of the current boundary segments by partitioning them with these bisectors,

and (iii) constructing the Voronoi region of the new segment as a union of regions obtained

from the partitioning. When all the boundary segments are included, and their Voronoi re-

gions have been constructed, the Voronoi diagram of the boundary is obtained as the union

of the Voronoi polygons for each boundary segment. MAT is then obtained from the Voronoi

diagram by (i) removing edges of the Voronoi diagram that do not belong to the MAT, and

(ii) adding certain edges that do belong to MAT but are absent from the Voronoi diagram.

The details of the algorithm and implementation are presented in a companion paper [67].

Computation details for curve/curve bisectors are given in [65]. Degenerate cases that arise

in the computation of Voronoi diagram are discussed in [68].

Since the bisector is a superset of MAT for a boundary pair, generation of bisectors

to identify MAT appears to involve intensive computation. A robust curve–curve intersec-

tion procedure is needed to identify branch points. Degenerate cases have to be handled

separately.

Choi [69] has described an algorithm for generating MAT using the localization idea

based on the Domain Decomposition Lemma, which says that the MAT for the object can

be identified by the union of MAT of the appropriately subdivided regions. The tree data

structure is then developed and updated based on the subdivision that is carried out further.

The subdivision facilitates the identification of branch and terminal points. It is claimed that

the data structure guarantees the existence of such important points and makes the algorithm

efficient. A ‘killing homology’ procedure is used to convert the multiply-connected object

into several simply-connected objects. The algorithm uses a recovery procedure to determine

the accuracy. It appears that the subdivision is iterative based on the error calculation of

Page 42: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 29

the recovery process which could be efficient but looks cumbersome. Though the algorithm

gives a topological structure of MAT of planar domains with free-form entities, it is not clear

of how the final MAT is computed geometrically.

2.3 Summary

When the input is Exact-Analytical or Exact-Freeform, most of the existing methods use

bisectors to generate MAT. However, bisector-based methods are computationally expensive

[36]. One problem with bisector-based methods is that considerable effort is spent in con-

structing bisector segments that may not be part of the final MAT. In addition to this, the

topology of the final MAT has to be ensured by correctly trimming each bisector segment and

connecting the valid segments. Alternately, pairs of entities that generate a valid bisector

(that will become part of a MAT segment) have to be identified and this needs additional

processing. This adds to the substantial effort already required in generating the bisector

segments. For example, the dashed line in Figure 2.1 (where B(a,b) denotes the bisector

between entity a and entity b on the boundary of the domain) shows the bisector curve for

the pair of edges AB and CD. The bisector consists of several segments some of which may

be nonlinear (segment P3-P4 in the figure corresponds to the set of points equidistant from

point B in edge AB and the edge CD). For the same pair of line segments AB and CD, when

it is part of the object ABCD, B1-B2 is the corresponding MAT segment, requiring trimming

of the rest of the segments forming the bisector. Moreover, problems due to round-off errors

are involved in finding the intersection of bisectors. For example, as shown in Figure 2.2,

the two bisectors which are supposed to join each other may not intersect because of some

round-off errors. This could impede implementation of algorithms which rely on accurate

intersection of bisectors.

Divide and conquer based methods require the computation of the intersection of bi-

sectors. Identifying whether more than one intersection point exists between the bisectors

actually involves a set of bisector intersections (in addition to the already existing Voronoi

diagrams which were computed using intersection of bisectors). Quite clearly, the divide and

conquer method is very complex if applied to free-form objects. Even when used for poly-

hedral objects, the merging step would involve processing large number of piecewise-quadric

surface patches and a robust surface–surface intersection routine is required to determine

the bounds of the resulting bisector surfaces.

When exact representation is taken as input, the bisector curves have to be traced

Page 43: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 30

A

B

C

D

B(A,C)

B(C,AB)

B1 B2

B(AB,CD)

P3P1 P2

B(B,CD)

P4B(B,D)

Figure 2.1: Difference between MAT and bisector.

Nonlinear (parabola)bisector B2

Linear bisector B1

(a) (b)

Figure 2.2: No intersection point is found between bisectors B1 and B2 if some gap exists[48].

Page 44: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 31

(a) (b)

Figure 2.3: Effect of discretising boundary on 2D MAT.

numerically and it has been shown to be possible in 2D domain. Recently, Sherbrooke et

al. [46, 45] implemented a numerical tracing method using partial differential equations

with floating point arithmetic that is applicable only for polyhedral objects. It is shown that

more accurate results can be obtained using exact arithmetic [49]. However, optimisation

methods are required to improve the speed because exact arithmetic has been proven to

be very slow. Tracing method for an Exact-Freeform object does not seem to have been

developed so far.

Construction of the MAT of CSG objects (obtained by Boolean combinations of prim-

itive objects such as cuboid, cylinder) involves nonlinear curves and surfaces and this has

been addressed in [39]. However, the approach is restricted to quadric curves and surfaces.

When a tessellated representation of a free-form domain is used, the output MAT

invariably consists of artificial MAT segments that are artifacts of the representation used

and not due to the underlying part geometry (see Figures 2.3, 2.4) [46]. Though the MAT

that is output is continuous, the points on the output MAT do not conform to the definition

of MAT for the exact domain. The output in this case is said to be Continuous-Approximate

MAT. It must be noted that additional effort is required in trimming and post-processing

the generated MAT to be in conformity with the topology of the original free-form object.

The additional MAT segments distort any reasoning based on MAT. For finite element

applications, such a MAT representation may be sufficient but exact representation of the

part has to be used to construct the MAT in applications where the geometry of the part

has to be reconstructed from the MAT [13]. Criteria that involve parameters such as angle,

ratio etc. have been used to get a closer approximation to the exact MAT ( [54, 55, 56]).

However, in general, skeleton property like homotopy is not preserved. Resulting MAT also

has many spikes and requires further processing.

Page 45: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 32

(a) (b)

Figure 2.4: Effect of discretising boundary on 3D MAT.

In approaches using the point set representation of the domain, an infinite point set

is required to generate maximal spheres from circumspheres and hence the generated MAT

points do not conform to the definition of MAT with respect to the exact domain. Voronoi-

based algorithms such as [54, 55, 61] work on the assumption that the sample is dense.

However, with finite sampling, this density condition can never be satisfied at the non-

smooth edges and vertices that are quite common in CAD models. The approximate medial

axis with Voronoi facets stops before touching the convex edges and non-concave corners

while the true medial axis passes through them and hence the structure of the medial axis

for such objects is not complete. Further, due to inherent under-sampling, the medial axis is

approximated poorly near the sharp edges and corners. Proper approximation of medial axis

in the vicinity of sharp edges is required for applications like dimensional reduction, feature

recognition and suppression. A smoother approximation of medial axis in high-curvature

regions is possible only with smaller Voronoi facets. However, if the density is too low,

artifacts such as holes appear in the medial axis. Adaptive refining [52] based correction is

not proven to be correct and gives only the topology of the MAT and not the geometry.

Optimisation procedures have to be used to derive the exact geometry [53], but it is

shown to work only for implicit solid models.

Spatial decomposition of the domain using octree has been used to construct MAT for

set-theoretic solid models [4] and polyhedral models [57, 58]. However, the algorithm in [57]

does not generate all medial surface patches and the algorithm in [58] generates approximate

Voronoi graphs for degenerate Voronoi diagrams. Free-form solid models are required to be

Page 46: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 33

discretised into polyhedral models for applying this method. Moreover, this method does

not provide a complete description of adjacency relationships unless the resolution is very

high.

Most algorithms that work for 2D domains do not extend to 3D domains. For instance,

the 2D divide and conquer algorithm [42] has not been generalised to 3D. The merging step

in the 2D algorithm constructs a piecewise-parabolic polygonal chain. The segments of the

chain are computed in order from one end to the other. In 3D, a divide and conquer algo-

rithm would presumably involve constructing large numbers of piecewise-quadratic surfaces.

The computation of such patches appears to be a very difficult problem, one that has not

been addressed so far. Similarly, the wavefront propagation algorithm does not appear to

generalise easily to three dimensions. Only algorithms based on tracing appear to be capable

of extension to 3D.

This thesis proposes the use of a tracing based algorithm that takes exact representa-

tion of an object as input to generate a Discrete-Exact representation of the MAT. Points

that are generated conform to MAT requirements. Using the exact representation of the

part for constructing the MAT eliminates the need for additional post-processing that is

required with other types of representations. To the best of the knowledge of the author, no

algorithm thus far has used the exact representation of a free-form object to generate the

MAT in 3D.

Chapter 4 in this thesis describes an algorithm for generating an approximation of the

MAT for 2D objects with free-form entities (exact representation). The algorithm is broadly

based on the idea of tracing proposed by Chou [16]. The algorithm presented however traces

the MAT of the part, segment by segment, by marching along the boundary (as opposed to

stepping along the bisector as done by Chou [16]). This allows the proposed algorithm to

handle multiply-connected objects.

Chapter 5 presents an elegant technique for generating MAT for extruded/revolved

objects with free-form entities. This method uses the tracing algorithm in chapter 4 for

generating MAT on the planar profile face. It is shown that the MAT points of the profile

face is sufficient to determine the topology and geometry of the extruded/revolved 3D object

under certain conditions.

Chapter 6 presents a tracing technique for constructing MAT of 3D objects bound

by free-form surfaces. This algorithm uses a connectivity scheme similar to the one used by

Sherbrooke [70]. However, this algorithm uses the boundary of the object to generate the

points on the seam and does not trace the seam using the tangent as done by Sherbrooke.

Page 47: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 2. Literature review 34

The algorithm is an extension of the algorithm described in chapter 4 for generating MAT

of curved boundaries in planar domain.

Page 48: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3

Preliminaries for computing MAT

3.1 Introduction

In this chapter, terms used in the remainder of the thesis are defined. Classification of

vertices and edges in an object is first described, followed by the classification of points on

both 2D and 3D MAT. This chapter concludes with the details of distance and curvature

criterion to be satisfied by any point on the MAT.

3.2 Classification of vertices and edges

A reflex (concave) corner in a 2D object is one where the interior angle between the edges

at the corner is greater than 180◦. If the angle is equal to 180◦, then it is termed a smooth

vertex. Otherwise, it is termed a convex vertex.

In 3D, a convex edge is one where the interior angle between the faces is less than

180◦. If it is equal to 180◦, the edge is termed a smooth edge. Otherwise it is termed a

reflex (concave) edge. It is assumed that the above classification for an edge holds good at

all points on that edge. A vertex is convex if all the edges incident at that vertex are convex.

If at least one of the incident edges is concave, then the vertex is termed reflex/concave.

3.3 Classification of points on 2D MAT

Points on the MAT can be classified based on the properties of their maximal disks [12]. A

point whose maximal disk exactly touches two separate boundary segments is called normal

point. Point N (or any point on the line segment (A,E1) excluding the end points A and E1)

in Figure 3.1(a) is a normal point. Its underlying maximal disk is shown in Figure 3.1(b).

35

Page 49: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3. Preliminaries for computing MAT 36

B

A

C

D

F1

Fp1

Fp2

Fp3

E1

Fp2

Fp1

NNA

E1 F1

B C

D

(a) (b)

(c) (d)

C

Figure 3.1: Classification of points on 2D MAT.

A point whose maximal disk touches the domain boundary in three or more separate

segments is called branch point. Points E1 and F1 in Figure 3.1(a) are branch points. Figure

3.1(c) shows the maximal disk corresponding to the branch point E1.

A point whose maximal disk exactly touches the boundary in one contiguous set is

called an end point. These points touch the boundary either at a point (such as A,B,C and

D, Figure 3.1(a)) where the corresponding maximal disk is of radius zero or at a set of points

such as in the case of a constant curvature circular arc, where the corresponding radius is

that of the radius of curvature of that portion of the arc as shown in Figure 3.1(d).

Blum and Nagel [12] view the MAT of a domain as a collection of simplified segments.

A simplified segment is a set of contiguous normal points bound by either a branch point or

an end point [12].

A point of contact of the underlying disk of a point on the MAT with the domain

boundary is called the footpoint of the point on the MAT. From the definition of the point

types in a MAT, a normal point has two footpoints (Fp1 and Fp2 in Figure 3.1(b)), a branch

point has three or more (Fp1, Fp2, and Fp3 in Figure 3.1(c)) and an end point has one or

more footpoints.

The boundary entities corresponding to a MAT point are referred to as generators. For

example, a normal point has two generators and a branch point has at least three generators.

Page 50: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3. Preliminaries for computing MAT 37

Seam−End point

Rim

Seam

Junction point Sheet

A

K

D

B C

F G

HE

I J

L

Figure 3.2: Classification of points on 3D MAT.

3.4 Classification of points on 3D MAT

The various elements that generally comprise the 3D MAT have been defined by Sherbrooke

et al. [45] and Turkiyyah et al. [53]. These are reproduced here for completeness and are

illustrated in Figure 3.2.

Touchpoint: A point at which a maximal sphere is tangential to the boundary surface.

Though the terms ‘footpoint’ and ‘touchpoint’ have been used synonymously in the literature

regardless of the dimension of the domain, these two are used in this thesis in a distinct

manner (depending on the dimension of the domain) for clarity in description.

Seam: A connected space curve consisting of points that have three touchpoints and

are non-manifold. Points on the seam are called seam points. Any point on the segment AI

(refer Figure 3.2) excluding the points A and I is a seam point.

Junction point: A point where the seams intersect. A point such as ‘I’ in the Figure

3.2 is a junction point.

Seam-end point: These points do not arise from the maximal ball condition of the

MAT, but are actually on the limit points of the MAT. A seam-end point generally results

when a seam runs into the boundary of the solid. Therefore, vertices with convex edges

incident on them are seam-end points [45]. Points such as A and B in the Figure 3.2 are

seam-end points.

Page 51: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3. Preliminaries for computing MAT 38

A-b1-e = 90

d(e,a1) = d(e,b1)

A-a1-e = 90o

o

e

a1

b1

A

e1b1

a1A

(a) (b)

A-a1-e1 = 90

A-a1-e1 = 90

o

o

d(e1,a1) = d(e1,b1)

Figure 3.3: Distance criterion for 2D MAT.

Skeletal edge: A connected space curve consisting of points whose maximal spheres

have a single touchpoint with the surface of the object. A skeletal edge is possible only if a

surface contains a point that has a locally maximal positive curvature (LMPC) [16].

Sheet: Sheet is a manifold subset of the MAT which is maximal in the sense that it is

connected and bounded only by seams and skeletal edges. For example, IJKLI in the Figure

3.2 is a sheet which is bound by the seams IJ, JK, KL, and LI. A seam corresponds to the

intersection of sheets.

Sheet point: A point in the interior of a sheet. Sheet points have precisely two touch-

points. For example, any point on the sheet IJKLI (Figure 3.2) that is not on the bounding

seams of that sheet is a sheet point.

Sheet-end point: These points also are among the limit points of the MAT, whereas a

seam-end point is a limit point of a seam, a sheet-end point is a limit point of a sheet. All

seam points are sheet-end points but all sheet-end points need not be seam points.

Rim: Connected components of sheet-end points are called rims. Convex edges (such

as AD in the Figure 3.2), resulting from the intersection of sheets with the boundary are

rims.

Governors: The boundary entities corresponding to a MAT point are referred to as

governors. From the classification of the points on 3D MAT, any seam point should be

equidistant to three governors, any sheet point should be equidistant to two governors and

the junction point should be equidistant to four or more governors.

Page 52: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3. Preliminaries for computing MAT 39

A-a1-e = 90o

d(e,a1) = d(e,b1) = d(e,c1)

oA-b1-e = 90

o

A-c1-e = 90

Aa1

b1e1

c1

Ae

b1

a1

c1

d(e1,a1) = d(e1,b1) = d(e1,c1)

A-a1-e1 = 90o

o

oA-b1-e1 = 90

A-c1-e1 = 90

(a) (b)

Figure 3.4: Distance criterion for 3D MAT.

3.5 Distance and curvature criterion for 2D and 3D

MAT

From the definition of the MAT, the following two conditions that have to be satisfied by

points on a simplified segment can be derived [16].

Distance criterion: In 2D, any point on a simplified segment (apart from the end

points of the segment) should be equidistant to two boundary segments. In 3D, any point on

a seam (apart from the other points of the MAT) should be equidistant to three boundary

segments.

Curvature criterion: In 2D, the radius of curvature of the disk at any MAT point

should be less than or equal to the minimum of the local radius of curvature of the boundary

segments. Otherwise, the disk does not satisfy the maximal disk criterion [12]. In 3D,

the radius of curvature of the ball (or sphere) at any point on MAT should be less than

or equal to the minimum of the radius of curvatures (reciprocal of the maximum normal

curvatures) at the touchpoints of the boundary (this condition is similar to the condition to

avoid gouging (cutter interference) when a ball-endmill is used [71]). Otherwise, the ball

does not satisfy the maximal ball criterion (the ball pierces the boundary in the same way

Page 53: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3. Preliminaries for computing MAT 40

Curvature criterion fails at D1

AB

C

CD1

D1

m

E1

A

C

M

D

E

CD B

(a) (b)

Figure 3.5: Curvature criterion for 2D MAT.

that the ball-end mill causes gouging). So the point is no longer a MAT point even though

the equidistant criterion is satisfied (one can call such points bisector points since they have

to be only equidistant [36]). The curvature criterion becomes very important in the case

of determining MAT points for free-form entities. Without this condition, the generated

points belong to a bisector segment and not to a MAT segment. This is also one reason why

any approach based on generating bisectors of free-form edge pairs would require additional

processing.

3.5.1 Illustration of distance and curvature criterion

In 2D, line segments e-a1 and e-b1 (refer Figure 3.3(a)) are normal to the boundary segments

and also equal in length. So the point ‘e’ is a point on the MAT. But for the point ‘e1’ shown

in Figure 3.3(b), even though the line segments e1-a1 and e1-b1 are normal to the boundary

segments, they are not equal in length. So point ‘e1’ is not a point on MAT. A similar

condition holds good for 3D. Figure 3.4 illustrates that condition.

Figure 3.5 illustrates the curvature criterion (the distance criterion is satisfied). Figure

3.5(a) shows that the ball is completely inside the boundary segments which implies that the

indicated curvature criterion is fully satisfied and point M becomes a MAT point. Violation

of this criterion indicates that the ball does not lie completely inside the boundary segments.

The point ‘m’ in Figure 3.5(b) is not a MAT point but still belongs to the set of bisector

points. A point belongs to the MAT only when it satisfies both criteria. Figure 3.6 illustrates

Page 54: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 3. Preliminaries for computing MAT 41

M

E

D

F

Curvature criterion fails here

m

(b)(a)

Figure 3.6: Curvature criterion for a 3D MAT point.

the curvature criterion for 3D objects.

Page 55: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4

MAT of planar domains with curvedboundaries

4.1 Introduction

In this chapter, the problem of generating a MAT for planar objects with free-form curved

entities has been addressed. The algorithm proposed uses the exact representation of the

part and generates a Discrete-Exact representation of the MAT. An approximate rational

description (to within a defined tolerance) of the MAT can be obtained by fitting rational

spline curves to the points obtained on each MAT segment.

The algorithm is broadly based on the idea of tracing proposed by Chou [16]. The algo-

rithm presented however, traces the MAT of the part, segment by segment by marching along

the boundary (as opposed to stepping along the bisector as done by Chou [16]). This allows

the proposed algorithm to handle multiply-connected objects. This is because algorithms

based on bisectors involve two steps. The first step is to find the bisector segments between

edge pairs and the second is to find an arrangement of these bisector segments (or parts

thereof) that form the MAT. In the case of the approach referred to [16], the arrangement

is assumed to be represented as a tree. This precludes domains that are multiply-connected

as in such cases the arrangement will include a cycle. Here, a tree-based representation of

the MAT has been used but the representation is allowed to be a graph (when the domain is

multiply-connected). In this chapter, the term ‘boundary entities’ refers to boundary edges

as well as reflex corners in an object. The following sections describe the algorithm and

present the results of implementation. The chapter concludes with a summary.

42

Page 56: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 43

4.2 Overview of algorithm

The algorithm works by finding the footpoint of a normal MAT point on one edge given its

footpoint on another edge. This is accomplished by solving the intersection of the normals

to the two edges and imposing the distance criterion. The point on the MAT is obtained

by finding the intersection of the normals to the edges on the boundary followed by a check

against the curvature criterion. The algorithm therefore replaces the intersection of bisectors

(favoured by current art [16, 44, 66]) with the intersection of normals. Given that the

normals are linear, in contrast to bisectors which can be rational curves or quadratic conics,

the computational effort and complexity are reduced considerably.

Tracing of the MAT starts from a convex vertex, where both the footpoints are known

(they are the convex vertex itself). It is assumed that the input domain contains at least one

convex vertex. During the tracing of normal MAT points, at chosen intervals, the algorithm

checks for the existence of a branch point. This check is a distance check with all other

boundary entities that are not part of the current pair in the object. However, the algorithm

does not check against all the boundary entities and proposes a more restricted check that

gives the correct results. For determining the presence of a branch point it is shown that

it is sufficient to check for interference of the maximal disk, at the MAT point determined,

with boundary entities that have not been traced so far. This ensures that as the generation

of MAT progresses, the check for branch point involves fewer boundary entities.

Once the existence of a branch point is confirmed, two of the footpoints correspond-

ing to the branch point are known and the remaining footpoints of the branch point are

determined from the boundary entities that fail the distance check.

Failure of the curvature criterion indicates the presence of a point with locally maximal

positive curvature (curvature at a point ‘p’ on a curve is locally maximal if it is greater than

the curvatures at points p+ε and p−ε [16]) in the vicinity. In such cases, the MAT segment

terminates at the centre of curvature corresponding to the point that has the maximal

curvature locally. The tracing procedure used therefore originates at a convex vertex and

ends at either a convex vertex or at the centre of curvature of a point that has locally maximal

positive curvature (LMPC). At each branch point one or more new segments become available

for tracing and the algorithm traces each of them.

The algorithm terminates when all the convex vertices in the part have been visited

and no edge pairs remain to be traced at any branch point. The algorithm uses two step

sizes. One is used for generating the next MAT point and the other is used to check for

Page 57: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 44

A

e1

e2

u1

u2

right : u2left : u1

Figure 4.1: Parameterisation of edges.

potential branch points.

The output of the algorithm is a set of points on each MAT segment. Rational curves

are fitted to points in each segment to a desired tolerance to obtain the MAT segments.

4.3 Algorithm details

The algorithm for constructing the MAT consists of the following steps:

• Tracing step;

• Checking for a branch point;

• Proceeding from a branch point;

• Handling a reflex corner;

• Termination of the algorithm.

4.3.1 Tracing step

The boundary segments are parameterised such that the interior (material side) is always

to the left of the increasing direction of the parameter. The tracing step consists of the

following tasks.

1. Commence tracing from a convex vertex (let e1, e2 be the left and right edges at the

vertex A and u1 and u2 the parameters corresponding to the two edges respectively

(Figure 4.1)).

Page 58: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 45

2. Locate the next footpoint on e2 by incrementing u2 by the tracing step size (δu2).

3. Find the corresponding footpoint on e1. This step requires the intersection of normals

to the two edges and enforcing the distance criterion. The computational effort is in

finding the roots of a nonlinear equation in one variable (see Appendix A. for details).

Convergence is fast as a good initial guess is always available (the previous footpoint

on the edge).

4. Check if the intersection point satisfies the curvature criterion.

The intersection of normals that also satisfies the distance criterion is the MAT point.

Such a point exists as the MAT point is the intersection of the bisector and the normals

from the respective edges. Here one normal is fixed and the other is searched for such that

their intersection is the MAT point (equidistant from the respective edges).

The check against the curvature criterion is a comparison of the radius function (dis-

tance between the footpoint and the intersection point) with the radius of curvature at the

footpoint. The procedure followed when the curvature criterion is violated at a point during

tracing is discussed later during the description of tracing from a branch point.

4.3.2 Check for branch point

A simplified MAT segment terminates at one of the following – a convex vertex, a branch

point, or the centre of curvature of a point with locally maximal positive curvature. Ter-

mination of the tracing of a single MAT segment at a convex vertex is straightforward as

it only involves comparing the parameter values with the bounds on the same and checking

if the vertex is a convex vertex or not. When the segment terminates at a branch point,

however, additional checks are required to first determine the existence of the branch point

and then to trace a new segment from the branch point. Termination at the centre of curva-

ture of a point with locally maximal positive curvature is indicated by either failure in the

curvature criterion or when the end of an edge that is not a convex vertex is reached without

encountering a branch point. Both these cases are described later.

The existence of a branch point can be identified by finding the distance of the current

MAT point from the remaining boundary entities and checking if this distance is less than

the radius function at the current MAT point. This check is referred to as the distance check

as opposed to the distance criterion that has to be satisfied by a point on the MAT (chapter

3, section 3.5). It is extremely costly to check the distance at each and every point generated

Page 59: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 46

during the tracing with all the remaining boundary segments. Two things are done to reduce

the effort in this step. First, the distance check is done for only a few boundary segments

(and not all boundary segments in the part). Second, the check for existence of a branch

point is done only after a finite portion of the MAT segment is generated (and not at every

point on the MAT).

The distance check to identify a branch point need not include all the boundary seg-

ments because of the following propositions.

Proposition 4.1 Portions of the boundary entities for which the MAT segments have al-

ready been traced need not be considered in performing the distance check to identify branch

points, while generating subsequent MAT segments.

Proof: Let the proposition not be true. Then at some point ‘P’ on the MAT segment

being generated using the edge pair ei and ej, the maximal disk will cut one or more bound-

ary edges that have been already traced. In such a case, it is possible to find a smaller disk

centred at P which is tangential to an edge that has been cut (ek) and one of the two edges ei

and ej in the current pair. This would result in a point on the edge segment cut (ek) having

two MAT points corresponding to it. This violates the onto correspondence between a point

on the boundary and its corresponding MAT point (the correspondence relation between

the two is a continuous, one-to-one onto map) [16]. The onto correspondence holds even

in the presence of reflex (concave) corners when the reflex corner is represented by multiple

segments of zero length but with a normal. The maximal disk at point P therefore, cannot

cut any of the boundary edges that have already been traced. The proposition follows. 4

Checking for the existence of a branch point is not done at every point traced on

the MAT. It is therefore possible to overshoot a branch point during the tracing procedure.

A simple bisection procedure implemented between the last point on the MAT where the

distance check was not violated and the current point where it is violated will identify the

branch point.

4.3.3 Tracing from a branch point

At a branch point, the current segment being traced continues along two or more branches.

For each branch chosen (represented by a pair of edges or an edge and a reflex vertex),

the edge common with the edge pair corresponding to the current segment continues to be

traversed in the same direction. The direction of traversal for the new edge (handling reflex

Page 60: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 47

b

A E

B

b

A

B

D

E

b1

(a) (b)

b - Branch point b,b1 - Branch points

Figure 4.2: Existence of a branch point.

vertices is described later) in the pair, is opposite to the direction of traversal of the common

edge between the old and new pairs. If the common edge is traversed along the direction

of parameterisation (increasing value of its parameter), then the new edge is traversed in

the decreasing value of its parameter and vice versa. The points on the MAT segment

corresponding to this pair are determined as described earlier. This process can be made

more efficient by noting that when a pair is traversed from a branch point, further checks for

branch points need not be made if the pair has a common convex vertex (Proposition 4.2).

There may be branch points due to the edges in the current pair which however are trapped

by the failure of the curvature criterion.

The above procedure is repeated for any branch points encountered (where possible)

during tracing from a branch point. Tracing terminates at a convex vertex or at the centre

of curvature of locally maximal positive curvature or when no further branch points are

obtained.

Proposition 4.2 When a MAT segment is generated from a branch point by traversing

along a pair of edges that share a convex corner, no other branch point (involving a boundary

segment other than the current pair) will be encountered during the traversal till the convex

corner.

Proof: The proof is established by contradiction. Figure 4.2 illustrates the tracing

of the MAT from a branch point (point ‘b’) using the edge pair (AB, AE) that intersects

in a convex corner A. Since they intersect in a convex corner, it is clear that there cannot

be any other boundary segment between them. Assume that another branch point (‘b1’) is

encountered during the tracing along this edge pair. This implies that there are two MAT

Page 61: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 48

AB

C

D1

m

E1

F

G

BD

H

CD1Br

AB

C

D1

mBr

CC

(a) (b)

Figure 4.3: Violation of curvature condition.

segments for the pair (AB, AE). One from the branch point ‘b’ to branch point ‘b1’ and the

other that starts/ends from the end point A. As there can be only one MAT segment for

a pair of boundary segments (because of the one to one onto correspondence between the

points on the MAT and their corresponding points on the boundary segments), the tracing

of MAT from branch point ‘b’ to the convex corner cannot encounter any other branch point.

The proposition follows. 4

This implies that there is no need for the distance check for the MAT points generated

during traversal from a branch point along a pair of edges that share a convex corner. There

may be branch points due to the edges in the current pair. These are however trapped by

the failure of the curvature criterion.

Failure in the curvature criterion indicates that the tracing of MAT has missed a branch

point. This is because the check for branch points does not include the current edge pair

and in this case, the third footpoint also belongs to one of the edges in the edge pair used

for tracing. In Figure 4.3(a), MAT corresponding to the edge pair (AC, AB) is traced.

The curvature criterion is violated at the point D1 on edge AB indicating a branch point

earlier. The footpoints corresponding to this branch point (Br in the Figure 4.3(a)) are

G, F and H where F, H belong to the same edge AB. In this case, the branch point ‘Br’

can be identified by backtracking the traced MAT segment. During backtracking, at each

MAT point, the distance check for a branch point is performed with only the boundary

Page 62: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 49

D

A B

C

EF

G

N2A B

C D

EF

N1

N2

G D1

E1

(a) (b)

Figure 4.4: Handling a reflex corner.

segment where the curvature criterion has failed. From the branch point ‘Br’, the tracing is

done as usual. However, in one of the pairs, two boundary segments are the same but have

different footpoints. Note that the termination of the MAT segment corresponding to this

pair is the centre of curvature of the point where the curvature of the boundary segment is

positive and locally maximal. The point with LMPC is identified by traversing the boundary

segment between the two footpoints on this edge corresponding to the branch point Br. The

tracing of the MAT segment terminates when the updated parameter crosses the parameter

value of the point with LMPC. The centre of curvature at the point with LMPC is then

appended to the existing MAT points. Note that the maximal disk for this MAT point has

a single footpoint. Further tracing of the MAT now proceeds with the edge pair AC and AB

corresponding to the footpoints ‘G’ and ‘H’ (refer Figure 4.3(b)).

Checking against the curvature criterion is better than including the current edge pair

also in the check for branch points because the effort involved in the latter is greater. Chou

[16] finds the points with LMPC across the entire boundary of the domain. Here, in contrast,

the footpoints on the same boundary segment at a branch point are used to localise the region

over which the point with LMPC has to be determined.

4.3.4 Handling a reflex corner

A reflex corner is represented as a set of circular arcs with zero radius. Associated with

each circular arc segment is a normal. The normals are assigned to these segments in order

so that the change in the normal while crossing the reflex corner is divided across these

segments (see Figure 4.4). Tracing of points on the MAT for a pair consisting of an edge

and a reflex corner proceeds in the same manner as for tracing the MAT for a pair of edges.

Page 63: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 50

The check for the presence of a branch point has to be done here as well, since it is possible

to encounter a branch point as shown in Figure 4.4(a) (point G is one such point). Figure

4.4(b) shows the MAT segments that emanate from branch point G.

4.3.5 Handling smooth junctions between edges

The domain may contain edges that are tangential, that is, the junction between two edges is

smooth. In such cases, the tracing procedure does not terminate when the smooth junction

(end of the edge) is reached as it is not a convex vertex. The tracing procedure continues

with the neighbouring tangential edge and the other edge in the current pair (Figure 4.5(a)).

When this neighbouring tangential edge has the other edge in the current pair as its

other neighbour (refer Figure 4.5(b), where DE is the edge), it indicates that there is a

point on this edge where the curvature is locally maximal. This is because of the following

reasons: Since a single boundary segment is being traced (from either end), there can neither

be a convex corner nor a branch point with any other boundary segment. Since this MAT

segment has to terminate (as the domain is bounded), there has to be a point with locally

maximal positive curvature in the boundary segment (point ‘L’ in Figure 4.5(b)). The MAT

segment is now traced from the last MAT point traced to the centre of curvature at this

point (point ‘P’ in Figure 4.5(b)). Note however that there can be branch points due to

failure in the curvature criterion. In this case, there will be more than one point with LMPC

in the boundary segment and each of these terminal points can be obtained by the procedure

described earlier.

In other cases, termination of a MAT segment occurs at a branch point or convex

corner as described earlier.

4.3.6 Termination of the algorithm

The algorithm ends when all the convex vertices have been visited by the tracing step and

no edge pairs remain to be traced at any branch point.

4.4 Illustration of the algorithm

In this section, we use a simple example (Figure 4.6) to illustrate the procedure to construct

the MAT. Tracing starts at a convex vertex, ‘A’ (Figure 4.6(a)). For every footpoint on

edge AB (obtained by incrementing the parameter by the tracing step size) the tracing step

computes the corresponding footpoint on edge AG and the point on the MAT, Pi. In Figure

Page 64: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 51

C

D

A

B

E LP

A

B C

DEF

G

(a) (b)

Figure 4.5: Tangential edges.

4.6(b), the distance criterion is violated at point P′as the disk corresponding to this point

cuts the edge FG. The procedure then uses the bisection method between this point and

the previous point found on the MAT to identify the branch point B1 (Figure 4.6(c)). The

boundary segments corresponding to the branch point are AB, AG and FG. Tracing now

continues with the pair AG and FG. As these two edges share a convex vertex G, no check

for branch point is required and the tracing of the MAT segment ends at G (Figure 4.6(d)).

The tracing procedure next starts at B1 with the other possible pair of edges, namely, AB

and FG (Figure 4.6(e)).

Tracing with this pair continues till the point N1 on the MAT where one of the foot-

points (for the edge AB) reaches the limiting value (Figure 4.6(e)). This end point is also

a concave vertex that has been represented as a sequence of zero length edges with normals

uniformly varying between the normals to edges AB and BC at B. The procedure now traces

with pairs formed by the edge FG and each of these zero length edges at B in order to obtain

the segment N1-B2 of the MAT (Figure 4.6(f)). As explained earlier, B2 is identified as the

branch point. The procedure now traces the segment B2-F of the MAT using the edge pair

FG and EF (Figure 4.6(g)). Tracing starts again from the branch point B2 and proceeds

with the remaining dummy edges representing the concave vertex B and the edge EF. After

the last of the segments in the list of dummy edges is reached (at the point N2 on the MAT

in Figure 4.6(h)), the tracing continues with the edge pair BC and EF. Tracing of this pair

stops when BC reaches the limiting parameter value (at the MAT point S1 in Figure 4.6(i)).

Since C is a smooth corner, tracing of MAT continues between the pair CD and EF. Tracing

with this pair stops with the detection of the branch point B3 (Figure 4.6(j)) and the MAT

Page 65: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 52

iP

u2u1

P’u1

u2

u3

B1 P’

B1

N1B1B2

N1B1

N1B1B2 N2

N1B1B2

N2N1B1

B2

S1

N1B1B2

S1

B3

N2 N1B1

B3

B2

S1

N2 N2N1B1

B3

B2

S1

A B

C

D E

FG

BA

C

D E

FG

A B

C

D E

FG

A B

C

D E

FG

A B

C

D E

FG

A B

C

D E

FG

A B

C

D E

FG

A B

C

D E

FG

A B

C

D

FG

E

A B

C

D E

FG

A B

C

D E

FG

A B

C

D E

FG

(a) (b) (c)

(d) (e)

(g) (h) (i)

(f)

(j) (k) (l)

Figure 4.6: Illustration of the algorithm.

Page 66: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 53

segment B3–D is traced using the edge pair ED–DC (Figure 4.6(k)) . The procedure again

returns to the branch point B3 to trace with the other possible edge pair DE–EF (Figure

4.6(l)). When the tracing with this edge pair ends at point E, there are no edge pairs at any

branch point left to be traced and there are no convex vertices that have not been visited.

The procedure therefore terminates (Figure 4.6(l)).

4.5 Results and discussion

The algorithm described has been implemented and this section presents the results obtained

for some typical planar domains. The input to the algorithm is the B-rep of the object.

Curved entities are represented using rational B-Spline curves. The output is the set of

MAT segments and each MAT segment is available as either a set of points or a B-Spline

curve.

MAT obtained for some typical free-form planar objects are shown in Figures 4.7–

4.13. The algorithm is able to generate the MAT for objects with complex boundary profiles

(Figures 4.7, 4.8), concave vertices (Figure 4.9), spiral shaped (Figure 4.10) and multiply-

connected objects (Figures 4.11, 4.12), and objects with smooth corners (Figure 4.13).

Smooth vertices are marked by dots to distinguish the tangential edges in Figure 4.13. Note

that the MAT is generated even for domains with constricted passages and sharp changes in

the curvature along the boundary (Figure 4.8).

Table 4.1 shows the time taken for generating MAT for some of the figures. The

implementation is on a PIII machine with 256MB RAM on the RedHat Linux platform.

OpenGL (version 1.2) library functions have been used for display. The step size for tracing

and checking for branch points are 0.001 and 0.01 respectively. Figures 4.14 and 4.15

show the MAT for the object in Figure 4.8 with step sizes for tracing set at 0.01 and 0.1

respectively. Table 4.2 shows the time taken for generating MAT with different step sizes

for the object shown in Figure 4.8.

4.5.1 Discussion

Completeness

Since the algorithm traces the MAT segment by segment, and also since each segment starts

from a branch point (except the starting one) with a predetermined direction (as a parameter

in the edge to the left of MAT always decreases and that to the right always increases),

directed graphs can be used to represent MAT. The graph representing the MAT is acyclic

Page 67: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 54

Figure 4.7: MAT for test object 1.

Figure 4.8: MAT for test object 2.

Page 68: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 55

Figure 4.9: MAT for test object 3.

Figure 4.10: MAT for a spiral shaped object.

Page 69: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 56

Figure 4.11: MAT for a multiply-connected object.

Figure 4.12: MAT for another multiply-connected object.

Page 70: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 57

Figure 4.13: MAT for an object having tangential edges.

Figure no. No. of MATsegments

Time (inseconds)

4.7 21 34.8 9 24.9 15 24.11 32 6

Table 4.1: Time taken for generation of MAT for typical objects

for multiply-connected domains. Figure 4.16 shows the MAT for a multiply-connected

object and its representation as a directed acyclic graph (dag). The first node represents

the starting convex corner and the end nodes (no connecting segment from these nodes)

represent the remaining convex corners and centres of curvature of points with LMPC, while

the interior nodes represent the branch points.

The completeness of the algorithm can be derived from the graph structure of MAT.

‘Completeness’ here refers to the generation of all the segments constituting the MAT. The

starting and end nodes in the graph representing the MAT correspond to convex corners and

centres of curvature of points with LMPC present in the object. Each branch of the graph

corresponds to a MAT segment. Each downward traversal of a branch corresponds to the

Page 71: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 58

Figure 4.14: MAT for test object 2 with step size 0.01.

generation of a MAT segment. The algorithm starts at A (Figure 4.16(b)) and proceeds

toward 1 generating the segment A–1. From 1 the downward traversal generates the MAT

segments 1–2 and 1–4. Then it starts from 2 and generates 2–B and 2–3. From 4, MAT

segments 4–3 and 4–D are generated. Finally 3–C is generated. A topological sort [72] (a

variant of the depth-first search) lists all the convex corners in the object indicating that all

the MAT segments have been generated.

It may be noted that when a boundary edge has constant curvature portion, centre of

curvature of the point with locally maximal curvature is identified and used as a terminal

point for the MAT segment that is being traced.

Stability

The step size for tracing is chosen to be smaller than the smallest feature in the domain

(tracked through the length of boundary segments) so that no features are missed. Presently,

the implementation uses a step size of 0.001 (for domains scaled to 1) or one hundredth of the

smallest edge, whichever is smaller, for tracing. This choice gives a fine approximation to the

MAT with reasonably real-time response (order of seconds for the parts shown in the results

section). A larger step size will result in a coarser approximation but faster performance.

The step size for checking for branch points is taken to be an order of magnitude greater

than the step size for tracing.

Page 72: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 59

Figure 4.15: MAT for test object 2 with step size 0.1.

Figure no. step size Time (inseconds)

4.8 0.001 24.14 0.01 14.15 0.1 1

Table 4.2: Time taken for generation of MAT for various step sizes

The analysis of the algorithm with respect to the effect of numerical errors due to finite

precision indicates that the algorithm is stable with respect to round-off errors. The MAT

algorithm was implemented with single and double precision and there was no difference in

the result to within the tolerance used (10E − 6). The choice of branch point step size is

critical. A smaller value ensures correctness at the cost of greater effort. A larger value

may result in overshooting more than one branch point. One option could be to use a larger

branch point step size and backtrack after one branch point has been identified to ensure

that no other branch point has been missed. If the branch point step size is chosen correctly,

the algorithm is robust enough to capture an overshot branch point. The branching decisions

are therefore, made correctly. In practice, we have found that a value ten times the tracing

step size is appropriate for the branch point step size. It must be mentioned that as long

Page 73: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 60

A

B C

D

2 3

41

A

3 D

C

2

1

4

B

(a) (b)

Figure 4.16: Representation of MAT.

as the feature size constraint is not violated, even a coarser step size for tracing yields the

correct connectivity between the MAT segments.

Correctness

The proposed algorithm does not trace the bisectors for all the boundary pairs and then trim

them. Rather it traces the MAT segments directly by tracing the boundary of the domain.

As the points on the MAT determined are based on the definition of the MAT, the result

is always correct. Branching from one pair of boundary segments to another is also based

on the continuity of the MAT. The graph structure used both for tracing the boundary

and storing the MAT ensures completeness. As mentioned earlier, numerical tracing of

bisectors cannot be avoided and therefore, the proposed technique is as accurate as those

based on tracing bisectors. It is also believed that the trimming of bisectors requires as

much computation if not more than generating them to obtain the MAT [65]. Also, the

techniques based on tracing the bisectors have to subject the MAT segments generated to

the curvature criterion [16]. The algorithm does not have the problems of degeneracy as

mentioned by Kim et al. [10]. Degeneracy refers to the need for processing many branches

in the algorithm, each dealing with an exception to the main algorithm [10]. The main steps

of the algorithm described are those of tracing the simplified segment, checking for a branch

point and handling reflex corners. Each step in itself has no exceptions to handle and works

for the general case.

Page 74: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 61

B1

B2

DA

B C

E F

H G

P

B1

DA

B C

E F

H GP

(a) (b)

Figure 4.17: Branch point is obtained only by intersection of bisectors [16].

Complexity

Let ‘n’ be the number of boundary segments and ‘N ’ be the number of points on each

boundary segment. The complexity of the main computational tasks in the procedure are

O(1) for computing the intersection of two normals and O(n) for implementing the distance

check. The complexity for finding the part of the MAT corresponding to a single boundary

edge is O(Nn) and for the complete domain is O(Nn2), which is the worst case complexity

of the algorithm.

Comparison with Chou’s [16] method

Chou’s method is a bisector-based method whereas the present algorithm traces the MAT

along the boundary of the domain. This facilitates the use of line–line intersection technique

rather than the complex curve–curve intersection as required by Chou [16]. Moreover, this

algorithm can handle multiply-connected objects since a dag structure is used rather than a

tree structure. Also, Chou identifies the branch point of a bisector segment by intersection

with other bisector segments originating from another starting point and not by finding

other boundary segments violating the distance check. For example, the limit point P (refer

Figure 4.17(a)) of the bisector B1 is identified when the bisector B2 which starts from the

convex corner ‘C’ intersects B1, whereas the actual limit point P (shown in Figure 4.17(b))

has to be identified by finding the third equidistant boundary segment (which is GH here).

This is perhaps another reason why the algorithm in [16] cannot handle multiply-connected

objects. Tracing MAT along the boundary and intersecting normals also alleviates some of

the round-off errors involved in finding the intersection of bisectors as shown in Figure 2.2.

Page 75: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 4. MAT of planar domains with curved boundaries 62

4.6 Summary

An algorithm for generating the medial axis transform (MAT) for planar domains with

free-form boundaries has been described. The algorithm generates the MAT by a tracing

technique that marches along the object boundary rather than the bisectors of the boundary

entities. Criteria derived from the definition of the MAT are used to generate the points

on the MAT and to identify the branch points. The algorithm is shown to be robust and

correct. A smooth approximation to the desired accuracy is obtained by interpolating the

points obtained on each simplified segment of the MAT. Results of implementation on typ-

ical domains, including multiply-connected domains have been provided. The next chapter

presents an algorithm for extruded/revolved free-form objects using the 2D MAT algorithm

presented in this chapter. In chapter 6, an extension of the 2D MAT algorithm to construct

MAT for 3D objects bound by free-form surfaces has been presented.

Page 76: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5

MAT of 2.5D objects with free-formboundaries

5.1 Introduction

In this chapter, the problem of generating a MAT for solids with free-form curved entities,

obtained by extrusion or revolution about an axis of a profile has been addressed. MAT for

such objects is generated from the 2D MAT of the profile being extruded or revolved. The 2D

MAT is obtained by the tracing algorithm described in chapter 4. The proposed algorithm

uses the exact representation of the part and generates a Discrete-Exact representation of

the MAT. An approximation (to within a defined tolerance) of the MAT can be obtained by

fitting the points with rational spline curves and surfaces, as appropriate. It is shown that

the MAT points of the profile face are sufficient to determine the topology and geometry of

the MAT of the above class of solids. The algorithm is also applicable to objects generated by

multiply-connected planar profile faces. This chapter is structured as follows: Terminology

used in generating MAT on extruded or revolved objects is described in the next section.

An overview of the algorithm is presented in the following section. Some theoretical results

that form the basis of the algorithm are derived in the subsequent section. Details of the

algorithm are then presented followed by results of implementation. The chapter concludes

with a discussion of the results and the algorithm.

5.2 Terminology

Start (end) profile plane (SPP (EPP)): The plane containing the profile at the start (end)

of the extrusion or revolution is referred to as the start (end) profile plane. Without loss of

generality in this chapter, it is assumed that the SPP is the xy-plane at origin.

63

Page 77: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 64

X

Y

Z

L

E

Start Profile Plane

Direction of Extrusion

End Profile Plane

Extruded face

Profile edge

Figure 5.1: Terminology for extruded objects.

Page 78: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 65

Profile edge: Object edges in the profile plane are called profile edges. Edges in the

SPP are called start profile edges (SPE) and, in EPP are called end profile edges (EPE). In

general, profile edge implies SPE unless otherwise stated.

Profile face: A profile face is a closed loop of profile edges. It can also be multiply-

connected. A profile face at SPP is called start profile face (SPF) and that at EPP is called

end profile face (EPF). In general, profile face implies SPF unless otherwise mentioned.

In this chapter, the profile face is assumed to lie in the xy-plane. In the case of extruded

solids the profile is extruded along the z-axis to obtain the solid, and in the case of solids of

revolution, the profile is revolved about the y-axis. The profile face is assumed to not contain

the axis of revolution. The span of revolution is assumed to be less than 360◦. Handling

solids of revolution without profile faces (span of revolution equal to 360◦) is discussed later.

Extruded (revolved) face: The face formed by extruding (revolving) a profile edge is

called an extruded (revolved) face. This face is bound by profile edges from both profile

planes in one direction and straight lines (circular arcs) in the other direction.

Parallels and meridians: In a solid of revolution, the circles described by the points on

profile edges are called the parallels and the various positions of the profile edges are called

the meridians.

Ruling: The straight line in the extruded face formed by a point on the profile edge is

called a ruling.

Rmax: This is the maximum radius value of the MAT on the profile face.

Figure 5.1 illustrates some of the above terminology. Figure 5.2(b) shows the ruling.

Figure 5.3(b) shows the parallels and meridians.

5.3 Overview of algorithm

The proposed algorithm uses the 2D MAT of the profile (that is extruded or revolved) to

construct the 3D MAT of the extruded solid or the solid of revolution. Most of the entities

forming the 3D MAT are obtained by applying the same transformation on the 2D MAT as

is applied to the profile. The critical task is to identify the limiting entities of the 3D MAT

(seam points, junction points, seam and skeletal edges) correctly. The algorithm identifies

these (see section 3.4 in chapter 3) from the limiting entities in the 2D MAT (branch

points, normal points and points with LMPC) of the profile. This is possible because the

two transformations considered (to obtain the solid) have the following characteristics along

the span of extrusion or revolution:

Page 79: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 66

Z

X

Y

u

w

a

b

c

Direction of ExtrusionE

Profile edge p(w)

on the profile edgeNormal at a point

Ruling

d

(a) (b)

Figure 5.2: Normal vector on extruded face.

Page 80: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 67

Profile edge

Direction of a normal

Parallels

Meridians

Direction of normalsthrough revolution

(a) (b)

Figure 5.3: Normals at the surface of revolution.

• The normal to the extruded/revolved face at a point on the profile face is along the

same direction as the normal to the corresponding profile edge at that point.

• The principal curvatures at any point on an extruded (or revolved) face are the cur-

vature at the corresponding point on the profile edge and the curvature at the rul-

ing/parallel respectively.

These two characteristics are derived for the two types of solids based on their transformation.

The algorithm starts with the 2D MAT on the start profile face (SPF) of the object.

The maximum value among the radii associated with the 2D MAT points is then identified.

This is then checked against the span of extrusion or revolution to determine whether it is

possible to generate the 3D MAT from the 2D MAT.

The junction points in the 3D MAT are first identified using the branch points of the

2D MAT. It is proved that the branch points of the profile faces are sufficient to completely

determine the junction points. Identification of junction points using branch points avoids

the need to perform a distance check at all seam points and with all faces of the object.

This reduces the computational complexity. Points on the seam are then generated using

Page 81: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 68

the normal points on the 2D MAT of the profile face (both ends). This is accomplished

by transforming the normal point on the 2D MAT of the SPF and the EPF. Note that

the MAT points corresponding to the EPF can be obtained by transformation of the MAT

points on the SPF by the span of the object. Alternately, the 3D MAT points from the

EPF can be obtained using the 2D MAT points from the SPF itself. The critical step is the

computation of the span of transformation (length of extrusion or the angle of revolution).

The span of transformation is computed based on the radius function of the 2D MAT. It

is shown that the seam points so obtained satisfy the distance criterion and the curvature

criterion. The algorithm therefore provides a simple method to obtain the MAT. Simplicity

of the proposed method is due to the elimination of complex and computationally expensive

numerical procedures that are normally associated with MAT.

Identification of junction points using the branch points generates three seams (if the

branch point is not a degenerate one). This is because a non-degenerate branch point has

three MAT segments. Since a non-degenerate junction point has four seams, the fourth seam

is identified next. The fourth seam is obtained by finding the ruling or parallel corresponding

to the junction point. The span of the transformation to identify the ruling/parallel is equal

to the span between the junction point derived from one profile face and its corresponding

junction point derived from the other profile face. This is repeated for all junction points till

all the seams associated with each junction point are obtained. However, a similar procedure

can be used to handle degenerate branch points that produce degenerate junction points and

no special procedures are required to handle such cases.

For profiles with free-form entities, 2D MAT segment can terminate at one of the

following – a convex vertex, a branch point, or the centre of curvature of a point with

LMPC. An end point of a 2D MAT segment that is not a branch point or a convex vertex,

is the centre of curvature of a point with LMPC ([16], chapter 4). The rulings/parallels

corresponding to these limit points in the 2D MAT are the principal curves in the notation

of Turkiyyah et al. [53]. The maximal spheres corresponding to these points have a single

point contact and the centres of such spheres form the skeletal edge. In our procedure, the

skeletal edge is obtained directly by transforming the limit point (which is the centre of

curvature corresponding to the point with LMPC in the profile edge) on the 2D MAT.

The algorithm terminates when all the limit points in the 2D MAT have been processed.

Interpolation of the seam points generates the seams. Sheets formed by seams between

junction points are obtained by transforming the seams and the remaining sheets are obtained

using a surface interpolation scheme. Seams and sheets can be represented as NURBS curves

Page 82: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 69

and surfaces respectively.

5.4 Theoretical background

It can be shown that the normal to the extruded/revolved face at a point on the profile

face is along the same direction as the normal to the corresponding profile edge at that

point. Moreover, it can also be shown that the normal at any other point on the extruded

or revolved face is obtained by a similar transformation of the normal at the corresponding

point on the profile edge.

Appendix B.1 states the above result as a theorem and provides a formal proof for

the same. Theorem .1 follows from the results for parallel transport in differential geometry

[73]. However, a formal proof has been derived for the parametric representation of the

profile and surface for the sake of completeness.

The significance of the above results is that a footpoint on the 2D MAT when trans-

formed (either by extrusion or revolution) is a potential touchpoint for the 3D MAT with

the transformed centre of the disk in the 2D MAT as the centre of the maximal ball.

It has been shown [73] that for a surface of extrusion or revolution, the lines of curvature

are the parallels and the meridians. Appendix B.2 presents the derivation of the principal

curvatures for the objects of extrusion and also for the surface of revolution represented

parametrically for the sake of completeness. Figure 5.4 shows the two principal planes

(containing the minimal curvature and maximal curvature curves respectively) at a point ‘p’

on an extruded surface.

Corollary 5.1 The curvature criterion is automatically satisfied at the 3D MAT point ob-

tained by transforming a 2D MAT point on the profile plane.

Proof for extruded objects

When k1 > 0 (refer Appendix B.2), it implies that maximal positive curvature at any point

on the surface of extrusion is the same as that on the corresponding profile edge (given by

‘k’). When k1 ≤ 0, the curvature criterion is not applicable as it is defined only for regions

of positive curvature [16]. Hence the corollary. 4

Proof for objects of revolution

Curvature criterion needs to be checked only around regions of maximal positive curvature.

Hence only the principal curvature lines on the surface need to be considered. For surface of

Page 83: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 70

p

2

Plane containing k1

Plane containing k

N

Figure 5.4: Geometric interpretation of normal curvature at p.

revolution the principal curvature lines are the meridians (profile) and the parallels respec-

tively (Appendix B.2). For a point on the profile, curvature criterion need not be checked

against the principal curvature along the meridian as the presence of 2D Mat ensures against

violation. For any point on the profile, the curvature is constant along the parallel (both

sintheta and x are constant along the parallel (refer Appendix B.2)). For the failure of

curvature criterion to happen with respect to the curvature along the parallel, the radius

of the maximal ball must be greater than the radius of curvature along the parallel. For a

closed domain, this is not possible. Therefore the curvature criterion will not be violated

along this principal direction as well. The corollary follows. 4The given theoretical background along with the above corollary 5.1 form the basis of

the procedure to construct the 3D MAT from the 2D MAT of the profile face.

5.5 Algorithm details

The algorithm finds the junction and seam points from the points on the 2D MAT of the two

profile faces. The seam points here belong to the seam that is either between the junction

points and convex vertices or between junction points and other limit points (corresponding

to points with maximal curvature) and are identified for each plane. Other limit points

of the 3D MAT (corresponding to points with maximal curvature) are then identified. The

Page 84: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 71

Maximal disk

r

r

r r

d

e

Maximal sphere

a

a’

b

b’

c’

c

Figure 5.5: Junction points using branch points for extruded objects.

remaining seams (corresponding to junction points from either profile planes) and the skeletal

edges at the limit points are identified. The algorithm terminates when all the limit points

in the 2D MAT have been processed and all the seams at each junction point have been

determined. The following three main steps in the algorithm are explained in detail.

• Identification of junction and seam points;

• Identification of other limit points;

• Seam identification between junction points.

5.5.1 Identification of junction and seam points

The junction points corresponding to the branch points in the profile face are identified first.

As mentioned earlier, the junction points are obtained by the transformation of the branch

points in the 2D MAT of the profile face. In order to do so, the span of this transformation

is identified first. The span is identified from the radius function of the 2D MAT.

When the transformation is extrusion, it is easy to see that the span of extrusion is

the radius of the disk at the branch point in the 2D MAT. This is illustrated in Figure 5.5.

Point ‘d’ in the figure corresponds to a branch point of the 2D MAT of SPF and its

corresponding footpoints are a, b and c. The maximal disk at the branch point is also shown.

Page 85: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 72

Extrusion of the branch point along the extrusion direction by a distance equal to the radius

of the disk, results in point ‘e’. To prove that point e is indeed a junction point in the 3D

MAT, consider the extrusion of the trimmed normals at the three footpoints – ‘ad’, ‘bd’ and

‘cd’ by the same distance to obtain the points a’, b’ and c’ respectively. Since the extrusion is

by the radius of the disk at d, d’ is the centre of a sphere. By theorem B.1, the touchpoints

of this sphere (points a’, b’, c’ and d) on the solid are along the normals to the respective

faces. Therefore, the point ‘e’ is a junction point. It may be noted that the curvature

condition is automatically satisfied by corollary 5.1. A similar procedure is applicable for

branch points in EPF but the extrusion is done along the opposite direction. The MAT

points corresponding to the EPF can be obtained by transformation of the MAT points on

the SPF by the span of the object. Alternately, the junction points from the EPF can be

obtained using the branch points from the SPF itself. For example, in the case of extrusion,

if the co-ordinates of a junction point obtained from SPF is (x, y, r) where ‘r’ is the span of

transformation, then the co-ordinates of the junction point from EPF is (x, y, L− r), where

‘L’ is the length of extrusion. A similar procedure holds good for objects of revolution also.

This procedure avoids the complex distance check required to identify a junction point.

Span of transformation for revolution

The span of transformation for obtaining the junction points when the solid is obtained by

revolving the profile face is derived as follows. Let m be the branch point in 2D MAT (Figure

5.6(a)) with its footpoints being a, b and c. Let the branch point m and the normals am,

bm and cm be revolved along the path of revolution to obtain the points m’, a’, b’ and c’

respectively. From theorem B.1, a sphere centred at m’ has the points a’, b’ and c’ as its

touchpoints (Figure 5.6(b)). Note that unlike in extruded objects, point m does not become

a touchpoint. This is because the normals are moved along the path of revolution (which is

not a direction perpendicular to the profile face). For this sphere to be the maximal sphere,

it is easy to see that the shortest distance between m’ and the SPP must be the radius ‘r’

of the maximal disk at m. Therefore, the span of revolution that ensures that the shortest

distance between ‘m’ and the SPP is ‘r’ is to be determined. Let the point on SPP that is

closest to m’ be d’. Since the SPP is the xy plane at origin, it follows that, r = | − xsinθ|(from equation B.7), where θ is the angle of revolution. Hence, θ = arcsin(r/x) is the

required span of transformation.

Since ‘r’ is the radius of a maximal disk (contained in the profile face) and the axis of

revolution is not in the profile face, ‘r’ can never be greater than ‘x’.

Page 86: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 73

rr

rm

a

b

c

Maximal disk

yz−plane

m’d’b’

m’a’ r r

rr

c’

rp

q

Maximal sphere xy−plane

Path of revolution

(b)(a)

Figure 5.6: Required span of revolution.

Page 87: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 74

r rr

rr

c

d

rb’

a

a’ b

Figure 5.7: Seam points using normal points for extruded objects.

Proposition 5.1 The junction points are completely determined from the branch points of

the profile faces at both the profile planes.

Proof: Let there be a junction point (non-degenerate) which does not correspond to

the branch point. This junction point has by definition four touchpoints on the object. An

inverse transformation of the maximal sphere at the junction point by the same span as was

used to obtain the junction point would yield a sphere centred at a point on the profile plane.

Projection of this sphere on the profile plane yields maximal disk that has three footpoints.

Hence, the corresponding point in the profile face has three equidistant profile edges which

has to be a branch point by definition. Hence the proposition. 4

The above proposition indicates that it is sufficient to use the branch points of both

profile faces to identify junction points and this is complete i.e. there cannot be any other

junction point. This is the reason why each seam point is not subjected to the distance check

to identify junction points.

Finding seam points

Points on the seam between the junction points identified above are obtained by transforming

the normal points in the 2D MAT by spans as identified above. It has been shown that both

Page 88: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 75

the distance and curvature criterion are satisfied at the 3D MAT points so obtained. The only

thing remaining to be proved is that each point so obtained has exactly three touchpoints

and therefore is a seam point.

With reference to Figure 5.7, let the point ‘c’ be a normal point in the 2D MAT of

the profile face. The corresponding footpoints are ‘a’ and ‘b’ and the radius of the disk is r.

From theorem B.1, transformation of the two footpoints yields the touchpoints of a sphere

of the same radius centred at a point obtained by transforming the centre of the disk. The

sphere therefore has three touchpoints and the centre of the sphere therefore is a seam point.

By a mere transformation of the normal points of MAT on the profile face, a point

on the seam satisfying the distance criterion is obtained. This process is repeated from the

EPF to generate seam points from the normal points of the MAT on the EPF. Alternately,

the seam points from the EPF can be obtained using the normal points from the SPF itself

in a similar manner to the generation of the junction points, as described earlier. It may

be noted that the span of transformation identified above to obtain the junction and seam

points also imposes a lower bound on the span of transformation used to obtain the solid.

If the distance through which the profile face extruded is less than 2 ∗Rmax (alternately the

angle through which the profile face is revolved is less than 2 ∗ arcsin(Rmax/x), where x is

the corresponding x-coordinate value of that MAT point), the above procedure to identify

the junction points and seam points will not work.

In the case of extruded solids, the sphere centred at the seam point obtained by extrud-

ing the normal point is not maximal only if the other profile face is less than the diameter

of this sphere away from the profile face being considered. A similar argument works for

the case of revolved solids. It is sufficient to consider Rmax because all other disks (and

consequently, the spheres) are smaller.

At the beginning of the algorithm, it is checked if the span of transformation of the

solid is greater than the respective lower bounds.

As long as the extruded distance is greater than twice the maximum radius of MAT

of the profile face, the above procedure identifies non-degenerate junction points. When the

extruded distance is equal to 2 ∗ Rmax, the algorithm generates degenerate junction points

and seams. Degenerate cases also arise when the radius value at a branch point becomes the

maximum radius value of MAT on the profile face. Similarly, degeneracies happen in the

case of objects of revolution if the angle of revolution is equal to the corresponding lower

bound.

Page 89: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 76

Maximal sphere

C

A

B

E

D

A1

C1

D1

E1

LMPC

B1

Skeletal edge

with single pointcontact

P

P1

Principal curve

Figure 5.8: Smooth case and violation of curvature criterion.

5.5.2 Finding other limit points

A 2D MAT segment terminates at one of the following – a convex vertex, a branch point, or

the centre of curvature of a point with LMPC. When the limit point is a convex corner, the

convex vertex also becomes a termination point for the 3D MAT. Identifying junction points

corresponding to the branch points has already been described above. This section describes

the identification of the entities in the 3D MAT corresponding to the centre of curvature of

a point with LMPC. In such cases, the maximal disk has a single footpoint on the boundary

i.e. the maximal disk touches the boundary at only one point.

The 3D limit point corresponding to this 2D limit point is obtained as in the other

cases by transforming the 2D limit point as described earlier. Similar to the seam between

junction points there are skeletal edges between such 3D limit points (obtained from the two

profile faces). The skeletal edge is obtained as a ruling (or parallel for solid of revolution)

between the limit point identified for the two profile faces (Figure 5.8).

The touchpoints corresponding to the points on the skeletal edge are points of extremal

maximal normal curvature [53].

5.5.3 Seam identification between junction points

At this instance, all the junction points have been identified but all the seams connected to

the junction points have not been identified. Figure 5.9(a) shows the junction points q, q’,

Page 90: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 77

S1

S2

c2

c1

Maximal sphere

qc

a

b

q’

s

s’

pq

Maximal sphere

Maximal disk

q’

s

s’

(a)(b)

Figure 5.9: Seam between junction points.

s and s’ and the seams (in thick lines) that have been obtained by transforming the branch

points and normal points of 2D MAT so far.

The junction points at this stage have only three seams each, as they are obtained from

branch points with three footpoints. The fourth seam is obtained as a ruling (or parallel

for solid of revolution) between the corresponding junction points in the two profile faces

(Figure 5.9(b)). These junction points are then flagged to avoid duplication. If the branch

points in the 2D MAT have more than three footpoints then the corresponding junction

point has more than four touchpoints. In such cases also, the procedure works and results

in degenerate seams (more than three touchpoints).

Proposition 5.2 Center of the maximal sphere at a junction point (obtained from a branch

point at SPP) generates points on the seam when the sphere is moved along the path of trans-

formation (extrusion or revolution) till it reaches a corresponding junction point generated

by EPP.

Proof: At the junction point the sphere has four touchpoints. Transforming the centre

of the sphere along the path of transformation of the profile face reduces the touchpoints by

one as the sphere no longer touches the profile face. As the other three touchpoints continue

to be touchpoints (by theorem B.1), the transformed centre now has only three touchpoints

Page 91: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 78

Figure 5.10: MAT for test object 1.

and therefore is a point on the seam. 4

5.6 Results and discussion

The algorithm described has been implemented and this section presents the results obtained

for some typical objects. Profile edges are represented as rational B-spline curves, the ex-

truded faces are represented by the equation for a ruled surface and the revolved faces are

represented by the corresponding surface of revolution equation. Representation of seams

and sheets obtained are discussed later.

MAT obtained for some free-form as well as polygonal extruded objects are shown in

Figures 5.10 to 5.14. The algorithm is able to generate MAT for objects with complex

boundary profiles (Figure 5.10), reflex edges (Figure 5.11), multiply-connected profiles

(Figure 5.12), polygonal extrusion (Figure 5.13) and smooth edges (Figure 5.14). Figure

5.15 shows the MAT for an object of revolution. Figure 5.16 shows that this algorithm can

handle objects having degenerate junction points.

Table 5.1 shows the time taken for generating 3D MAT for some of the figures. This

time includes the time for generating the MAT on the profile faces. The implementation is

Page 92: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 79

Figure 5.11: MAT for test object 2.

Figure 5.12: MAT for a multiply-connected object.

Page 93: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 80

Figure 5.13: MAT for a multiply-connected polyhedral object.

Figure 5.14: MAT for an object having smooth boundary and LMPC in the profile edges.

Page 94: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 81

Figure 5.15: MAT for an object of revolution.

Figure 5.16: Object having a degenerate junction point.

Page 95: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 82

Figure no. Numberof junctionpoints

Time (inseconds)

5.10 12 35.11 26 55.12 32 65.15 6 2

Table 5.1: Time taken for generation of MAT for some 2.5D typical objects

on a PIII machine with 256MB RAM.

5.6.1 Discussion

Accuracy of the 3D MAT generated depends on

• the step size used for generating the 2D MAT and

• the definition of the sheets from the seams.

Each seam is represented as a rational spine curve. The sheets which have the junction

points as its limits can be represented as surfaces of extrusion or revolution depending on

the transformation used to generate the solid. The geometry of the other sheets can be

computed since the defining entities (portions of two faces of the solid) of each sheet are

known. Assuming a touchpoint on one boundary entity, the corresponding touchpoint on

the other boundary entity can be identified numerically and thereby, the corresponding MAT

point itself. Since the bounding curves of the sheet are known, a suitable surface interpolation

scheme can then be used to identify the geometry of that sheet.

The completeness of the algorithm is argued as follows. ‘Completeness’ refers to the

generation of all seams in the 3D MAT. By proposition 5.1, all junction points are obtained

by processing all the branch points in the 2D MAT. Subsequent steps generate all the seams

at each junction point. Therefore all the seams and junction points are determined. The

complexity of the algorithm is quite obviously O(n2), where ‘n’ is the number of boundary

entities (edges and reflex vertices) present in the SPE.

When the solid is obtained by revolving a profile through 360◦, the junction points,

seams, other limit points and the sheets can be identified as described above. Since the two

profile faces are not present in the solid, the 3D entities that correspond to the two faces

Page 96: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 5. MAT of 2.5D objects with free-form boundaries 83

(convex end points, junction points and seams between junction points that are obtained

from a face) are not present in the final 3D MAT. In this case therefore, seams need not

be generated. In the implementation, only the junction points, end points and other limit

points in the profile face are identified and these are revolved to form the sheets.

The proposed algorithm does not use any differential equation for generating seam

and junction points. It exploits the nature of the solids under consideration and uses simple

transformations to find the MAT entities. Therefore, no complex numerical procedures need

to be used. As the points on MAT determined are based on the definition of MAT, the result

is always correct. The proposed technique is more accurate than differential equation based

methods as it involves only minimal numerical procedures. Moreover, this method is efficient

since a distance check is not done on each seam point to identify junction points. It is evident

from the table 5.1 that the time taken for generating 3D MAT using this algorithm is of the

order of seconds whereas other algorithms take time that is in the order of minutes even for

polyhedral objects [45]. Time taken for some free-form objects can be found in [53] and is

in the order of minutes even after incorporating complex optimisation techniques.

The approach described in [39] is quite involved as all boundary pairs have to be

considered and each Voronoi surface obtained has to be correctly trimmed. Moreover, their

approach involves simple algebraic equations only in the case of quadric curves and surfaces.

In contrast, our approach exploits the structure of solids (that form primitives in general)

to obtain a more accurate MAT in an efficient manner. Since the profile can be arbitrary

(as long as it is planar) the range of objects handled here is larger than the set of primitives

considered in [39].

5.7 Summary

An algorithm for generating the medial axis transform (MAT) for extruded or revolved

objects with free-form boundaries has been described. The algorithm generates the MAT by

a transformation of points available in the MAT of the profile faces instead of using numerical

tracing procedures. Criteria derived from the definition of the MAT are used to generate the

points on the MAT and identify the junction points. The algorithm is shown to be robust

and correct. Results of implementation on typical solids, including multiply-connected solids

have been provided.

Page 97: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6

Algorithm for 3D objects bound byfree-form surfaces

6.1 Introduction

In this chapter, the problem of generating a MAT for solids with free-form entities is ad-

dressed. The algorithm proposed uses the exact representation of the part and generates a

Discrete-Exact representation of the MAT. Just as in the case of 2D domains, an approximate

rational description (to within a defined tolerance) of the MAT can be obtained by fitting

rational spline curves and surfaces to the MAT points generated. The algorithm presented

traces the MAT of the part, segment by segment by marching along the domain boundary.

This algorithm is an extension of the 2D MAT algorithm presented in chapter 4. Unlike

the 2D case, the equations to be solved here to obtain the footpoints and the corresponding

MAT point are multi-dimensional, and precisely five equations in six variables when surface

triplets are involved. Points on the MAT are obtained by tracing along one variable (tracing

parameter) and solving a system of five equations for the other variables. Moreover, in 3D

the determination of the tracing parameter and the direction of traversal is not obvious as

in 2D. Here, an elegant formulation and a procedure to determine the tracing direction are

presented. Unlike the approach in [46], which is also based on tracing, the present algorithm

traverses along the boundary to identify a point on the seam rather than traversing along

the tangent to a point on the seam. This facilitates the handling of free-form boundary

entities unlike in [46] where only polyhedral entities have been handled. This is because

the tangent to the MAT entities need not be determined at every step. In this chapter, the

term ‘boundary entities’ refers to boundary surfaces, reflex edges and reflex corners present

in the object.

This chapter is structured as follows: The next section presents an overview of the

algorithm. Details of the steps in the algorithm are presented next, followed by results of

84

Page 98: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 85

implementation. The chapter concludes with a discussion of the results and the algorithm.

6.2 Overview of the algorithm

The algorithm constructs the MAT by tracing the seam segments. The seam segments are

traced by marching along a parametric direction (referred to as the tracing parameter) on

one of the faces in a triplet and solving for the touchpoints of all three boundary entities

corresponding to a point on the seam. This is accomplished by solving the intersection of

the normals to the surfaces in the triplet and imposing the distance criterion. A point on

the MAT is obtained from the intersection of the normals to the surfaces at the touchpoints

followed by a check against the curvature criterion. Given that the normals are linear

in contrast to the bisectors which can be rational surfaces, the computational effort and

computational complexity are greatly reduced.

Tracing of a seam starts from a convex vertex, where all the touchpoints are known

(they are the convex vertex itself). It is assumed that the input domain contains at least

one convex vertex. During the tracing of seam points, at chosen intervals, the algorithm

checks for the existence of a junction point. This check is a distance check with all other

boundary entities of the object. The distance check is done by finding the minimum distance

between a point (here, a seam point) and a boundary entity (predominantly, a boundary

surface). To improve the efficiency of the check for junction points, a more restricted check

that gives the correct result is proposed. For determining the presence of a junction point,

it is shown that it is sufficient to check for interference with boundary entities that have not

been fully traced thus far. This ensures that as the generation of seams progresses, the check

for junction points involves fewer boundary entities.

Once the existence of a junction point is confirmed, three of the touchpoints corre-

sponding to the junction point are known and the remaining touchpoints of the junction

point are determined from the boundary entities that fail the distance check. At a junc-

tion point, there are at least four boundary entities that have touchpoints corresponding to

that junction point. Assuming a non-degenerate junction point (only four boundary entities

present at the junction point), the four triplets of boundary entities are identified (note that

one of the triplets is already used). Using the remaining triplets, other seam segments are

traced from the junction point. It is assumed that one of the entities in a triplet is a bound-

ary surface. The critical task here is the identification of the new tracing parameter and the

direction of tracing. These (parameter and direction) are fixed by determining/estimating

Page 99: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 86

the direction of the tangent to the new seam at the junction point. Alternately, a generate

and test procedure can be used with both parameters for each boundary surface present in

the triplet for the new seam.

Failure of curvature criterion indicates the presence of a point with extremal principal

curvature [53] in the vicinity. In such cases, the seam terminates at the centre of curvature

corresponding to the point that has the extremal principal curvature. The tracing procedure

used therefore, originates at a convex vertex and ends at either a convex vertex or at the

centre of curvature corresponding to the point that has the extremal principal curvature.

The algorithm terminates when all the convex vertices in the part have been visited,

no triplets remain to be traced at any junction point and all surfaces in the object have been

visited.

The output of the algorithm is a set of points on each seam. Rational curves are fit

to the points in each seam segment. Since sheets are bound by seam segments and a sheet

is generated by two faces in the object, the topology of the sheet can be determined by

grouping the seam segments where two of the faces in their governing triplet of faces are

the same. The sheets can then be determined either by using bisectors of the face pair or

through a numerical tracing scheme.

6.3 Algorithm details

Though this algorithm is an extension of the algorithm for constructing 2D MAT, all the

steps are described again in detail, as in each step there are variations due to the 3D domain.

For example, identification of the tracing direction at a junction point (which is trivial in 2D)

requires a separate procedure in 3D. Similarly, the additional lower dimensional boundary

entities in 3D require to be processed separately. The algorithm consists of the following

steps.

• Tracing step;

• Checking for a junction point;

• Tracing from a junction point;

• Handling a reflex edge;

• Handling a smooth edge;

Page 100: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 87

• Handling a reflex corner;

• Start of the algorithm;

• Termination of the algorithm;

• Determining the sheets.

6.3.1 Tracing step

The boundary surfaces are parameterised such that the normal at any point on the surface is

pointing away from the enclosed material. Let S1(u, v), S2(s, t), S3(q, r) be the surface triplet

under consideration. The tracing steps consists of the following tasks.

1. Modify the tracing parameter by the tracing step size along the direction of tracing.

The seam is traced by finding the intersection of normals to the three surfaces such

that the distance criterion is satisfied. The computational effort is in finding the roots

of five nonlinear equations in five variables (see Appendix C.1). Convergence is fast

as a good initial guess is always available (the previous touchpoints on the surfaces).

2. At each seam point, check if the intersection point satisfies the curvature criterion.

The intersection of normals that satisfy both the distance and curvature criterion

is a point on the seam. Such a point exists as the seam point is the intersection of two

bisectors. Here one parameter is fixed and the other parameters are searched for such that

their intersection of normals from their respective surfaces satisfy the distance criterion for

a point on a seam. The procedure to choose the tracing parameter and the tracing direction

is described later. The set of equations is solved using the globally convergent Newton–

Raphson method (Newton–Raphson method combined with line searches and backtracking)

[75].

The check against the curvature criterion is a comparison of the radius function (dis-

tance between the touchpoint and the seam point) with the radius of curvature (reciprocal

of maximum normal curvature) at the touchpoints. The maximum normal curvature is iden-

tified using the Gaussian (K) and mean (H) curvatures [73, 74]. The procedure followed

when the curvature criterion is violated at a point during tracing is discussed later during

the description of tracing from a junction point.

Page 101: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 88

6.3.2 Checking for a junction point

A seam terminates at one of the following – a convex corner, a junction point, or the centre of

extremal principal curvature. Termination of tracing of a seam at a convex corner is straight

forward as it only involves comparing the parameter values with the bounds on the same

and checking if the vertex is convex or not. When the seam terminates at a junction point,

additional checks are required to first determine the existence of the junction point and then

to trace seams from the junction point. Termination at the centre of curvature of a point

with extremal principal curvature is indicated either by failure in the curvature criterion or

when the end of a surface that is not a convex vertex is reached without encountering a

junction point.

The existence of the junction point can be identified by finding the distance of the

current seam point from the remaining boundary entities and checking if this distance is

less than the radius value at the current seam point. Distance between a seam point and

a boundary entity is identified by using the minimum distance calculation between a point

and the corresponding boundary entity. The boundary entities that are in the current triplet

are not used for finding the junction point. Since it is extremely expensive to check with

all the boundary entities at all the seam points, this effort is reduced by the following.

Distance check is not performed at all points generated on the seam. Checks for a junction

point is triggered by a different (and larger) step size called ‘junction point’ step size. It is

shown that the check for junction point need not consider boundary entities for which all

the corresponding seam segments have already been identified.

Proposition 6.1 Portions of the boundary entities for which the MAT segments have al-

ready been traced need not be considered in performing distance check to identify junction

points, while generating subsequent seam segments.

Proof: Let the proposition not be true. Then at some point ‘P’ on the seam segment

being generated using a triplet, the maximal ball cuts one or more boundary entities that

have been already traced. In such a case, it is possible to find a smaller ball centred at P

that is tangential to the boundary entity that has been cut and one of the three entities in

the current triplet. This results in a point on the boundary entity that was cut having two

MAT points corresponding to it. This violates the onto correspondence between a point on

the boundary of the domain and its corresponding MAT point (the correspondence relation

between the two is a continuous, one-to-one onto map) [16]. The maximal ball at point

P therefore, cannot cut any of the boundary entities that have already been traced. The

Page 102: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 89

proposition follows. 4

It must be mentioned that the above proposition holds even for portions of the bound-

ing entities for which the MAT segments have been traced. However (unlike the 2D case),

keeping track of this in 3D during the distance checks involves additional effort that would

nullify the gain in reduction of the search space.

Due to the different step sizes used for tracing the seam point and for checking junction

points, it is possible to overshoot a junction point during the tracing procedure. A simple

bisection procedure implemented between the last point on the seam where the distance

check was not violated and the current point where it violated identifies the junction point.

6.3.3 Tracing from a junction point

At a junction point, there are at least four boundary entities. Four triplets of boundary

entities are possible out of the four boundary entities. Let S1(u1, v1), S2(u2, v2), S3(u3, v3)

and S4(u4, v4) be the four boundary entities at a junction point. One of the triplets, say,

(S1(u1, v1), S2(u2, v2), S3(u3, v3)) has already been used for tracing a seam. For each of the

remaining triplets, the corresponding equations are solved to generate the seam. Once the

triplet generates a valid seam, that triplet is marked as visited to avoid duplicate tracing.

Note that when the triplet meets in a convex corner, there is no need to check for junction

points during tracing. This is because when the triplets meet in a convex corner, there is no

other junction point (see proposition 6.2) (note however that a junction point is possible if

there is a failure in the curvature criterion).

Proposition 6.2 When a MAT segment is generated from a junction point by traversing

along a surface triplet that share a convex corner, no other junction point (with a boundary

segment other than the current triplet) is encountered during the traversal till the convex

corner.

Proof: Let Si, Sj, and Sk be the surface triplet that intersects in a convex corner ‘A’,

the seam for this needing to be traced from a junction point ‘J’. Since they intersect in a

convex corner, it is clear that there cannot be any other boundary entity between them.

Assume that another junction point (say ‘J1’) is encountered during the tracing along this

surface triplet. This implies that there are two MAT segments for the same triplet, one from

the junction point ‘J’ to junction point ‘J1’ and the other that starts/ends from the end

convex corner ‘A’. As there can be only one MAT segment for a surface triplet (because of

Page 103: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 90

the one-to-one onto correspondence between the points on the MAT and their corresponding

points on the boundary segments), the tracing of MAT from junction point ‘J’ to the convex

corner cannot encounter any other junction point. The proposition follows. 4

Identifying the tracing direction

In this step, the tracing parameter and the direction along which tracing has to be done

from a junction point is determined. Due to the continuity of the MAT, in principle, either

parameter on a surface is a candidate tracing parameter. However, if the touchpoints of the

seam on a surface are along an iso-parametric curve on the surface (or close to it) then the

numerical procedure to identify the new seam point cannot use this parameter as the tracing

parameter. In such cases the other parameter on the surface has to be chosen as the tracing

parameter.

Since the triplet for which the seam has to be generated is known, a generate and test

procedure can be adopted to identify the parameter to be used for controlling the tracing

procedure and the direction in which the parameter has to be modified. The candidates are

the parameters of any one of the faces in the triplet. Since each parameter can be modified

along two directions there are four cases. Due to the continuity of the MAT one of these

directions has to result in a valid seam. If a valid seam is generated by marching one step in

any direction, that becomes the tracing direction. The seam point generated is valid if the

following conditions are satisfied: All the parameters (corresponding to touch points in each

face) are within their bounds. The seam point satisfies the distance criterion. Finally, the

distance of the remaining faces corresponding to the junction point from this seam point is

larger than the radius function at the junction point.

An alternate method to determine the tracing direction at the junction point uses the

direction of the tangent to the new seam at the junction point. The tangent to the new seam

is obtained from the touchpoints on the faces in the triplet corresponding to the new seam

as follows: The normal of the triangle formed by the touchpoints (refer Figure 6.1 where the

touchpoints T1, T3 and T4 form a triangle) through the junction point is the direction of

the tangent to the new seam corresponding to this triplet. The normal is projected onto the

tangent plane of one of the faces at the touchpoint. This face must have also been part of

the previous triplet for which the seam was traced. The tracing parameter and the direction

are then determined based on the direction of the projected normal. The parameter along

which the tangent is closest to the projected normal is taken as the tracing parameter. The

Page 104: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 91

A

B

T2

T1

T3

T4

C

D E

F

G

H

I J

L

M

N K

J1nor

Figure 6.1: Identifying the tracing direction.

Page 105: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 92

m

m

(a)

(b)

Maximal spherewith singlepoint contact

J

CC

Principal curve Skeletal edge

T2

T4T1

T3J

T

Figure 6.2: Failure of curvature criterion in 3D.

Page 106: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 93

choice of tracing direction is made based on the direction in which this parameter has moved

in tracing the previous seam.

Failure of curvature criterion

Failure in the curvature criterion implies that the tracing of the seam has missed a junction

point. Point ‘m’ in the Figure 6.2(a) is a point, where failure of curvature criterion happens

(‘T’ is the touchpoint on the surface where the curvature criterion fails). The failure in

curvature criterion facilitates the identification of the junction point ‘J’, where the fourth

surface corresponding to the junction point is also one of the surfaces in the current triplet.

Junction point ‘J’ is identified by backtracking the traced seam. During backtracking at each

seam point the distance check for a junction point is performed with only the surface where

the curvature criterion has failed. After ‘J’ is identified, the corresponding touchpoints are

T1, T2, T3 and T4, where T4 is the touchpoint on the surface where T1 also lies (refer Figure

6.2(a)). Checking against the curvature criterion is better than including the faces in the

current triplet in the check for junction point since this is cumbersome. From the junction

point ‘J’, the tracing can be done as usual. However, in two of the triplets, two surfaces

are the same but have different touchpoints. Note that the termination of one of the seam

ends at the centre of curvature of the point where the curvature criterion fails. The point on

the surface is called extremal maximal positive curvature point and a trace of such points

on the surface gives the principal curve. There exists a seam corresponding to the principal

curve called the skeletal edge (refer Figure 6.2(b)), where the maximal spheres have a single

touchpoint. Also, note that it is quite tedious to find the principal curve of any surface a

priori. Violation of the curvature criterion helps in identifying points on the principal curve.

6.3.4 Handling a reflex edge

A reflex edge is represented as a set of cylindrical arcs with zero radius. Associated with

each arc segment is a normal. The normals are assigned to these segments in order, such

that the change in the normal while crossing the reflex edge is divided uniformly across these

segments. Tracing of seam points is done using the equations in Appendix C.2 considering

one of the surfaces as a curve. The check for the presence of a junction point has to be done

here as well, since it is possible to encounter a junction point.

Page 107: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 94

6.3.5 Handling a smooth edge

The domain may contain edges that are tangential, i.e. the edge between two surfaces is a

smooth one. In such cases, the tracing procedure does not terminate when the smooth edge

is reached. The tracing procedure continues with the adjacent tangential surface and the

other entities in the current triplet. As in 2D, the termination of a seam segment can occur

at the centre of curvature of the point with extremal maximum normal curvature.

6.3.6 Handling a reflex corner

When a reflex corner is encountered while tracing (this is most likely to happen when one of

the boundary entities at a junction point is a reflex corner), the tracing procedure uses the

equations in Appendix C.3 considering one of the surfaces in the triplet to be a point.

It must be mentioned here that at the junction point there could be other combinations

of boundary entities forming the triplet responsible for a seam from the junction point. The

seam can be traced for any of these triplets using similar formulations as outlined for the 3

surfaces, 2 surfaces and 1 curve or 2 surfaces and 1 point combinations.

6.3.7 Start of the algorithm

Tracing starts from a convex corner. It is assumed that there is at least one convex corner

present in the object. One of the parameters of any of the incident faces is chosen as the

tracing parameter. The tracing direction is that which yields points inside the face.

6.3.8 Termination of the algorithm

The termination of the algorithm occurs when all the convex vertices are visited by tracing,

no triplets remain to be traced at any junction point and all the faces have been visited.

6.3.9 Determining the sheets

In this step, the sheets formed by the seam segments are identified using a procedure similar

to that described in [45]. Loops of seams and convex edges on the object boundary are

formed. Each seam is used in more than one loop. Each loop obtained forms the boundary

of a sheet. From each loop, the face pair that corresponds to the sheet is obtained by

identifying the common pair of faces in the triplets corresponding to each seam in the loop.

The geometry of the sheet can now be obtained by trimming the bisector of the pair of faces

Page 108: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 95

[77] with the bounding loop of seams. Alternately, a tracing procedure can be used with the

face pair to obtain sheet points. These are then fit with a surface to the desired accuracy

and trimmed with the bounding loop of seam segments.

6.4 Illustration of the algorithm

In this section, we use a simple example to illustrate the procedure to construct all the

seams and thereby the MAT of the object. Tracing starts at the convex corner ‘A’. Let us

assume that the surface S1(u, v) has the parameter ‘u’ in the direction AD and ‘v’ along

the direction AF. Let the parameter ‘u’ be incremented by δu. The other corresponding

parameters are then identified using the equations in Appendix C.1. Let ‘s’ be such a point

on the seam (refer Figure 6.3(a)). In Figure 6.3(b), the imposed distance check is violated

at point ‘s” as the sphere corresponding to this point cuts the surface S4. The procedure

then uses the bisection method between this point and the previous point found on the seam

to identify the junction point J1 (Figure 6.3(c)). The boundary surfaces corresponding to

this junction points are S1, S2, S3 and S4 (Figure 6.3(d)). The possible triplets of surfaces

that can be used for tracing a seam are {S1, S2, S4}, {S1, S3, S4} and {S2, S3, S4}. The first

triplet {S1, S2, S4} is then used for tracing the seam. The parameter to be fixed and whether

it needs to be incremented or decremented is then determined. Points on the seam generated

by this triplet do not need any distance check since these surfaces intersect at a convex corner

(Figure 6.4(a)). For other triplets, the points generated on the seam are tested for junction

points. The other two triplets are then processed. The triplet {S1, S3, S4} generates the seam

having the junction point J2 (Figure 6.4(b)). While processing the triplet {S2, S3, S4}, the

seam encounters a concave edge at n1 (Figure 6.4(c)). The procedure when one of the

triplets is a concave edge is then applied till it reaches n2 and the seam is continued till it

reaches the junction point J3 (Figure 6.4(d)). The surface triplets in junction points J2 and

J3 are then processed in a similar fashion. While tracing one of the triplets that contains S6,

the seam encounters a smooth edge (Figure 6.5(a)). Here the surface S6 is then replaced by

S7 and seam tracing continues in a similar manner to identify the junction point J4 (Figure

6.5(b)). Tracing of seams and hence the MAT of the object ends when all the convex corners

are visited and all the triplets at a junction point are processed (Figure 6.5(c)).

Page 109: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 96

n1

1S (u,v)

2S (s,t)

3S (q,r)

4S (o,p)

5S

6S

7S

8S

A

B

S

C

D E

G

F

H

I J

K

L

M

N

A

BC

E

G

H

J

L

M

N

I

D

F

K

S S’

J1A

B

E

C

D E

F

G

H

I J

K

L

M

N

S S’ J1A

B

T2

T1

T3

T4

C

D E

F

G

H

I J

L

M

N K

(c) (d)

(a) (b)

Figure 6.3: Illustration of the algorithm.

Page 110: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 97

S1

S2

S4

S3

S6

S7

S5

S8

J1A

BC

D E

F

G

H

I J

L

M

N

n1

S1

S2

S4

S3

S6

S7

S5

S8

J2J1A

BC

D E

F

G

H

I J

L

M

N

n1

S1

S2

S4

S6

S7S8

S3

n2

J2J1A

BC

D E

F

G

H

I J

L

M

N

n1

S1

S2

S4

S3

S6

S7S8

n2

J2J1A

BC

D E

F

G

H

I J

L

M

N

J3

(a) (b)

(c) (d)

Figure 6.4: Illustration of the algorithm (contd.).

Page 111: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 98

n1

S1

S2

S4

S3

S6

S7S8

n2

J2J1A

BC

D E

F

G

H

I J

L

M

N

J3

S n1

S1

S2

S4

S3

S6

S7S8

n2

J4

J2J1A

BC

D E

F

G

H

I J

L

M

N

J3

S

n1

S1

S2

S4

S3

S6

S7S8

n

J2J1A

BC

D E

F

G

H

I J

L

M

N

J4J3

J5

S

(a) (b)

(c)

Figure 6.5: Illustration of the algorithm (contd.).

Page 112: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 99

6.5 Results and discussion

The algorithm described has been implemented and this section presents the results obtained

for some test objects. Currently, only generation of the seams and determining the boundary

of sheets have been implemented.

MAT for some test objects having free-form boundary surfaces are shown in Figures

6.6 to 6.13. Table 6.1 shows the time taken in seconds and the number of seams generated

for the given objects. All these programs are run on a PIII 450 MHz with 256MB RAM.

The tracing step size is 10−3 and the junction point step size is ten times that of the tracing

step size i.e. 10−2. The overall tracing time ranges in the order of few seconds (for the

object shown in Figure 6.6) to few minutes (for the object shown in Figure 6.10). The

time durations look very reasonable (compared to the existing time scales which are quite

high even for polyhedral objects) and this validates the efficiency of this algorithm. Figure

6.13 shows the MAT for the object in Figure 6.10 with a tracing step size of 10−4 and the

junction point step size of 10−3. Time taken for generating the MAT is 1105s. Though the

time taken for generation of MAT is high (which is understandable as the step size is ten

times smaller than the previous one), note that the topology of the medial axis is not affected

by the step size chosen.

Figure 6.6: Test object 1 and its 3D MAT.

Page 113: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 100

Figure 6.7: Test object 2 and its 3D MAT.

Figure 6.8: Test object 3 and its 3D MAT.

Page 114: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 101

Figure 6.9: Test object 4 and its 3D MAT.

Figure 6.10: Test object 5 and its 3D MAT.

Page 115: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 102

Figure 6.11: Test object 6 and its 3D MAT.

6.5.1 Discussion

Multiply-connected object

It has been shown that, if the faces of the solid are simply-connected, all the sheets are

simply-connected as well [45]. When the object consists of multiply-connected faces, then

sheets may also be multiply-connected. Earlier approaches split the multiply-connected faces

into simply-connected faces. This results in additional sheets that need to be post-processed.

Moreover, splitting multiply-connected faces into simply-connected faces may be easy when

dealing with planar faces but such is not the case for nonlinear, free-form faces.

In the proposed approach, the faces that are handled during the tracing of seam seg-

ments are flagged. If there are convex vertices or faces that remain unflagged even though all

the triplets identified at junction points have been processed, multiply-connected sheets are

indicated. In this case, the tracing procedure is again initiated from the convex corner(s) that

has/have not been flagged. If there are unflagged faces but no unflagged convex vertices, the

present procedure cannot generate the multiply-connected sheets that are indicated. MAT

for a multiply-connected object is shown in Figure 6.12.

Page 116: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 103

(a) Test object 7 and its MAT

(b) In a different orientation

Figure 6.12: Multiply-connected test object and its 3D MAT.

Page 117: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 104

Figure 6.13: MAT for test object 5 at different step sizes.

Stability

The discussion on stability is along the same lines as that for the 2D MAT algorithm.

Choosing a step size is quite critical for this algorithm. It is safe to say that no hard and

fast rule exists to identify a correct step size. A small enough step size is recommended to

achieve good accuracy in tracing of the seams and to avoid overstepping, but not so small

that the process slows down. For the objects that have been used for testing, it was found

that a step size of 10−3 is sufficient to achieve an accuracy of around 10−6, though a larger

step size such as 10−2 may be sufficient for some objects. An automatic determination of

step sizes a priori looks unlikely, though a curvature-based step size can be explored.

The analysis of the algorithm with respect to the effect of numerical errors due to finite

precision indicates that the algorithm is stable with respect to round-off errors. The MAT

algorithm was implemented with single and double precision and there was no difference in

the result to within the tolerance used (10E − 6). Table 6.2 shows the values of some MAT

points in both single and double precisions. The choice of junction point step size is critical.

A smaller value ensures correctness at the cost of greater effort. A larger value may result

in overshooting more than one junction point. One option could be to use a larger junction

point step size and backtrack after one junction point has been identified to ensure that no

Page 118: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 105

Figurenumber

Number ofseams

Time (inseconds)

6.6 12 186.8 22 366.10 72 1156.11 64 96

Table 6.1: Time taken for generation of 3D MAT for typical objects

other junction point has been missed. If the junction point step size is chosen correctly, the

algorithm is robust enough to capture an overshot junction point. The branching decisions

are therefore, made correctly. In practice, we have found that a value ten times the tracing

step size is appropriate for the junction point step size. As long as the tracing step size is

below a threshold (smallest feature in the domain), the tracing procedure yields the correct

connectivity between the MAT segments.

Unlike the tracing approach of [46], determining the direction of the tangent is required

only at the junction points. Also, the procedure used to determine the tangent direction

does not require any iterative numerical procedure. Sherbrooke et al. [46] need numerical

procedures at each step to identify the tangent at each seam point (including junction points).

However, in our case it suffices if a reasonably close estimate of the tangent direction is

obtained. The exact tangent is not required.

Precision mat x mat y mat zSingle −8.499159 1.027492 16.027491Double −8.499160015365 1.027494860800 16.027494862937Single −8.572198 −2.901567 8.256032Double −8.572197516800 −2.901567719752 8.256032201107Single −8.499160 −26.027611 16.027609Double −8.499159600495 −26.027610348551 16.027609692876Single −15.971039 0.970950 8.455536Double −15.971037909199 0.970949478130 8.455536797018Single −0.374946 −7.879400 −0.374945Double −0.374945407219 −7.879400354699 −0.374945706072

Table 6.2: Comparison of MAT point co-ordinates for single and double precision

Page 119: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 6. Algorithm for 3D objects bound by free-form surfaces 106

Correctness, completeness and complexity

The proposed algorithm traces the MAT of the objects by tracing the seam segment by

segment. As the points on the seam are determined based on the definition of MAT, the

result is always correct. Branching from one triplet to the other is based on the continuity

of MAT.

Completeness of the algorithm is argued as follows. As the algorithm correctly identifies

the junction points and each of the triplets at every junction point are traced, the algorithm

generates all the seam segments when the sheets are simply connected. As discussed above,

by tracking the boundary entities as well (whether they have been visited during tracing

or not), the presence of multiply-connected sheets are identified correctly. The algorithm

therefore does not miss any entity in the MAT and generates all the seams (and sheets) in

the MAT.

The worst-case complexity of the MAT for a polyhedron is known to be O(n3+ε) [49],

where ‘n’ is the number of faces, edges and vertices of the polyhedron and ε > 0, though

a complexity of O(n2) is also likely. However, in the case of models bound by free-form

surfaces, there are many factors. A rough estimate of the complexity of our algorithm is

made as follows: Let ‘n’ be the number of boundary entities and ‘s’ be the number of

seams traced. Let ‘N ’ be the largest number of points traced on a seam segment. Since

the complexity for computing the intersection of three normals is O(1), the complexity of

computing the seam segments is O(Ns). Each check for a junction point has a complexity

of O(n) and therefore, the complexity due to the check for junction point is O(ns).

Assuming that the number of seams is a linear function of the number of boundary

entities present (i.e. s = cn, where ‘c’ is some constant), then the overall complexity for

the algorithm is O(Ncn + cn2). Therefore, the worst case complexity of the algorithm with

respect to the characteristic size of the input is O(n2).

6.6 Summary

An algorithm for generating the medial axis transform (MAT) of 3D objects with free-form

boundaries has been described. The algorithm generates the MAT by a tracing technique by

marching along the boundary of the object. Criteria derived from the definition of the MAT

are used to generate the points on the MAT and identify the junction points. The algorithm

is shown to be robust and correct. Results of implementation on some test solids have been

provided.

Page 120: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7

Contributions, future work, andconclusions

This chapter summarises the contributions of the thesis and identifies the scope for future

work.

7.1 Summary of contributions made by the thesis

The main research contributions are as below.

• A new tracing scheme for generating the MAT of 2D (3D) objects bound by free-form

entities is proposed.

Unlike earlier approaches, the algorithm uses the local normal information to identify

a point on MAT by traversing along the boundary of the object rather than using

bisector-based methods as they incur a high computational cost. This approach leads

to the following advantages.

The algorithm computes intersection of normals to identify points on MAT. This re-

duces the computational complexity to a great extent since only a line–line intersection

procedure is required.

The identification of branch (junction) points is done based on the shortest path be-

tween a point and a curve (surface), which also avoids the curve–curve (surface–surface)

intersection as required by other algorithms. Moreover, the algorithm does not suffer

from the problems indicated in Figure 2.2.

Propositions 4.1 and 4.2 (Propositions 6.1 and 6.2) indicate that the number of

boundary segments that have to be subjected to distance check to identify branch

(junction) points decreases as the process of tracing continues. This increases the

algorithm efficiency, thereby reducing the time taken for generating 2D (3D) MAT.

107

Page 121: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 108

In 3D, the critical step of identifying the parameter to be fixed for tracing has been

addressed in an elegant manner thereby, improving the overall efficiency of this tech-

nique.

• In this thesis, a simple yet an efficient method has been proposed for constructing

MAT of extruded/revolved free-form objects.

The MAT on the profile face of the object is used to construct the MAT for this class

of objects. It has been shown that the critical points of this class of 2.5D objects can

be identified using the critical points on the MAT of the profile face itself.

Perhaps, the most important contribution of this thesis is the 2D MAT algorithm. This

is because, both in theory and practice, it has been shown to be useful in higher dimensions

also. First, it has been shown that the 2D MAT algorithm can be used to generate MAT

for 2.5D objects and, more importantly, it paves the way for developing a similar algorithm

for the 3D domain as well. This is unlike other 2D MAT algorithms (such as divide and

conquer methods) which have invariably proven to be difficult to extend to the 3D domain.

Moreover, the 2D MAT algorithm can also be used to generate the mid-surface of an object

and it appears that a tracing algorithm similar to the one described in Chapter 4 is possible

for generating MAT on a free-form surface also. These are discussed in the next section.

7.2 Future work

7.2.1 Possible improvements in the algorithms described in thisthesis

1. The proposed algorithms use floating point arithmetic for the required calculations.

Even with different precisions the correct results have been obtained for the examples

shown without any problems as far as robustness of the procedures is concerned. It

may be interesting to study the effect of the use of either interval or exact arithmetic

on the performance of the algorithms.

2. Automatic determination of step sizes a priori for any domain in any dimension looks

unlikely. Criteria have been proposed in the literature for selecting the resolution of

sampling (to obtain the point set representation) [55]. In this case however, an estimate

of the radius function is required. The tracing step size used in the algorithms proposed

in this thesis can be identified based on the curvature of the boundary of the domain.

Page 122: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 109

The effort involved in identifying the step size in this manner and the subsequent effect

on the algorithm needs further investigation.

7.2.2 Extension of 2.5D MAT algorithm to general 3D objects

Even though the scope of the procedures described in chapter 5 is restricted to solids of

extrusion and revolution, it is believed that the results obtained can be used to construct

MAT of more general solids analogous to the construction of 3D objects by Boolean com-

bination of simple objects. It must be mentioned here that typically all primitives used in

CAD systems fall in the category of either extruded or revolved solids. Given a general 3D

solid that is a combination of two or more solids of extrusion or revolution, the use of the

MAT of the primitives to obtain the MAT for the general solid is discussed.

Figure 7.1(a) shows two extruded objects A and B and their medial surfaces (in bold

lines). A general object obtained as a Boolean union of A and B is shown in Figure 7.1(b).

The MAT of the union of objects could be determined as follows. First, portions of the

boundaries of A and B that are not part of the union are identified. The MAT entities

corresponding to these portions of the boundary are then removed from the 3D MAT of A

and B respectively (Figure 7.1(c)). The portions of the remaining boundaries of A and B

for which the MAT points are not available are identified. The 3D MAT tracing procedure

(chapter 6) can now be used to generate the missing MAT entities (shown dotted in Figure

7.1(d)). This procedure is likely to be efficient because the number of domain entities involved

are smaller and the points where the tracing has to terminate are also known.

A 2D illustration of the above procedure is shown in Figure 7.2 for clarity. Frame (c)

in the figure shows the boundary entities (which includes the concave vertex c) for which the

MAT points have to be determined in bold and the termination points of the MAT for the

remainder of the domain are marked with filled dots. The tracing technique has now only to

march through the segments shown in bold to identify the missing MAT segments (shown

dotted in Figure 7.2(d)) that terminate at the points marked in frame (c).

The above idea works only for an object obtained as an union of two objects. In the

case of objects that would otherwise involve a difference operation, an approach similar to

convex decomposition may be used to identify the simpler objects that on union would yield

the object as illustrated in Figure 7.3.

The proposed method above has to be implemented and tested. This idea could vastly

improve the construction of MAT for objects in many application areas like casting where

the objects are predominantly a combination of 2.5D objects.

Page 123: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 110

Object A

Removed portions on MAT from Object A

(c)

Object B

(b)

(d)

(a)

Figure 7.1: Medial axis for union of two 3D objects.

Page 124: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 111

Object BObject A

(b)(a)

(d)(c)

c

Figure 7.2: Medial axis for union of objects.

Page 125: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 112

(a)

(c)

(b)

Figure 7.3: Medial axis for object obtained using difference operation.

Page 126: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 113

7.2.3 Generating mid-surface

The mid-surface of a part is currently used as an idealisation of 3D shape for purposes of

analysis/simulation of injection moulding and other near-net shape processes [6]. The mid-

surface has also been proposed as an intermediate representation for feature extraction, and

feature suppression for analysis.

Current efforts to generate the mid-surface either rely on user intervention and expen-

sive ray tracing procedure to identify pairs of faces that define mid-surface patches or work

on a very restricted domain. A completely automatic procedure to determine the mid-surface

of an object is possible using 2-D medial axis transform of each of its faces [76]. Briefly, the

procedure is described as follows. The algorithm takes as input a boundary representation

(B-rep) model of the part and the 2D MAT of each face in the B-rep. The 2D MAT is ob-

tained by the algorithm described in chapter 4. Mid-curves for each face are first constructed

from the 2D MAT. This step involves removal of some MAT segments and addition of some

new segments to account for the corners (convex and concave) in each face. Based on the

connectivity and the associated radius function, mid-curve segments across the faces in the

part are connected to form chains or loops. The face-pairs that define the mid-surface are

then identified from these chains (and loops) of mid-curve segments. The chains/loops that

result in valid face-pairs are flagged. In some special cases, the loops of mid-curve segments

directly yield the bounding edge loop of a mid-surface patch. The identification of face-pairs

terminates when all the faces in the object either have their mid-curves flagged or are one

of the faces in the face pair associated with a mid-curve that has been flagged. The mid-

surface patches are constructed from each face pair identified, by an offset-based procedure.

The information available with the mid-curve loops/chains is then used to connect/trim the

mid-surface patches to obtain the mid-surface.

7.2.4 MAT on a free-form surface

The tracing algorithm described for generating 2D MAT can be extended to generate MAT on

a free-form surface. For the MAT on a free-form surface, the distance criterion would involve

geodesic distances (distances measured along the surface). The disk in planar domains is

replaced by the locus of points that are at the same geodesic distance from a point. The

maximal disk in this case is one where no point on the boundary has a smaller geodesic

distance from the point. Despite these differences, it appears that the tracing procedure can

still be used to construct the MAT on free-form surfaces. The main change will be in the

Page 127: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Chapter 7. Contributions, future work, and conclusions 114

implementation of distance checks which require the construction of geodesic curves from a

point to a curve.

7.3 Conclusions

In this thesis, it has been shown that generation of MAT for free-form objects is possible

without converting them into a point set model or discretisation. In particular, constructing

MAT of 2D, 2.5D and 3D objects bound by free-form entities has been addressed. Algorithms

for constructing the MAT for domains with free-form entities have been developed and

implemented. It has been shown that the algorithms can handle reasonably complex objects.

The algorithms presented are shown to be correct, complete and efficient and can be classified

under tracing techniques for generating MAT. The algorithms are also run on single and

double precision floating point arithmetic and have been found to be stable. Though the

techniques proposed in this thesis have been targeted to handle free-form entities, the same

technique is also applicable for objects consisting of linear entities, i.e. either polygons or

polyhedra and no special procedure is required to handle such objects.

Page 128: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix

A. Determining a point on 2D MAT

The procedure outlined here for determining the footpoint on the other edge and the inter-

section of the normals to obtain the point on MAT is based on the derivation in [36]. The

procedure is described here for completeness using the notation used in this thesis.

Let C1(u1) =(x1(u1), y1(u1)

)and C2(u2) =

(x2(u2), y2(u2)

)be the underlying curves

of edges e1 and e2 respectively. Curves C1(u1) and C2(u2) are planar regular rational curves

with C1-continuity.

Let N1(u1) =(− y

′1(u1), x

′1(u1)

)and N2(u2) =

(− y

′2(u2), x

′2(u2)

)be the (in plane)

normals of C1(u1) and C2(u2) respectively. The intersection point of the normal lines is given

by

C1(u1) + N1(u1)α = C2(u2) + N2(u2)β,

for some α and β. We then have the following two equations in two unknowns, α and β:

x1(u1)− y′1(u1)α = x2(u2)− y

′2(u2)β,

y1(u1) + x′1(u1)α = y2(u2) + x

′2(u2)β.

Solving for α and β

α = α(u1, u2) =

(x1(u1)− x2(u2)

)x′2(u2) +

(y1(u1)− y2(u2)

)y′2(u2)

x′2(u2)y

′1(u1)− x

′1(u1)y

′2(u2)

,

β = β(u1, u2) =

(x1(u1)− x2(u2)

)x′1(u1) +

(y1(u1)− y2(u2)

)y′1(u1)

x′2(u2)y

′1(u1)− x

′1(u1)y

′2(u2)

. (A.1)

The point of intersection of the two normals is given by:

P (u1, u2) = C1(u1) + N1(u1)α(u1, u2) = C2(u2) + N2(u2)β(u1, u2). (A.2)

For P (u1, u2) to be a point on the MAT of the edges e1 and e2, it must be equidistant

from e1(C1(u1)) and e2(C2(u2)):

115

Page 129: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 116

||P (u1, u2)− C1(u1)|| = ||(C1(u1) + N1(u1)α(u1, u2))− C1(u1)||= ||(C2(u2) + N2(u2)β(u1, u2))− C2(u2)||= ||P (u1, u2)− C2(u2)||.

The above condition simplifies to

||N1(u1)α(u1, u2)|| = ||N2(u2)β(u1, u2)||.Squaring the above equation and substituting α(u1, u2) and β(u1, u2) from equation

(A.1) into the resulting equation, we get

0 =⟨N1(u1), N1(u1)

⟩α(u1, u2)

2 −⟨N2(u2), N2(u2)

⟩β(u1, u2)

2

=⟨N1(u1), N1(u1)

⟩((x1(u1)− x2(u2))x

′2(u2) + (y1(u1)− y2(u2))y

′2(u2)

)2

(x′2(u2)y

′1(u1)− x

′1(u1)y

′2(u2)

)2

−⟨N2(u2), N2(u2)

⟩((x1(u1)− x2(u2))x

′1(u1) + (y1(u1)− y2(u2))y

′1(u1)

)2

(x′2(u2)y

′1(u1)− x

′1(u1)y

′2(u2)

)2 .

(A.3)

The denominator of equation (A.3) vanishes when the normals of the two curves are

either parallel or opposite (the normals overlap) at some values of parameters u1 and u2.

For the case where N1(u1) and N2(u2) are neither parallel nor opposite, the denominator of

equation (A.3) cannot vanish and the condition in equation (A.3) becomes:

0 = F1(u1, u2) =(x′1

2(u1) + y

′1

2(u1)

)((x1(u1)− x2(u2))x

′2(u2) + (y1(u1)− y2(u2))y

′2(u2)

)2

−(x′2

2(u2) + y

′2

2(u2)

)((x1(u1)− x2(u2))x

′1(u1) + (y1(u1)− y2(u2))y

′1(u1)

)2.

(A.4)

Given the parametric value u1 of the footpoint C1(u1) on edge e1 of the point on the

MAT, the solution of equation (A.4) is the parameter u2 of the corresponding footpoint

C2(u2) on edge e2. The point on the MAT is obtained from equation (A.2).

The condition

x′1(u1)y

′2(u2)− x

′2(u2)y

′1(u1) = 0, (A.5)

Page 130: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 117

indicates that the normals of the curves are parallel or opposite. For the cases where the nor-

mals overlap each other, the parametric variables (u1 and u2) must also satisfy the following

conditions:

(x1(u1)− x2(u2))x′1(u1) + (y1(u1)− y2(u2))y

′1(u1) = 0,

(x1(u1)− x2(u2))x′2(u2) + (y1(u1)− y2(u2))y

′2(u2) = 0. (A.6)

In these cases, the footpoint C2(u2) is obtained by intersecting the normal at C1(u1)

with the edge e2. The mid-point of the vector between the two footpoints C1(u1) and C2(u2)

is taken as the point on the MAT.

B. Theory for generating MAT of 2.5D objects

B.1 Normal theorem

Theorem .1 The normal to the extruded/revolved face at a point on the profile face is along

the same direction as the normal to the corresponding profile edge at that point. Moreover,

the normal at any other point on the extruded or revolved face is obtained by a similar

transformation of the normal at the corresponding point on the profile edge.

Proof for extruded faces

Let the profile edge be represented by p(w) = (x(w), y(w), 0). The normal n and curvature

k of the profile edge are given by:

n = (−yw, xw) (B.1)

k = (xwyww − ywxww)/((xw)2 + (yw)2)3/2 (B.2)

A point on a surface obtained by extruding a profile edge is given by:

Q(w, u) = [x(w) y(w) − du] (B.3)

where ‘d’ is the length of the ruling parallel to the negative z-axis.

The normal N at any point on the extruded face is given by the cross product of the

vectors Qw and Qu .

Page 131: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 118

N = QwΛQu (B.4)

where Λ denotes the cross product. Qt is the partial derivative of Q with respect to t.

Since,

Qw = [xw yw 0]

Qu = [0 0 − d] (B.5)

the normal vector N is given by

N = d[−yw xw 0] (B.6)

Comparing the equations B.6 and B.1 proves the above theorem (refer Figure 5.2(b)). 4

Proof for surface of revolution

The surface of revolution R(w, φ) obtained by revolving the profile edge about the y-axis is

given by:

R(w, φ) = [x(w)cosφ y(w) − x(w)sinφ] (B.7)

Normal on the surface of the revolution is given by the cross product RwΛRφ, where

Rw = Rw(w, φ) and Rφ = Rφ(w, φ).

RwΛRφ = [−xywcosφ xxw xywsinφ] (B.8)

The normal to the surface at the profile edge is obtained by evaluating the above

expression at φ = 0. At φ = 0, the above equation gives the following:

(RwΛRφ)|φ=0 = [−xyw xxw 0]

i.e., (RwΛRφ)|φ=0 = x[−yw xw 0] (B.9)

Also, equation B.8 can be written as:

(RwΛRφ)|φ=0 ∗Rot y, (B.10)

where Rot y is the matrix corresponding to y-axis rotation. Equations B.9 and B.10 prove

the theorem (Figure 5.3(b)). 4

Page 132: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 119

B.2 Calculation of principal curvatures

For extruded face

The expressions for the prinicpal curvatures determines the values of curvatures at the merid-

ians and parallels. For an object of extrusion, the principal curvatures of a surface Q(w, u)

are determined from the equation

k1, k2 = H ±√(H2 −K) (B.11)

where H is the mean curvature and K is the Gaussian curvature [73].

The Gaussian curvature K is given by [74]

K =AC −B2

|QwΛQu|4 (B.12)

and the mean curvature is given by [74]

H =A|Qu|2 − 2BQw.Qu + C|Qw|2

2|QwΛQu|3 (B.13)

where (A B C) = [QwΛQu].[Qww Quw Quu].

For a surface of extrusion (along u):

Qww = [xww yww 0],

Quu = 0,

Quw = 0. (B.14)

Therefore,

A = d(xwyww − ywxww),

B = 0,

C = 0. (B.15)

Substitution of A,B, and C gives K = 0 and

H =A|Qu|2

2|QwΛQu|3 (B.16)

Simplifying,

H = k/2 (B.17)

Page 133: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 120

where ‘k’ is the curvature of the profile edge. Hence,

k1 = k, (B.18)

k2 = 0. (B.19)

For surface of revolution

This is done similar to the derivation for the objects of extrusion.

For a surface of revolution R(w, φ), the second and mixed partial derivative values are

as follows.

Rww = [xwwcosφ yww − xwwsinφ] (B.20)

Rφφ = [−xcosφ 0 xsinφ] (B.21)

Rwφ = [−xwsinφ 0 − xwcosφ] (B.22)

Solving for A,B, and C yields the following:

A = xxwyww − xywxww, (B.23)

B = 0, (B.24)

C = x2yw. (B.25)

The corresponding Gaussian curvature K and mean curvature H are then obtained

from equations B.12 and B.13, as

K = kyw/(x((xw)2 + (yw)2)1/2),

H = k/2 + (yw/(2x((xw)2 + (yw)2)1/2)), (B.26)

where k is the curvature of the profile edge given by the equation B.2. The principal

curvatures are identified using equation B.11.

H2 −K = (k/2− (yw/(2x((xw)2 + (yw)2)1/2)))2,√(H2 −K) = k/2− (yw/(2x((xw)2 + (yw)2)1/2)). (B.27)

Page 134: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 121

Hence,

k1 = k, (B.28)

k2 = yw/(x((xw)2 + (yw)2)1/2). (B.29)

k2 can be simplified as sin θ/x, where θ is the angle made by the tangent to the profile

curve with respect to the x-axis.

C. Determining a point on 3D MAT

The following are based on the derivation for bisectors in [77].

C.1 Tracing a seam between three surfaces

Let S1(u, v), S2(s, t), S3(q, r) be three regular rational surfaces which are sufficiently differ-

entiable as required. We consider the seam between these three surfaces. For convenience,

we denote the surfaces as S1, S2 and S3. Let B be a point on the seam. Then, it should

satisfy the following equations:

⟨B − S1,

∂S1

∂u

⟩= 0, (C.1)

⟨B − S1,

∂S1

∂v

⟩= 0, (C.2)

⟨B − S2,

∂S2

∂s

⟩= 0, (C.3)

⟨B − S2,

∂S2

∂t

⟩= 0, (C.4)

⟨B − S3,

∂S3

∂q

⟩= 0, (C.5)

⟨B − S3,

∂S3

∂r

⟩= 0, (C.6)

〈B − S1, B − S1〉 − 〈B − S2, B − S2〉 = 0, (C.7)

〈B − S2, B − S2〉 − 〈B − S3, B − S3〉 = 0, (C.8)

〈B − S3, B − S3〉 − 〈B − S1, B − S1〉 = 0. (C.9)

Equations (C.1) and (C.2) mean that the point B is located on the normal line of S1.

Equations (C.3) and (C.4) mean that it is located on the normal line of S2 and equations

Page 135: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 122

(C.5) and (C.6) that it is located on the normal line of S3. Moreover, equations (C.7) – (C.9)

constrain the point B to be equidistant to the three boundary surfaces.

Combining equations (C.7) and (C.9), we get,

2 ∗ 〈B − S1, B − S1〉 = 〈B − S2, B − S2〉+ 〈B − S3, B − S3〉. (C.10)

Since B lies on the normal line of S1, it can be written as

B = S1 + αn1 (C.11)

where n1 = n1(u, v) = ∂S1

∂u∗ ∂S1

∂vis the normal vector of S1 and α ∈ R. Then equations

(C.1) and (C.2) are automatically satisfied. By substituting for B from equation (C.11) into

equation (C.10), we get the following equation:

2 ∗ 〈αn1, αn1〉 = 〈S1 + αn1 − S2, S1 + αn1 − S2〉+ 〈S1 + αn1 − S3, S1 + αn1 − S3〉α = α(u, v, s, t, q, r) = −

(〈S1 − S2, S1 − S2〉+ 〈S1 − S3, S1 − S3〉2 ∗

(〈S1 − S2, n1〉+ 〈S1 − S3, n1〉

))

(C.12)

Substituting the above in equation (C.11) and updating the equations (C.3) to (C.6)

and (C.9), we have:

⟨f,

∂S2

∂s

⟩= 0, (C.13)

⟨f,

∂S2

∂t

⟩= 0, (C.14)

⟨g,

∂S3

∂q

⟩= 0, (C.15)

⟨g,

∂S3

∂r

⟩= 0, (C.16)

〈f, f〉 − 〈g, g〉 = 0, (C.17)

where

f = B − S2 = (S1 − S2)−(〈S1 − S2, S1 − S2〉+ 〈S1 − S3, S1 − S3〉

2(〈S1 − S2, n1〉+ 〈S1 − S3, n1〉

))n1, (C.18)

g = B − S3 = (S1 − S3)−(〈S1 − S2, S1 − S2〉+ 〈S1 − S3, S1 − S3〉

2(〈S1 − S2, n1〉+ 〈S1 − S3, n1〉

))n1. (C.19)

Page 136: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 123

Note that f = f(u, v, s, t, q, r) and g = g(u, v, s, t, q, r). The common zero-set of

equations (C.13) to (C.17) satisfies all the constraints of equations (C.1) to (C.9). Fixing

one of the parameters (say ‘u’, for instance), the rest of the parameters can be identified by

solving the above zero-set equations. The point on the seam is then identified by substituting

the α value in equation (C.11), followed by a check for the curvature criterion.

C.2 Surface–surface–curve

Let S1(u, v), S2(s, t) be two regular rational surfaces and C1(r) be a rational curve which

are sufficiently differentiable as required. We consider the seam between these three entities.

For convenience, we denote the surfaces as S1, S2 and the curve as C1. Let B be a point on

the seam. B tnen should satisfy the following equations:

⟨B − S1,

∂S1

∂u

⟩= 0, (C.20)

⟨B − S1,

∂S1

∂v

⟩= 0, (C.21)

⟨B − S2,

∂S2

∂s

⟩= 0, (C.22)

⟨B − S2,

∂S2

∂t

⟩= 0, (C.23)

⟨B − C1,

dC1

dr

⟩= 0, (C.24)

〈B − C1, B − C1〉 − 〈B − S1, B − S1〉 = 0, (C.25)

〈B − S1, B − S1〉 − 〈B − S2, B − S2〉 = 0, (C.26)

〈B − S2, B − S2〉 − 〈B − C1, B − C1〉 = 0. (C.27)

Equations (C.20) and (C.21) mean that the point B is located on the normal line of S1.

Equations (C.22) and (C.23) mean that it is located on the normal line of S2 and equation

(C.25) that it is on the normal plane of C1. Moreover, equations (C.25), (C.26), and (C.27)

constrain the point B to be equidistant to the three boundary entities.

Combining equations (C.25) and (C.26), we get,

2 ∗ 〈B − S1, B − S1〉 = 〈B − C1, B − C1〉+ 〈B − S2, B − S2〉. (C.28)

Since B lies on the normal line of S1, it can be written as

B = S1 + αn1, (C.29)

Page 137: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 124

where n1 = n1(u, v) = ∂S1

∂u∗ ∂S1

∂vis the normal vector of S1 and α ∈ R. Then equations

(C.20) and (C.21) are automatically satisfied. By substituting for B from equation (C.29)

into equation (C.28), we get:

α = α(u, v, s, t, r) = −(〈S1 − C1, S1 − C1〉+ 〈S1 − S2, S1 − S2〉

2 ∗(〈S1 − C1, n1〉+ 〈S1 − S2, n1〉

)). (C.30)

Substituting the above in equation (C.28) and updating equations (C.22) to (C.25)

and (C.27), we have:

⟨f,

∂S2

∂s

⟩= 0, (C.31)

⟨f,

∂S2

∂t

⟩= 0, (C.32)

⟨g,

dC1

dr

⟩= 0, (C.33)

〈f, f〉 − 〈g, g〉 = 0, (C.34)

where,

f = B − S2 = (S1 − S2)−(〈S1 − C1, S1 − C1〉+ 〈S1 − S2, S1 − S2〉

2(〈S1 − C1, n1〉+ 〈S1 − S2, n1〉

))n1, (C.35)

g = B − C1 = (S1 − C1)−(〈S1 − C1, S1 − C1〉+ 〈S1 − S2, S1 − S2〉

2(〈S1 − C1, n1〉+ 〈S1 − S2, n1〉

))n1. (C.36)

Note that f = f(u, v, s, t, r) and g = g(u, v, s, t, r). The common zero-set of equations

(C.31) to (C.34) satisfies all the constraints of equations (C.20) to (C.27). Since, there is one

degree of freedom left in equations (C.31) to (C.34), solving this system of equations yields

a curve in R3.

C.3 Point–surface–surface

Let S1(u, v), S2(s, t) be two regular rational surfaces which are sufficiently differentiable as

required and let P be a point that is not on either surface. We consider the seam between

these three entities. For convenience, we denote the surfaces as S1, S2. Let B be a point on

the seam, which should satisfy the following equations:

Page 138: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 125

⟨B − S1,

∂S1

∂u

⟩= 0, (C.37)

⟨B − S1,

∂S1

∂v

⟩= 0, (C.38)

⟨B − S2,

∂S2

∂s

⟩= 0, (C.39)

⟨B − S2,

∂S2

∂t

⟩= 0, (C.40)

〈B − P,B − P 〉 − 〈B − S1, B − S1〉 = 0, (C.41)

〈B − S1, B − S1〉 − 〈B − S2, B − S2〉 = 0, (C.42)

〈B − S2, B − S2〉 − 〈B − P, B − P 〉 = 0. (C.43)

Equations (C.37) and (C.38) mean that the point B is located on the normal line of S1.

Equations (C.39) and (C.40) mean that it is on the normal line of S2. Moreover, equations

(C.41), (C.42), and (C.43) constrain the point B to be equidistant to the three boundary

entities.

Combining equations (C.41) and (C.42), we get,

2 ∗ 〈B − S1, B − S1〉 = 〈B − P, B − P 〉+ 〈B − S2, B − S2〉. (C.44)

Since B lies on the normal line of S1, it can be written as

B = S1 + αn1, (C.45)

where n1 = n1(u, v) = ∂S1

∂u∗ ∂S1

∂vis the normal vector of S1 and α ∈ R. Then equations

(C.37) and (C.38) are automatically satisfied. By substituting for B from equation (C.45)

into equation (C.44), we get:

α = α(u, v, s, t) = −(〈S1 − P, S1 − P 〉+ 〈S1 − S2, S1 − S2〉

2 ∗(〈S1 − P, n1〉+ 〈S1 − S2, n1〉

)). (C.46)

Substituting the above in equation (C.45) and updating the equations (C.39), (C.40)

and (C.43), we have:

⟨f,

∂S2

∂s

⟩= 0, (C.47)

⟨f,

∂S2

∂t

⟩= 0, (C.48)

〈f, f〉 − 〈g, g〉 = 0, (C.49)

Page 139: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Appendix 126

where,

f = B − S2 = (S1 − S2)−(〈S1 − P, S1 − P 〉+ 〈S1 − S2, S1 − S2〉

2(〈S1 − S2, n1〉+ 〈S1 − P, n1〉

))n1, (C.50)

g = B − P = (S1 − P )−(〈S1 − P, S1 − P 〉+ 〈S1 − S2, S1 − S2〉

2(〈S1 − S2, n1〉+ 〈S1 − P, n1〉

))n1. (C.51)

Note that f = f(u, v, s, t) and g = g(u, v, s, t). The common zero-set of equations

(C.47) to (C.49) satisfies all the constraints of equations (C.37) to (C.43). Since there is one

degree of freedom left in equations (C.47) to (C.49), solving this system of equations yields

a curve in R3.

Page 140: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography

[1] A. Rosenfeld, “Axial representations of shape”, Computer Vision, Graphics and Image

Processing, Volume 33, 1986, pp 156–173.

[2] A. Sudhalkar, L. Gursoz, and F. B. Prinz, “Box-skeletons of discrete solids”,

Computer-Aided Design, Volume 28, Number 6/7, 1996, pp 507–517.

[3] J. O’Rourke,“Computational Geometry in C”, Cambridge University Press, Cam-

bridge, 1993.

[4] D. Lavender, A. Bowyer, J. Davenport, A. Wallis and J. Woodwark, “Voronoi

diagrams of set theoretic solid models”, IEEE Computer Graphics and Applications,

Volume 12, Number 5, September 1992, pp 69–77.

[5] F. Aurenhammer, “A survey of fundamental geometric data structure”, ACM Com-

puting Surveys, Volume 23, Number 3, September 1991, pp 345–405.

[6] M. Rezayat,“Midsurface abstraction from 3D solid models: general theory and appli-

cations”, Computer-Aided Design, Volume 28, Number 11, 1996, pp 905–915.

[7] A. Fischer, A. Smolin, and G. Elber, “Mid-surfaces of profile-based freeforms of

mould design”, Journal of Manufacturing Science and Engineering, Transactions of the

ASME, Volume 121, May 1999, pp 202–207.

[8] H. Blum, “A transformation for extracting new descriptors of shape”, in Models for

the Perception of Speech and Visual Form, ed. Walthen Dunn, MIT Press, 1967, pp

362–380.

[9] H. Blum, “Biological shape and visual science (part I)”, Journal of Theoretical Biology,

Volume 38, 1973, pp 205–287.

127

Page 141: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 128

[10] D. Kim, I. Hwang and B. Park, “Representing the Voronoi diagram of a simple

polygon using rational quadratic Bezier curves”, Computer-Aided Design, Volume 27,

Number 8, 1995, pp 605–614.

[11] P. J. Vermeer, “Medial axis transform to boundary representation conversion”, Ph.D.

Thesis, Department of Computer Science, Purdue University, West Lafayette, May 1994.

[12] H. Blum and R. N. Nagel, “Shape description using weighted symmetric axis fea-

tures”, Pattern Recognition, Volume 10, 1978, pp 167–180.

[13] S. Gelston and D. Dutta, “Boundary surface recovery from skeleton curves and

surfaces”, Computer Aided Geometric Design, Volume 12, January 1995, pp 27–51.

[14] C. G. Armstrong, “Modeling requirements for finite element analysis”, Computer-

Aided Design, Volume 26, Number 7, July 1994, pp 573–578.

[15] F. E. Wolter, “Cut locus and medial axis in global shape interrogation and repre-

sentation”, Design Laboratory Memorandum 92-2, Department of Ocean Engineering,

Massachusetts Institute of Technology, cambridge, MA,1992.

[16] J. J. Chou, “Voronoi diagrams for planar shapes” , IEEE Computer Graphics and

Applications, Volume 15, Number 2, March 1995, pp 52–59.

[17] W. R. Quadros, B. Gurumoorthy, K. Ramaswami, and F. B. Prinz, “Skele-

tons for representation and reasoning in engineering applications”, Engineering with

Computers, Volume 17, 2001, pp 186–198.

[18] G. S. Baja and E. Thiel, “(3-4)-Weighted skeleton decomposition for pattern rep-

resentation and description”, Pattern Recognition, Volume 27, Number 8, 1994, pp

1039–1049.

[19] U. Montanari, “Continuous skeletons from digitized images”, Journal of the Associa-

tion for Computing Machinery, Volume 16, Number 4, October 1969, pp 534–549.

[20] L. R. Nackman and S. M. Pizer , “Three dimensional shape description using

the symmetric axis transform”, IEEE Transaction on Pattern Analysis and Machine

Intelligence, Volume PAMI 7, Number 2, March 1985, pp 187–202.

Page 142: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 129

[21] H. N. Gursoy and N. M. Patrikalakis, “An automatic coarse and finite surface mesh

generation scheme based on medial axis transform: Part 1 Algorithms”, Engineering

with Computers, Volume 8, 1992, pp 121–137.

[22] D. J. Sheehy, C. G. Armstrong, and D. J. Robinson, “Computing the medial

surface of a solid from a domain Delaunay triangulation”, Proceedings of the Symposium

on Solid Modeling and Applications, 1995, pp 201–212.

[23] M. Held, G. Lukacs and L. Andor, “Pocket machining based on contour-parallel

tool paths generated by means of proximity maps”, Computer-Aided Design, Volume

26, Number 3, March 1994, pp 189–203.

[24] C. G. Armstrong, D. J. Robinson, R. M. McKeag, T. S. Li, S. J. Bridgett, R.

J. Donaghy, and C. A. McGleenan, “Medials for meshing and more”, Proceedings,

4th International Meshing Rountable, October 1995.

[25] R. J. Donaghy, W. McCune, S. J. Bridgett, C. G. Armstrong, and R. M.

McKeag, “Dimensional reduction of analysis models”, Proceedings, 5th International

Meshing Rountable, October 1996, pp 307–320.

[26] F. E. Wolter and K. I. Friese, “Local and global methods for analysis interogation,

reconstruction, modification and design of shape”, Proceedings of Computer Graphics

International Conference, 2000, pp 137–151.

[27] P. Yushkevich, P. T. Fletcher, S. Joshi, A. Thall, S. M. Pizer, “Continuous

medial representations for geometric object modeling in 2D and 3D”, Image and Vision

Computing, Volume 21, 2003, pp 17–27.

[28] M. Ramanathan, “Medial axis transform for the prediction of shrinkage and distortion

in castings”, M.Sc. Thesis, Department of Mechanical Engineering, Indian Institute of

Science, Bangalore.

[29] S. N. Meshkat and C. M. Sakkas, “Voronoi diagram for multiply-connected polyg-

onal domains II: Implementation and application”, IBM Journal of Research and De-

velopment, Volume 31, Number 3, May 1987, pp 373–381.

[30] R. Radhakrishnan, A. Amsalu, M. Kamran, and B. O. Nnaji, “Design rule

checker for sheet metal components using medial axis transform and geometric reason-

ing”, Journal of Manufacturing Systems, Volume 15, Number 3, 1996, pp 179–189.

Page 143: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 130

[31] M. Shapira and A. Rappoport, “Shape blending using the star-skeleton representa-

tion”, IEEE Computer Graphics and Applications, Volume 15, Number 2, March 1995,

pp 44–50.

[32] Ju-Hsein Kao,“Process planning for additive/subtractive solid free-form fabrication

using medial axis transform”, Ph.D. Thesis, Department of Mechanical Engineering,

Stanford University, CA, June 1999.

[33] S-B Ho and C. Dyer, “Shape smoothing using medial axis properties”, IEEE Pattern

Analysis and Machine Intelligence, Volume 8, Number 4, July 1986, pp 512–519.

[34] R. Ramamurthy and R. Farouki, “Voronoi diagram and medial axis algorithm for

planar domains with curved boundaries I. Theoretical foundations”, Journal of Com-

putational and Applied Mathematics, Volume 102, 1999, pp 119–141.

[35] R. Farouki and J. Johnstone, “The bisector of a point and a plane parametric

curve”, Computer Aided Geometric Design, Volume 11, Number 2, 1994, pp 117–151.

[36] G. Elber and M. Kim, “Bisector curves for planar rational curves”, Computer-Aided

Design, Volume 30, Number 14, 1998, pp 1089–1096.

[37] G. Elber and M. Kim, “The Bisector surface of rational space curves”, ACM Trans-

action on Graphics, Volume 17, Number 1, January 1998, pp 32–39.

[38] G. Elber and M. Kim, “Computing rational bisectors”, IEEE Computer Graphics

and Applications, Volume 19, Number 6, November/December 1999, pp 76–81.

[39] D. Dutta and C. M. Hoffmann, “On the skeleton of simple CSG Objects”, Journal of

Mechanical Design, Transaction of American Society of Mechanical Engineers (ASME),

Volume 115, March 1993, pp 87–94.

[40] G. Elber and M. Kim, “Rational bisectors of CSG primitives”, Proceedings of the

Symposium on Solid Modeling and Applications, Ann Arbor, Michigan, 1999, pp 159–

166.

[41] D. Dutta and C. M. Hoffmann, “A geometric investigation of the skeleton of CSG

objects”, Technical report CSD-TR-955, CAPO report CER-90-10, Computer Science

Department, Purdue University, West Lafayette, February 1990.

Page 144: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 131

[42] D. T. Lee, “Medial axis transformation of a planar shape”, IEEE Transactions on

Pattern Analysis and Machine Intelligence, Volume PAMI-4, Number 4, July 1982, pp

362–369.

[43] V. Srinivasan and L. R. Nackman, “Voronoi diagram for multiply-connected polyg-

onal domains I: Algorithm”, IBM Journal of Research and Development, Volume 31,

Number 3, May 1987, pp 361–372.

[44] M. Held, “Voronoi diagram and offset curves of curvilinear polygons”, Computer-Aided

Design, Volume 30, Number 4, 1998, pp 287–300.

[45] E. C. Sherbrooke, N. M. Patrikalakis and E. Brisson, “An algorithm for me-

dial axis transform of 3-D polyhedral solids”, IEEE Transaction on Visualization and

Computer Graphics, Volume 2, Number 1, 1996, pp 44–61.

[46] E. C. Sherbrooke, N. M. Patrikalakis and E. Brisson, “Computation of the me-

dial axis transform of 3-D polyhedra”, Proceedings of the Symposium on Solid Modeling

and Applications, 1995, pp 187–199.

[47] R. Joan-Arinyo, L. Perez, and J. Vilaplana, “ Computing the medial axis trans-

form of polygonal domains by tracing paths”, Technical report LSI-99-8-R, Llenguatges

i Sistemes Informatics, University Politecnica de Catalunya, April 1999.

[48] Y. -C. Chang, J. -H. Kao, J. M. Pinnila, J. Dong, and F. B. Prinz, “Medial

axis transform of general 2D shapes and 3D polyhedra for engineering applications”,

6th IFIP Working Conference on Geometric Modeling: Fundamentals and Applications,

December 1998, Tokyo, Japan.

[49] T. Culver, J. Keyser, and D. Manocha, “Accurate computation of the medial axis

of a polyhedron”, Proceedings of the Symposium on Solid Modeling and Applications,

Ann Arbor, Michigan, 1999, pp 179–190.

[50] H. N. Gursoy and N. M. Patrikalakis, “An automatic coarse and finite surface

mesh generation scheme based on medial axis transform: Part 2 Implementation”, En-

gineering with Computers, Volume 8, 1992, pp 179–196.

[51] M. Foskey, M. C. Lin and D. Manocha, “Efficient computation of a simplified

medial axis”, Proceedings of the Symposium on Solid Modeling and Applications, 2003,

pp 96–107.

Page 145: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 132

[52] D. J. Sheehy, C. G. Armstrong, and D. J. Robinson, “Shape description by

medial surface construction”, IEEE Trans. on Visualization and Computer Graphics,

Volume 2, Number 1, March 1996, pp 62–72.

[53] G. M. Turkiyyah, D. W. Storti, M. Ganter, H. Chen, and M. Vimawala, “An

accelerated triangulation method for computing skeletons of free-form solid models”,

Computer-Aided Design, Volume 29, Number 1, 1997, pp 5–19.

[54] D. Attali and A. Montanvert, “Computing and simplifying 2D and 3D continuous

skeletons”, Computer Vision and Image Understanding, Volume 67, Number 3, Septem-

ber 1997, pp 261–273.

[55] T. K. Dey and W. Zhao, “Approximate medial axis as a Voronoi subcomplex”,

Proceedings of the Symposium on Solid Modeling and Applications, 2002, pp 356–366.

[56] T. K. Dey, H. Woo and W. Zhao, “Approximate medial axis for CAD models”,

Proceedings of the Symposium on Solid Modeling and Applications, 2003, pp 280–285.

[57] Y. G. Lee and K. Lee, “Computing the medial surface of a 3-D boundary represen-

tation model”, Advances in Engineering Software, Volume 28, 1997, pp 593–605.

[58] M. Etzion and A. Rappoport, “Computing the Voronoi diagram of a 3-D poly-

hedron by separate computation of its symbolic and geometric parts”, Proceedings of

the Symposium on Solid Modeling and Applications, Ann Arbor, Michigan, 1999, pp

167–178.

[59] J. M. Reddy and G. M. Turkiyyah, “Computation of 3D skeletons using generalized

Delaunay triangulation technique”, Computer-Aided Design, Volume 27, Number 9,

September 1995, pp 677–694.

[60] D. Avis and H. K. Bhattacharya, “Algorithms for computing d-dimensional Voronoi

diagrams and their duals”, Advances in Computing Research, Volume 1, 1983, pp 159–

180.

[61] N. Amenta and R. K. Kolluri, “The medial axis of a union of balls”, Computational

Geometry: Theory and Applications, Volume 20, 2001, pp 25–37.

[62] N. Amenta, S. Choi and R. K. Kolluri, “The power crust”, Proceedings of the

Symposium on Solid Modeling and Applications, May 2001, pp 249–260.

Page 146: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 133

[63] T. K. Dey and W. Zhao, “Approximating the medial axis from the Voronoi diagram

with a convergence guarantee”, www.cis.ohio-state.edu/∼tamaldey/paper/medial.pdf.

[64] M. Etzion and Ari Rappoport, “Computing Voronoi skeletons of a 3-D polyhedron

by space subdivision”, Computational Geometry, Theory and Applications, Volume 21,

2002, pp 87–120.

[65] R. Farouki and R. Ramamurthy, “Specified-precision computation of curve/curve

bisectors”, International Journal of Computational Geometry and Applications, Volume

8, Numbers 5 and 6, 1998, pp 599–617.

[66] R. Ramamurthy, “Voronoi diagrams and medial axes of planar domains with curved

boundaries”, Ph.D. Thesis, Department of Mechanical Engineering, University of Michi-

gan, Ann Arbor, Michigan, 1998.

[67] R. Ramamurthy and R. Farouki, “Voronoi diagram and medial axis algorithm for

planar domains with curved boundaries II. Detailed algorithm description”, Journal of

Computational and Applied Mathematics, Volume 102, 1999, pp 253–277.

[68] R. Farouki and R. Ramamurthy, “Degenerate point/curve and curve/curve bisec-

tors arising in medial axis computations for planar domains with curved boundaries”,

Computer Aided Geometric Design, Volume 15, 1998, pp 615–635.

[69] H. I. Choi, S. W. Choi and H. P. Moon, “New algorithm for medial axis transform

of plane domain”, Graphical Models and Image Processing, Volume 59, Number 6, 1997,

pp 463–483.

[70] E. C. Sherbrooke, “3-D Shape interrogation by medial axis transform”, Ph.D. Thesis,

Department of Ocean Engineering, Massachusetts Institute of Technology, Cambridge,

MA.

[71] B. K. Choi and C. S. Jun, “Ball-end cutter interference avoidance in NC machining

of sculptured surfaces”, Computer Aided Design, Volume 21, Number 6, July/August

1989, pp 371–378.

[72] A. V. Aho, J. E. Hopcroft and J. D. Ullman, ‘‘Data structures and algorithms”,

Addison-Wesley, Reading, MA, 2000.

Page 147: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

Bibliography 134

[73] M. P. do Carmo, “Differential geometry of curves and surfaces”, Prentice-Hall, NJ,

1976.

[74] D. F. Rogers and J. A. Adams, “Mathematical elements for computer graphics”,

McGraw-Hill, New York, 1990.

[75] W. H. Press, S. A. Teukolsky, W. T. Vellerling, and B. P. Flannery, “Numerical

Recipes in C”, Cambridge University Press, Cambridge, 1998.

[76] M. Ramanathan and B. Gurumoorthy, “Generating mid-surface of a solid using

2D MAT of its faces”, submitted to CAD’04.

[77] G. Elber and M. Kim, “A computational model for nonrational bisector surfaces:

curve-surface and surface-surface bisectors”, TR-CIS9908, Center for Intelligent Sys-

tems technical reports, Department of Computer Science, Technion-Israel Institute of

Technology, Haifa, 1999.

Page 148: Construction of Medial Axis Transform of Domains Bound by ...raman/raman_phd_r1.pdf · Thanks are due to my other music friends, Guruprasad, Karthik (both of them play °ute) and

List of publications

1. M. Ramanathan and B. Gurumoorthy, “Constructing medial axis transform of

planar domains with curved boundaries”, Computer-Aided Design, Volume 35, Number

7, June 2003, pp 619–632.

2. M. Ramanathan and B. Gurumoorthy, “Constructing medial axis transform of

extruded and revolved 3D objects with free-form boundaries”, Computer-Aided Design,

submitted and under review.

3. M. Ramanathan and B. Gurumoorthy, “A tracing algorithm for constructing

medial axis transform of 3D objects bound by free-form surfaces”, ACM Symposium

on Solid Modeling and Applications, 2004, submitted.

135