All Topics  
Computational geometry

 

   Email Print
   Bookmark   Link






 

Computational geometry



 
 
Computational geometry is a branch of computer science
Computer science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems....
 devoted to the study of algorithms which can be stated in terms of geometry
Geometry

Geometry arose as the field of knowledge dealing with spatial relationships. Geometry was one of the two fields of pre-modern mathematics, the other being the study of numbers....
. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are 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 graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
, computer-aided design and manufacturing (CAD/CAM
Cam

A cam is a projecting part of a rotating wheel or shaft that strikes a lever at one or more points on its circular path. The cam can be a simple tooth, as is used to deliver pulses of power to a steam hammer, for example, or an Eccentric disc or other shape that produces a smooth reciprocating motion in the follower which is a lever...
), but many problems in computational geometry are classical in nature.

Other important applications of computational geometry include robotics
Robotics

Robotics is the science and technology of robots, and their design, manufacture, and application. Robotics has connections to electronics, mechanics, and software....
 (motion planning and visibility problems), geographic information system
Geographic Information System

A geographic information system captures, stores, analyzes, manages, and presents data that refers to or is linked to location.In the strictest sense, the term describes any Information systems that integrates, stores, edits, analyzes, shares, and displays georeference information....
s (GIS) (geometrical location and search, route planning), integrated circuit
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
 design (IC geometry design and verification), computer-aided engineering (CAE) (programming of numerically controlled (NC) machines).

The main branches of computational geometry are:



Combinatorial computational geometry
The primary goal of research in combinatorial computational geometry is to develop efficient algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
s and data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s for solving problems stated in terms of basic geometrical objects: points, line segments, polygon
Polygon

In geometry a polygon is traditionally a plane Shape that is bounded by a closed curve path or circuit, composed of a finite sequence of straight line segments ....
s, polyhedra
Polyhedron

|}A polyhedron is often defined as a geometry object with flat faces and straight edges .This definition of a polyhedron is not very precise, and to a modern mathematician is quite unsatisfactory....
, etc.

Some of these problems seem so simple that they were not regarded as problems at all until the advent of computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
s.






Discussion
Ask a question about 'Computational geometry'
Start a new discussion about 'Computational geometry'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Computational geometry is a branch of computer science
Computer science

Computer science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems....
 devoted to the study of algorithms which can be stated in terms of geometry
Geometry

Geometry arose as the field of knowledge dealing with spatial relationships. Geometry was one of the two fields of pre-modern mathematics, the other being the study of numbers....
. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are 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 graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
, computer-aided design and manufacturing (CAD/CAM
Cam

A cam is a projecting part of a rotating wheel or shaft that strikes a lever at one or more points on its circular path. The cam can be a simple tooth, as is used to deliver pulses of power to a steam hammer, for example, or an Eccentric disc or other shape that produces a smooth reciprocating motion in the follower which is a lever...
), but many problems in computational geometry are classical in nature.

Other important applications of computational geometry include robotics
Robotics

Robotics is the science and technology of robots, and their design, manufacture, and application. Robotics has connections to electronics, mechanics, and software....
 (motion planning and visibility problems), geographic information system
Geographic Information System

A geographic information system captures, stores, analyzes, manages, and presents data that refers to or is linked to location.In the strictest sense, the term describes any Information systems that integrates, stores, edits, analyzes, shares, and displays georeference information....
s (GIS) (geometrical location and search, route planning), integrated circuit
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
 design (IC geometry design and verification), computer-aided engineering (CAE) (programming of numerically controlled (NC) machines).

