Computational geometry

Home > Computer Science > Algorithms and data structures > Computational geometry

This subfield focuses on the study of algorithms and data structures for problems related to geometry, such as finding the intersection of lines or planes.

Points and lines: Representation, distance, intersection.
Convex hull: Definition, algorithms, applications.
Voronoi diagrams: Definition, algorithms, properties.
Delaunay triangulations: Definition, algorithms, properties.
Line sweep algorithms: Concept, implementation, applications.
Polygon triangulation: Algorithms, properties, simplicity test.
Intersection testing: Methods, complexities, applications.
Closest pair of points: Divide and conquer, brute force, applications.
Triangulations with holes: Algorithms, properties, applications.
Arrangements and duality: Definitions, algorithms, applications.
Geometric transformations: Translation, rotation, scaling, shearing.
Computational topology: Basic concepts, algorithms, applications.
Visibility algorithms: Point visibility, ray shooting, shortest path.
Off-line and on-line algorithms: Definitions, properties, applications.
Data structures for geometric computation: Quad-trees, k-d trees, range-trees.
Randomized algorithms: Monte Carlo, Las Vegas, properties, applications.
Kinematic structures: Configuration space, motion planning, applications.
Implicit representations: Level sets, Marching Cubes, applications.
Space partitioning techniques: BSP trees, octrees, applications.
Computational algebraic geometry: Basic concepts, algorithms, applications.
Convex Hull algorithms: Finding the smallest convex polygon containing all given points is known as convex hull algorithms.
Triangulation algorithms: Dividing a geometric shape into triangles is done using triangulation algorithms.
Voronoi diagrams: Voronoi diagrams solve problems such as nearest-neighbor searching and motion planning in robotics.
Delaunay Triangulation: Delaunay Triangulation connects a set of points, ensuring a minimal number of triangles for the entire process.
Line Segment Intersection algorithms: Finding the intersection points between two lines or line segments is what line segment intersection algorithms do.
Range Searching: Range searching algorithms determine which points in a set lie within a given range.
Geometric Searching: Finding nearest neighbors, closest pairs, or the shortest path is done with geometric searching algorithms.
Sweepline algorithms: Sweepline algorithms divide a two-dimensional space into vertical slabs whose intersections only include the input points.
Clarkson's deterministic algorithm: One of the fastest algorithms for computing convex hulls is Clarkson's deterministic algorithm, which can process a million points in O(n log n) time.
Arrangements: Arrangements allow for the intersection of various curves, such as lines, arcs, and circles, and are widely used in computer-aided design and manufacturing.
Visibility algorithms: Visibility algorithms are used to determine the area that is visible from a single point or viewpoint, which is useful in computer graphics and surveillance.
Mesh generation: Mesh generation involves the construction of a finite element mesh, which is an integral part of numerical simulations in electromagnetics, fluid dynamics, geology, and other fields.
"Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry."
"While modern computational geometry is a recent development, it is one of the oldest fields of computing with a history stretching back to antiquity."
"Computational complexity is central to computational geometry, with great practical significance if algorithms are used on very large datasets containing tens or hundreds of millions of points."
"For such sets, the difference between O(n2) and O(n log n) may be the difference between days and seconds of computation."
"The main impetus for the development of computational geometry as a discipline was progress in computer graphics and computer-aided design and manufacturing (CAD/CAM)."
"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."
"Other important applications of computational geometry include robotics, geographic information systems (GIS), integrated circuit design, computer-aided engineering (CAE), and computer vision."
"The main branches of computational geometry are Combinatorial computational geometry (algorithmic geometry) and Numerical computational geometry (machine geometry, computer-aided geometric design, and geometric modeling)."
"A groundlaying book in the subject by Preparata and Shamos dates the first use of the term 'computational geometry' in this sense by 1975."
"This branch may be seen as a further development of descriptive geometry and is often considered a branch of computer graphics or CAD."
"The term 'computational geometry' in this meaning has been in use since 1971."
"Although most algorithms of computational geometry have been developed (and are being developed) for electronic computers, some algorithms were developed for unconventional computers (e.g., optical computers)."
"A groundlaying book in the subject by Preparata and Shamos dates the first use of the term 'computational geometry' in this sense by 1975."
"This branch may be seen as a further development of descriptive geometry and is often considered a branch of computer graphics or CAD."
"The main impetus for the development of computational geometry as a discipline was progress in computer graphics and computer-aided design and manufacturing (CAD/CAM)."
"Other important applications of computational geometry include robotics (motion planning and visibility problems)."
"Other important applications of computational geometry include geographic information systems (GIS) (geometrical location and search, route planning)."
"Other important applications of computational geometry include computer-aided engineering (CAE) (mesh generation)."
"Other important applications of computational geometry include computer vision (3D reconstruction)."
"For such sets, the difference between O(n2) and O(n log n) may be the difference between days and seconds of computation."