Table Of ContentEATCS
Monographs on Theoretical Computer Science
Volume 10
Editors: W. Brauer O. Rozenberg A. Salomaa
Advisory Board: O. Ausiello S. Even M. Nivat
Chr. Papadimitriou D. Scott
EATCS Monographs on Theoretical Computer Science
Vol. 1: K. Mehlhorn: Data Structures and Algorithms 1: Sorting
and Searching. XIV, 336 pages, 87 figs. 1984.
Vol. 2: K. Mehlhorn: Data Structures and Algorithms 2: Graph
Algorithms and NP-Completeness. XII, 260 pages, 54 figs. 1984.
Vol. 3: K. Mehlhorn: Data Structures and Algorithms 3: Multi
dimensional Searching and Computational Geometry. XII,
284 pages, 134 figs. 1984.
Vol. 4: W. Reisig: Petri Nets. An Introduction. X, 161 pages,
111 figs. 1985.
Vol. 5: W. Kuich, A. Salomaa: Semirings, Automata, Languages.
IX, 374 pages, 23 figs. 1986.
Vol. 6: H. Ehrig, B. Mahr: Fundamentals of Algebraic Specifica
tion 1. Equations and Initial Semantics. XI, 321 pages. 1985.
Vol. 7: F. Gecseg: Products of Automata. VIII, 107 pages, 18 figs.
1986.
Vol. 8: Kroger: Temporal Logic of Programs. VIII, 148 pages. 1987.
Vol. 9: K. Weihrauch: Computability. X, 517 pages. 1987.
Vol. 10: H. Edelsbrunner: Algorithms in Combinatorial Geometry.
XV, 423 pages, 93 figs. 1987.
Herbert Edelsbrunner
Algorithms
in Combinatorial
Geometry
Springer-Verlag
Berlin Heidelberg New York
London Paris Tokyo
Author
Prof. Dr. Herbert Edelsbrunner
University of Illinois at Urbana-Champaign
Dept. of Computer Science
1304 West Springfield Avenue, Urbana, Illinois 61801, USA
Editors
Prof. Dr. Wilfried Brauer
Institut fUr Informatik, Technische Universitat Miinchen
Arcisstrasse 21,8000 Miinchen 2, Germany
Prof. Dr. Grzegorz Rozenberg
Institute of Applied Mathematics and Computer Science
University of Leiden, Niels-Bahr-Weg 1, P.O. Box 9512
2300 RA Leiden, The Netherlands
Prof. Dr. Arto Salomaa
Department of Mathematics, University of Turku
20500 Turku 50, Finland
Library of Congress Cataloging-in-Publication Data. Edelsbrunner, Herbert. Algorithms in
combinatorial geometry. (EATCS monographs on theoretical computer science; v. 10).
Bibliography: p. 1. Combinatorial geometry. 2. Geometry-Data processing. I. Title.
II. Series. QA167.E34 1987 516'.13 87-16655
ISBN-13: 978-3-642-64873-1 e-ISBN-13: 978-3-642-61568-9
DOl: 10.1007/978-3-642-61568-9
This work is subject to copyright. All rights are reserved, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in other ways, and storage in data
banks. Duplication of this publication or parts thereof is only permitted under the provi
sions of the German Copyright Law of September 9, 1965, in its version of June 24,1985,
and a copyright fee must always be paid. Violations fall under the prosecution act of the
German Copyright Law.
© Springer-Verlag Berlin Heidelberg 1987
Softcover reprint of the hardcover 3rd edition 1987
The use of registered names, trademarks, etc. in the publication does not imply, even in the
absence of a specific statement, that such names are exempt from the relevant protective
laws and regulations and therefore free for general use.
2145/3140-543210
to my wife Eva
PREFACE
Computational geometry as an area of research in its own right emerged in the
early seventies of this century. Right from the beginning, it was obvious that
strong connections of various kinds exist to questions studied in the considerably
older field of combinatorial geometry. For example, the combinatorial structure
of a geometric problem usually decides which algorithmic method solves the
problem most efficiently. Furthermore, the analysis of an algorithm often
requires a great deal of combinatorial knowledge. As it turns out, however, the
connection between the two research areas commonly referred to as computa
tional geometry and combinatorial geometry is not as lop-sided as it appears.
Indeed, the interest in computational issues in geometry gives a new and con
structive direction to the combinatorial study of geometry.
It is the intention of this book to demonstrate that computational and com
binatorial investigations in geometry are doomed to profit from each other. To
reach this goal, I designed this book to consist of three parts, acorn binatorial
part, a computational part, and one that presents applications of the results of
the first two parts. The choice of the topics covered in this book was guided by
my attempt to describe the most fundamental algorithms in computational
geometry that have an interesting combinatorial structure. In this early stage
geometric transforms played an important role as they reveal connections
between seemingly unrelated problems and thus help to structure the field.
These transforms led me to believe that arrangements of hyperplanes are at the
very heart of computational geometry - and this is my belief now more than
ever.
As mentioned above, this book consists of three parts: I. Combinatorial
Geometry, II. Fundamental Geometric Algorithms, and III. Geometric
and Algorithmic Applications. Each part consists of four to six chapters.
The non-trivial connection pattern between the various chapters of the three
VIII
parts can be somewhat untangled if we group the chapters according to four
major computational problems. The construction of an arrangement of hyper
planes is tackled in Chapter 7 after Chapters 1, 2, and 5 provide preparatory
investigations. Chapter 12 is a collection of applications of an algorithm that
constructs an arrangement. The construction of the convex hull of a set of points
which is discussed in Chapter 8 builds on combinatorial results presented in
Chapter 6. Levels and other structures in an arrangement can be computed by
methods described in Chapter 9 which bears a close relationship to the combina
torial studies undertaken in Chapter 3. Finally, space cutting algorithms are
presented in Chapter 14 which is based on the combinatorial investigations of
Chapter 4 and the computational results of Chapter 10. The above listing of
relations between the various chapters is by no means exhaustive. For example,
the connections between Chapter 13 and the other chapters of this book come in
too many shapes to be described here. Finally, Chapter 15 reviews the techniques
used in the other chapters of this book to provide some kind of paradigmatic
approach to solving computational geometry problems.
Prerequisites together with notational conventions followed in this book are
collected at the end in Appendices A and B. Each chapter includes a set of exer
cises of various degrees of difficulty. I have tried to estimate the difficulty of
each problem and expressed my opinion in terms of num bers 1 through 5 with
the meaning defined as follows:
1 if the problem is trivial or very easy,
2 if the problem is easy but it may be tedious to solve it,
3 if the problem is of moderate difficulty,
4 if the problem is very difficult, and
5 if the problem is still unsolved; this does not necessarily mean that it
is very difficult.
Of course, the assignment of these numbers is purely subjective except for the
number 5 which is used to mark research problems. One of the purposes of these
collections of exercises and open problems is to give results that extend the
material presented in the corresponding chapters; another purpose is to point out
related open problems. Each chapter also contains a collection of bi bliographic
notes which occasionally give pointers to places in the literature where solutions
to some of the more difficult problems in the exercise section can be found.
I would like to acknowledge the help of many colleagues and friends without
whom this book would never have been written. I thank Raimund Seidel for pro
viding the original notes for Section 8.4 and for thoroughly reading earlier ver
sions of parts of the book. I also thank Carlos Bhola, Jeffrey Salowe, Emo Welzl,
and an anonymous referee who suffered through earlier versions of all chapters
and provided many valuable suggestions, comments, and corrections. Thanks
also to Bernard Chazelle, Friedrich Huber. Ernst ~ri.icke. Harald Rosenberger.
IX
and Steven Skiena for carefully reading earlier versions of various chapters.
Many of the algorithms presented in this book have been implemented during
projects at the Technical University of Graz and the University of Illinois at
Urbana-Champaign. For these implementations I thank Barbara Geymayer,
Michael Hirschbock, Friedrich Huber, Hartwig Huemer, Tom Madej, Ernst
Mucke, Harald Rosenberger, Gerd Stockl, and Roman Waupotitsch who sacri
ficed many of their valuable hours to do the joh. For discussions on topics found
in this book, I thank Franz Aurenhammer, Bernard Chazelle, David Dobkin,
Jacob Goodman, Branko Grunbaum, Leonidas Guibas, David Haussler, David
Kirkpatrick, Hermann Maurer, Kurt Mehlhorn, Ernst Miicke, Joseph O'Rourke,
Janos Pach, Richard Pollack, Franco Preparata, Harald Rosenberger, Jean
Pierre Roudneff, Franz Josef Schnitzer, Raimund Seidel, Micha Sharir, William
Steiger, Gerd Stockl, Jan van Leeuwen, Roman Waupotitsch, Emo Welzl, Doug
las West, Derick Wood, and Frances Yao. I am also grateful to Hans Wossner
and Gillian Hayes from Springer-Verlag, Heidelberg, for the pleasure it was to
work with them. Last, but not least, I thank Heidrun Kaiser at Graz and Janet
Shonkwiler and June Wingler at Urbana for valuable assistance in typing this
book.
My most particular thanks go to my wife Eva whose patience and encourage
ment as well as help in preparing this book made it possible for me to finish the
task.
Urbana, May 1987 Her bert Edelsbrunner
TABLE OF CONTENTS
PART I COMBINATORIAL GEOMETRY ........................................................... 1
CHAPTER 1 Fundamental Concepts in Combinatorial Geometry................... 3
1.1. Arrangements of Hyperplanes ....................................................................... 4
1.2. Counting Faces and Incidences ...................................................................... 6
1.3. Combinatorial Equivalence ........................................................................... 10
1.4. Configurations of Points ............................................................................... 12
1.5. Sylvester's Problem ....................................................................................... 15
1.6. Convex Polytopes and Convex Polyhedra ..................................................... 16
1.7. Zonotopes ...................................................................................................... 20
1.8. Voronoi Diagrams ......................................................................................... 23
1.9. Exercises and Research Problems .................................................................. 25
1.10. Bibliographic Notes ....................................................................................... 27
CHAPTER 2 Permutation Tables ............................................................................ 29
2.1. Circular Sequences ........................................................................................ 29
2.2. Encoding Arrangements and Configurations ................................................. 32
2.3. A Circularly Non-Realizable 5-Sequence ...................................................... 35
2.4. Arrangements of Pseudo-Lines ...................................................................... 37
2.5. Some Combinatorial Problems in the Plane .................................................. 39
2.6. Exercises and Research Problems .................................................................. 41
2.7. Bibliographic Notes ....................................................................................... 44
CHAPTER 3 Semis paces of Configurations ........................................................... 45
3.1. Semis paces and Arrangements ....................................................................... 46
3.2. k-Sets and Levels in Arrangements ............................................................... 47
3.3. A Lower Bound on the Number of Bisections in the Plane ........................... 50
3.4. Lower Bounds on the Number of k-Sets in the Plane ................................... 52
3.5. Extensions to Three and Higher Dimensions ................................................. 54
3.6. Semispaces and Circular Sequences ............................................................... 55
3.7. An Upper Bound on the Number of k-Sets in the Plane ............................... 58
3.8. Exercises and Research Problems .................................................................. 60
3.9. Bibliographic Notes ....................................................................................... 61
XII
CHAPTER 4 Dissections of Point Sets .................................................................... 63
4.1. Centerpoints .................................................................................................. 63
4.2. Ham-Sandwich Cuts ..................................................................................... 66
4.3. Erasing Subdivisions in the Plane ................................................................. 70
4.4. Simultaneous Four-Section in Three Dimensions .......................................... 73
4.5. Erasing Cell Complexes in Three Dimensions ................................................ 77
4.6. Generalizations to Higher Dimensions ........................................................... 78
4.7. Exercises and Research Problems .................................................................. 79
4.8. Bibliographic Notes ....................................................................................... 81
CHAPTER 5 Zones in Arrangements ...................................................................... 83
5.1. Supported Cells, Zones, and Duality ............................................................. 84
5.2. Sweeping a Simple Arrangement ................................................................... 86
5.3. Tight Bounds in the Plane ............................................................................ 89
5.4. Asymptotically Tight Bounds in d Dimensions .............................................. 93
5.5. An Implication of the Result on Zones .......................................................... 94
5.6. Exercises and Research Problems .................................................................. 95
5.7. Bibliographic Notes ....................................................................................... 96
CHAPTER 6 The Complexity of Families of Cells ................................................ 97
6.1. Definitions and Preliminary Results .............................................................. 98
6.2. The Complexity of a Polytope ...................................................................... 99
6.2.1. Cyclic Polytopes ............................................................................... 100
6.2.2. Euler's Relation .............. .................................................................. 102
6.2.3. The Dehn-Sommerville Relations ..................................................... 104
6.2.4. An Asymptotic Version of the lJpper Bound Theorem ..................... 106
6.3. The Complexity of a Few Cells in Two Dimensions ...................................... 107
6.4. Lower Bounds for Moderately Many Cells ..................................................... 109
6.5. Lower Bounds for Many Cells ....................................................................... 111
6.6. Upper Bounds for Many Cells ....................................................................... 114
6.7. Exercises and Research Problems .................................................................. 116
6.8. Bibliographic Notes ....................................................................................... 118
PART II FUNDAMENTAL GEOMETRIC ALGORITHMS ............................... 121
CHAPTER 7 Constructing Arrangements ............................................................. 123
7.1. Representing an Arrangement in Storage ...................................................... 123
7.2. The Incremental Approach ............................................................................ 125
7.3. Initiating the Construction ............................................................................ 126
7.4. Geometric Preliminaries ................................................................................ 128
7.5. Incrementing the Arrangement ..................................................................... 130
7.6. The Analysis of the Algorithm ...................................................................... 134
7.7. Exercises and Research Problems .................................................................. 136