The main branches of computational geometry are:

  • Combinatorial computational geometry, also called algorithmic geometry, which deals with geometric objects as discrete
    Discrete mathematics

    Discrete mathematics, also called finite mathematics, is the study of mathematical structures that are fundamentally discrete in the sense that its objects can assume only distinct, separate values, rather than a values on a continuum ....
     entities. A groundlaying book in the subject by Preparata and Shamos dates the first use of the term "computational geometry" in this sense by 1975.
  • Numerical computational 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
    Computer-aided manufacturing

    Computer-aided manufacturing is the use of computer-based software tools that assist engineers and machinists in manufacturing or prototyping product components....
     systems. This branch may be seen as a further development of descriptive geometry
    Descriptive geometry

    Descriptive geometry is the branch of geometry which allows the representation of three-dimensional objects in two dimensions, by using a specific set of procedures....
     and is often considered a branch of computer graphics
    Computer graphics

    Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
     or CAD. The term "computational geometry" in this meaning has been in use since 1971.


Combinatorial computational geometry


The primary goal of research in combinatorial computational geometry is to develop efficient algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
s and data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s for solving problems stated in terms of basic geometrical objects: points, line segments, polygon
Polygon

In geometry a polygon is traditionally a plane Shape that is bounded by a closed curve path or circuit, composed of a finite sequence of straight line segments ....
s, polyhedra
Polyhedron

|}A polyhedron is often defined as a geometry object with flat faces and straight edges .This definition of a polyhedron is not very precise, and to a modern mathematician is quite unsatisfactory....
, etc.

Some of these problems seem so simple that they were not regarded as problems at all until the advent of computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
s. 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
Brute-force search

In computer science, brute-force search or exhaustive search, also known as generate and test, is a trivial but very general problem-solving technique that consists of systematically enumerating all possible candidates for the solution and checking whether each candidate satisfies the problem's statement....
 algorithm takes O
Big O notation

In mathematics, big O notation describes the asymptotic analysis of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions....
(n2) time; i.e. its execution time is proportional to the square of the number of points. A classic result in computational geometry was the formulation of an algorithm that takes O(n log n). Randomized algorithm
Randomized algorithm

A randomized algorithm or probabilistic algorithm is an algorithm which employs a degree of randomness as part of its logic. The algorithm typically uses Uniform distribution bits as an auxiliary input to guide its behavior, in the hope of achieving good performance in the "average case" over all possible choices of random bits....
s that take O(n) expected time, as well as a deterministic algorithm that takes O(n log log n) time, have also been discovered.

Computational geometry focuses heavily on computational complexity
Computational Complexity

Computational Complexity may refer to:*Computational complexity theory*Computational Complexity ...
 since the algorithms are meant to be used on very large datasets containing tens and hundreds of million points. For large data sets, the difference between O(n2) and O(n log n) can be the difference between days and seconds of computation.

Problem classes


The core problems in computational geometry may be classified in different ways, according to various criteria. The following general classes may be distinguished.

Static problems
In the problems of this category, some input is given and the corresponding output needs to be constructed or found. Some fundamental problems of this type are:

  • Convex hull
    Convex hull

    In mathematics, the convex hull or convex envelope for a Set of points X in a real vector space V is the minimal convex set containing X....
    : Given a set of points, find the smallest convex polyhedron/polygon containing all the points.
  • Line segment intersection
    Line segment intersection

    In computational geometry, the line segment intersection problem supplies a list of line segments in the plane and asks us to determine whether any two of them intersect, or cross....
    : Find the intersections between a given set of line segments.
  • Delaunay triangulation
    Delaunay triangulation

    In mathematics, and computational geometry, a Delaunay triangulation for a set P of points in the plane is a triangulation DT such that no point in P is inside the Circumcircle#Circumcircles_of_triangles of any triangle in DT....
  • Voronoi diagram
    Voronoi diagram

    In mathematics, a Voronoi diagram, named after Georgy Voronoy, also called a Voronoi tessellation, a Voronoi decomposition, or a Dirichlet tessellation , is a special kind of decomposition of a metric space determined by distances to a specified discrete set of objects in the space, e.g., by a discrete set of points....
    : Given a set of points, partition the space according to which point is closest.
  • Linear programming
    Linear programming

    In mathematics, linear programming is a technique for optimization of a linear objective function, subject to linear equality and linear inequality Constraint ....
  • Closest pair of points: Given a set of points, find the two with the smallest distance from each other.
  • Euclidean shortest path
    Euclidean shortest path

    The Euclidean shortest path problem is a problem in computational geometry: given a set of polyhedral obstacles in a Euclidean space, and two points, find the shortest path between the points that does not intersect any of the obstacles....
    : Connect two points in a Euclidean space (with polyhedral obstacles) by a shortest path.
  • Polygon triangulation
    Polygon triangulation

    In computational geometry, polygon triangulation is the decomposition of a polygon into a set of triangles.A triangulation of a polygon P is its partition into non-overlapping triangles whose union is P....
    : Given a polygon, partition its interior into triangles


