COMPUTATIONAL GEOMETRY I, II
This has appeared as Chapters 19 and 20 in
HANDBOOK ON ALGORITHMS AND THEORY OF COMPUTATION
CRC Press 1999, Editor M. J. Atallah
Author:
D. T. Lee
Institute of Information Science
Academia Sinica
Nankang, Taipei, Taiwan 115
also with
Department of Electrical and Computer Engineering, Northwestern University
Evanston, IL 60208
Department of Electrical Engineering and Computer Science,
University of Illinois at Chicago, Chicago, IL 60607
e-mail: dtlee@ieee.org
Introduction
Computational geometry, since its inception in 1975, has received a great deal of
attention from researchers in the area of design and analysis of algorithms.
It has evolved into a discipline of its own. It is concerned with the computational
complexity of geometric problems that arise in various disciplines such as pattern
recognition, computer graphics, geographical information system, computer vision,
CAD/CAM, robotics, VLSI layout, operations research, statistics, etc.
In contrast with the classical approach to proving mathematical theorems about
geometry-related problems, this discipline emphasizes the computational aspect of
these problems and attempts to exploit the underlying geometric properties possible,
e.g., the metric space, to derive efficient algorithmic solutions.
An objective of this discipline in the theoretical context is to study the computational
complexity (giving lower bounds) of geometric problems, and to devise efficient
algorithms (giving upper bounds) whose complexity preferably matches the lower bounds.
That is, not only are we interested in the intrinsic difficulty of geometric
computational problems under a certain computation model, but we are also concerned
with the algorithmic solutions that are efficient or provably optimal in the worst
or average case. In this regard, the asymptotic time (or space) complexity
of an algorithm, i.e., the behavior of an algorithm, as the input size approaches
infinity, is of interest. Due to its applications to various science and engineering
related disciplines, researchers in this field have begun to address the efficacy
of the algorithms, the issues concerning robustness and numerical stability,
and the actual running times of their implementions.
In this and the following chapter we concentrate mostly on the theoretical development
of this field in the context of sequential computation, and discuss a number
of typical topics and the algorithmic approaches as well as some discussions of
geometric software that is under development. We will adopt the real
RAM (Random Access Machine) model of computation in which all arithmetic operations,
comparisons, k-th-root, exponential or logarithmic functions take unit time.