Module 2-What Is CG1
Module 2-What Is CG1
Computational Geometry
Joe Mitchell
Learning Objectives
• Understand what computational geometry is, as a
field of study
• Be able to specify or recognize some basic
computational geometry problems, at a high level
What is CG?
• The algorithmic and mathematical study of
efficient methods to solve geometric problems
CG Application Areas
• Robotics • Sensor networks
• Graphics, visualization • Optimization, LP
• Computer vision • Manufacturing
• Machine learning • Transportation
• Statistics • Finance
• Virtual environments, • Biology, chemistry
games • Simulation
• Databases • GIS, maps
• Social networks • Architecture
• Etc, etc
Examples of CG Problems
• Visibility computation
• Optimal coverage, enclosure, packing
• Shortest paths, networks
• Motion planning for robots
• Intersection detection
• Linear programming (LP), optimization
• Convex hulls
• Separation, clustering (machine learning)
• Pattern matching/shape similarity
Example 0
• Data processing: given n points
Find min-enclosing ball
Issue: outliers
Fundamental Problem: 2D Convex
Hulls More generally:
CH(polygons)
p7 p4
p8
p3
p1 p6
p5
p9
Output: (9,6,4,2,7,8,5)
P n-gon
Applet: O’Rourke
Example
https://visualgo.net/en/polygon
Example 2
• Segment intersection: Given n line segments
in the plane, determine:
– Does some pair intersect? (DETECT)
– Compute all points of intersection (REPORT)
Naïve: O(n2)
CG: O(n log n) detect, O(k+n log n) report
Example 3
Post office problem: Voronoi diagrams
[https://lcc.ncbr.muni.cz/whitezone/development/mole/web/docs/doc_alg.php]
Delaunay Triangulation
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
Example 4
Triangulation of points, polygons “Mesh Generation”
[wikipedia]
http://www.cosy.sbg.ac.at/~held/projects/triang/triang.html
Triangulation
• Input: Set S of n points
https://rawgit.com/hexahedria/math_198o_gallery/master/index.html#
Jackson Warley: https://github.com/hexahedria/math_198o_gallery
QOTD, Part 2: 8/26/2024
For the polygon in the example, what is
g(P)=min # guards (points) to see all of it?
Mobile Robotic Guard
• Visit all visibility polygons Subject to: stay
inside polygonal
domain P
39
Route Planning in Google Maps
• Alternate routes are suggested
TSP: 532 Cities in USA
http://www.math.uwaterloo.ca/tsp/gallery/igraphics/att532.html
Example 7
Collision detection in virtual 3D worlds
QuickCD