The computational complexity for this class of problems is estimated by the time and space (computer memory) required to solve a given problem instance.

Geometric query problems

In geometric query problems, commonly known as geometric search problems, the input consists of two parts: the search space
Search space

Search space may refer to one of the following.*In optimization , the domain of the function to be optimized*In search algorithms of computer science, the set of all possible solutions...
 part and the query
Query

In general, a query is a form of questioning, in a line of inquiry. A query may also refer to:* The Queries, a set of 31 questions outlined by Isaac Newton beginning in 1704...
 part, which varies over the problem instances. The search space typically needs to be preprocessed, in a way that multiple queries can be answered efficiently.

Some fundamental geometric query problems are:

  • Range searching
    Range searching

    In its most general form, the range searching problem consists of preprocessing a set S of objects, in order to determine which objects from S a query object, called a range, intersects....
    : Preprocess a set of points, in order to efficiently count the number of points inside a query region.
  • Point location
    Point location

    The point location problem is a fundamental topic of computational geometry. It finds applications in areas that deal with processing geometrical data: computer graphics, geographic information systems , motion planning, and computer aided design ....
    : Given a partitioning of the space into cells, produce a data structure that efficiently tells in which cell a query point is located.
  • Nearest neighbor
    Nearest neighbor search

    Nearest neighbor search , also known as proximity search, similarity search or closest point search, is an optimization problem for finding closest points in metric spaces....
    : Preprocess a set of points, in order to efficiently find which point is closest to a query point.
  • Ray tracing
    Ray tracing

    In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
    : Given a set of objects in space, produce a data structure that efficiently tells which object a query ray intersects first.


If the search space is fixed, the computational complexity for this class of problems is usually estimated by:
  • the time and space required to construct the data structure to be searched in
  • the time (and sometimes an extra space) to answer queries.


For the case when the search space is allowed to vary, see "Dynamic problems".

Dynamic problems

A yet another major class are the dynamic problem
Dynamic problem (algorithms)

Dynamic problems in computational complexity theory are problems stated in terms of the changing input data. In the most general form a problem in this category usually stated as follows:...
s, in which the goal is to find an efficient algorithm for finding a solution repeatedly after each incremental modification of the input data (addition or deletion input geometric elements). Algorithms for problems of this type typically involve dynamic data structures. Any of the computational geometric problems may be converted into a dynamic one. For example, the range searching
Range searching

In its most general form, the range searching problem consists of preprocessing a set S of objects, in order to determine which objects from S a query object, called a range, intersects....
 problem may be converted into the dynamic range searching problem by providing for addition and/or deletion of the points. The dynamic convex hull
Dynamic convex hull

The dynamic convex hull problem is a class of dynamic problem s in computational geometry. The problem consists in the maintenance, i.e., keeping track, of the convex hull for the dynamically changing input data, i.e., when input data elements may be inserted, deleted, or modified....
 problem is to keep track of the convex hull, e.g., for the dynamically changing set of points, i.e., while the input points are inserted or deleted.

The computational complexity for this class of problems is estimated by:
  • the time and space required to construct the data structure to be searched in
  • the time and space to modify the searched data structure after an incremental change in the search space
  • the time (and sometimes an extra space) to answer a query.


Variations

Some problems may be treated as belonging to either of the categories, depending on the context. For example, consider the following problem.
  • Point in polygon
    Point in polygon

    In computational geometry, the point-in-polygon problem asks whether a given point in the plane lies inside, outside, or on the boundary of a polygon....
    : Decide whether a point is inside or outside a given polygon.


