Computational geometry
From Free net encyclopedia
In computer science, computational geometry is the study of algorithms to solve problems stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and the study of such problems is also considered to be part of computational geometry.
The main impetus for the development of computational geometry as a discipline was progress in computer graphics, computer-aided design and manufacturing (CAD/CAM), but many problems in computational geometry are classical in nature.
Other important applications of computational geometry include robotics (motion planning and visibility problems), geographic information systems (GIS) (geometrical location and search, route planning), integrated circuit design (IC geometry design and verification), computer-aided engineering (CAE) (programming of numerically controlled (NC) machines).
The two main branches of computational geometry are:
- Combinatorial computational geometry, also called algorithmic geometry, which deals with geometric objects as discrete entities.
- Numerical geometry, also called machine geometry, computer-aided geometric design (CAGD), or geometric modeling, which deals primarily with representing real-world objects in forms suitable for computer computations in CAD /CAM systems. This branch may be seen as a further development of descriptive geometry.
The latter is often considered a branch of computer graphics and/or CAD, and the former is called simply computational geometry.
Contents |
Combinatorial computational geometry
The primary goal of research in combinatorial computational geometry is to develop efficient algorithms and data structures for solving problems stated in terms of basic geometrical objects: points, line segments, polygons, polyhedra, etc.
Some of these problems seem so simple that they were not regarded as problems at all until the advent of computers. Consider, for example, the Closest pair problem:
- Given N points in the plane, find the two with the smallest distance from each other.
One could compute the distances between all the pairs of points, of which there are N(N − 1)/2, then pick the pair with the smallest distance. This brute-force algorithm has a time complexity of O(N2); i.e., its execution time is proportional to the square of the number of points. One milestone in computational geometry was the formulation of an algorithm with the smaller time complexity O(N log N).
For modern GIS, computer graphics, and integrated-circuit design systems routinely handling tens and hundreds of million points, the difference between N2 and N log N is the difference between days and seconds of computation. Hence the emphasis on computational complexity in computational geometry.
Problems
main article: List of combinatorial computational geometry topics.
Core algorithms and problems
Problems from this list have wide applications in areas processing of geometric information is used.
- Boolean operations on polygons and polytopes
- Binary space partitions
- Closest pair of points
- Convex hull
- Delaunay triangulation
- Line segment intersection
- Linear programming
- Minimal convex decomposition
- Orthogonal range searching
- Polygon triangulation
- Point location
- Ray casting (also known as ray tracing)
- Voronoi diagram
- Given two sets of points A and B, find the orthogonal matrix U which will minimize the distance between UA and B. In plain English, we're interested in seeing if A and B are simple rotations of one another.
- Given a list of points, line segments, triangles, spheres or other convex objects, determine whether there is a separating plane, and if so, compute it.
Numerical geometry
This branch is also known as geometric modelling, computer-aided geometric design (CAGD), and may be often found under the keyword curves and surfaces.
Core problems are curve and surface modelling and representation.
The most important instruments here are parametric curves and parametric surfaces, such as Bezier curves, spline curves and surfaces. An important non-parametric approach is the level set method.
First (and still most important) application areas are shipbuilding, aircraft, and automotive industries. However because of modern ubiquity and power of computers even perfume bottles and shampoo dispensers are designed using techniques unheard of by shipbuilders of 1960s.
See also
- List of combinatorial computational geometry topics
- List of numerical computational geometry topics
- Computer graphics
- CAD/CAM/CAE
- Robotics
- Solid modelling
- Computational topology
- Digital geometry
Books
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0262032937. Chapter 33: Computational Geometry, pp.933–965.
External links
- Computational Geometry Pages
- Geometry In Action
- Computational Geometry Algorithms Library (CGAL)
- FastGEOde:Algorithmische Geometrie
fr:Géométrie algorithmique ja:計算幾何学 pt:Geometria computacional sl:Računalniška geometrija zh:计算几何