In many applications this problem is treated as a single-shot one, i.e., belonging to the first class. For example, in many applications of computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 a common problem is to find which area on the screen is clicked by a mouse cursor. However in some applications the polygon in question is invariant, while the point represents a query. For example, the input polygon may represent a border of a country and a point is a position of an aircraft, and the problem is to determine whether the aircraft violated the border. Finally, in the previously mentioned example of computer graphics, in CAD applications the changing input data are often stored in dynamic data structures, which may be exploited to speed-up the point-in-polygon queries.

In some contexts of query problems there are reasonable expectations on the sequence of the queries, which may be exploited either for efficient data structures or for tighter computational complexity estimates. For example, in some cases it is important to know the worst case for the total time for the whole sequence of N queries, rather than for a single query. See also "amortized analysis
Amortized analysis

In computer science, especially analysis of algorithms, amortized analysis finds the average running time per operation over a worst-case sequence of operations....
".

Numerical computational geometry


This branch is also known as geometric modelling and computer-aided geometric design (CAGD).

Core problems are curve and surface modelling and representation.

The most important instruments here are parametric curves and parametric surface
Parametric surface

A parametric surface is a surface in the Euclidean space R3 which is defined by a parametric equation with two parameters. Parametric representation is the most general way to specify a surface....
s, such as Bezier curve
Bézier curve

In the mathematics field of numerical analysis, a B?zier curve is a parametric curve important in computer graphics and related fields.Generalizations of B?zier curves to higher dimensions are called B?zier surfaces, of which the B?zier triangle is a special case....
s, spline
Spline (mathematics)

In mathematics, a spline is a special Function defined piecewise by polynomials.In interpolation problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low degree polynomials, while avoiding Runge's phenomenon for higher degrees....
 curves and surfaces. An important non-parametric approach is the level set method
Level set method

The level set method is a numerical analysis technique for tracking interfaces and shapes. The advantage of the level set method is that one can perform numerical computations involving curves and surfaces on a fixed Cartesian grid without having to Parametric surface these objects ....
.

Application areas include shipbuilding, aircraft, and automotive industries. The modern ubiquity and power of computers means that 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 combinatorial computational geometry topics

    List of combinatorial computational geometry topics enumerates the topics of computational geometry that states problems in terms of geometric objects as discrete mathematics entities and hence the methods of their solution are mostly theories and algorithms of combinatorics character....
  • List of numerical computational geometry topics
    List of numerical computational geometry topics

    List of numerical computational geometry topics enumerates the topics of computational geometry that deals with geometric objects as continuous entities and applies methods and algorithms of nature characteristic to numerical analysis....
  • CAD/CAM
    Computer-aided manufacturing

    Computer-aided manufacturing is the use of computer-based software tools that assist engineers and machinists in manufacturing or prototyping product components....
    /CAE
    Computer-aided engineering

    File:Plasticity.jpgComputer-aided engineering is the use of information technology to support engineers in tasks such as analysis, Computer simulation, design, manufacture, planning, diagnosis, and repair....
  • Robotics
    Robotics

    Robotics is the science and technology of robots, and their design, manufacture, and application. Robotics has connections to electronics, mechanics, and software....
  • Solid modeling
    Solid modeling

    Solid modeling is the unambiguous representation of the solid parts of an object, that is, models of solid objects suitable for computer processing....
  • Computational topology
  • Digital geometry
    Digital geometry

    Digital geometry deals with discrete space sets considered to be digitizing scale model or s of objects of the 2D or 3D Euclidean space.Simply put, digitizing is replacing an object by a discrete set of its points....
  • Computational Geometry Algorithms Library (CGAL)
    CGAL

    The Computational Geometry Algorithms Library is a software library that aims to provide easy access to efficient and reliable algorithms in computational geometry....
  • Space partitioning
    Space partitioning

    In mathematics, space partitioning is the process of dividing a space into two or more disjoint subsets . In other words, space partitioning divides a space into non-overlapping regions....
  • Wikiversity:Topic:Computational geometry


Further reading

  • List of books in computational geometry
    List of books in computational geometry

    This is a list of books in computational geometry.There are two major, largely nonoverlapping categories:*Combinatorial computational geometry, which deals with collections of discrete objects or defined in discrete terms: points, lines, polygons, polytopes, etc., and algorithms of discrete/combinatorial character are used...


Journals


Combinatorial/algorithmic computational geometry
Below is the list of the major journals that have been publishing research in geometric algorithms. Please notice with the appearance of journals specifically dedicated to computational geometry, the share of geometric publications in general-purpose computer science and computer graphics journals decreased.
  • ACM Computing Surveys
  • ACM Transactions on Graphics
    ACM Transactions on Graphics

    ACM Transactions on Graphics is a quarterly scientific journal that aims to disseminate the latest findings of note in the field of computer graphics....
  • Acta Informatica
  • Advances in Geometry
  • Algorithmica
  • Ars Combinatoria
    Ars combinatoria

    Ars Combinatoria may refer to one of the following.*A logical method described by Gottfried Leibniz in his De Arte Combinatoria and attributed to Ramon Llull...
  • Computational Geometry: Theory and Applications
  • Communications of the ACM
    Communications of the ACM

    Communications of the ACM is the flagship monthly journal of the Association for Computing Machinery . First published in 1957, CACM is sent to all ACM members, currently numbering about 80,000....
  • Computer Graphics and Applications
  • Computer Graphics World
  • Discrete & Computational Geometry
  • Geombinatorics
    Geombinatorics

    Geombinatorics is a mathematical research journal founded by Alexander Soifer and published by the University of Colorado at Colorado Springs, USA, since 1991 under an international board of editors....
  • Geometriae Dedicata
    Geometriae Dedicata

    Geometriae Dedicata is a mathematical journal, founded in 1972, concentrating on geometry and its relationship to topology, group theory and the theory of dynamical systems....
  • IEEE Transactions on Graphics
  • IEEE Transactions on Computers
    IEEE Transactions on Computers

    The IEEE Transactions on Computers is a monthly journal published by the Institute of Electrical and Electronics Engineers Computer Society. It contains peer-reviewed articles and other contributions in the area of computer design by electrical and computer engineers....
  • IEEE Transactions on Pattern Analysis and Machine Intelligence
    IEEE Transactions on Pattern Analysis and Machine Intelligence

    The IEEE Transactions on Pattern Analysis and Machine Intelligence is a monthly journal published by the Institute of Electrical and Electronics Engineers Computer Society....
  • Information Processing Letters
  • International Journal of Computational Geometry and Applications
  • Journal of Combinatorial Theory
    Journal of Combinatorial Theory

    The Journal of Combinatorial Theory, Series A and Series B, are mathematical journals specializing in combinatorics and related areas....
    , series B
  • Journal of the ACM
    Journal of the ACM

    The Journal of the ACM is the scientific journal of the Association for Computing Machinery in the broad area of computer science. It was started in 1954....
  • Journal of Algorithms
  • Journal of Computer and System Sciences
  • Management Science
  • Pattern Recognition
  • Pattern Recognition Letters
  • SIAM Journal on Computing
    SIAM Journal on Computing

    The SIAM Journal on Computing is a research journal focussing on the mathematical and formal aspects of computer science. It is published by the Society for Industrial and Applied Mathematics ....
  • SIGACT News; featured the "Computational Geometry Column" by Joseph O'Rourke
    Joseph O'Rourke (professor)

    Joseph O'Rourke is a professor of computer science at Smith College. His main research interests are computational geometry and the philosophy of artificial intelligence....
  • Theoretical Computer Science
    Theoretical computer science

    Theoretical computer science is the collection of topics of computer science that focuses on the more abstract, logical and mathematical aspects of computing, such as the theory of computation, analysis of algorithms, and semantics of programming languages....
  • The Visual Computer


External links