![Page 1: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/1.jpg)
242-535 ADA: 14. Intro to CG
1
• Objectiveo give a non-technical overview of
Computational geometry, concentrating on its main application areas
Algorithm Design and Analysis
(ADA)242-535, Semester 1 2014-2015
14. Introduction to Computational
Geometry
![Page 2: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/2.jpg)
242-535 ADA: 14. Intro to CG
2
1. What is Computational Geometry?2. Uses in Computer Graphics3. Uses in Robotics4. Uses in GIS5. Uses in CAD/CAM6. A Textbook
Overview
![Page 3: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/3.jpg)
1. What is Computational
Geometry?
The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically fast.
![Page 4: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/4.jpg)
242-535 ADA: 14. Intro to CG
4
CG in Context
TheoreticalComputer
Science
Applied Computer Science
AppliedMath
Geometry
ComputationalGeometry
Efficient Geometric Algorithms
Design Analyze
Apply
![Page 5: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/5.jpg)
2. Uses in Computer Graphics
· Intersect geometric primitives (lines, polygons, polyhedra, etc.)
· Determine primitives lying in a region.
· Hidden surface removal – determine the visible part of a 3D scene while discard the occluded part from a view point.
· Deal with moving objects and detect collisions.
![Page 6: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/6.jpg)
242-535 ADA: 14. Intro to CG
6
• Is point q inside simple polygon P?
Point in Polygon Testing
P n-gon
q
Naïve: O(n) per test
CG: O(log n)
![Page 7: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/7.jpg)
242-535 ADA: 14. Intro to CG
7
• Given n line segments in the plane, determine:o Does some pair intersect? (DETECT)o Compute all points of intersection (REPORT)
Segment Intersection
Naïve: O(n2)
CG: O(n log n) detect, O(k+n log n) report
![Page 8: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/8.jpg)
242-535 ADA: 14. Intro to CG
8
• Find “smallest” (tightest fitting) pair of bounding boxes
• Motivation: o Best outer approximationo Bounding volume hierarchies
The 2-Box Cover Problem
![Page 9: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/9.jpg)
Triangulation of Polygons
![Page 10: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/10.jpg)
242-535 ADA: 14. Intro to CG
10
Collision Detection
![Page 11: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/11.jpg)
3. Uses in Robotics
· Motion planning
· Grasping
· Parts orienting
· Optimal placement
![Page 12: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/12.jpg)
ProximityClosest coffee shop in PSU?
Voronoi diagram
Delaunay triangulation
![Page 13: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/13.jpg)
242-535 ADA: 14. Intro to CG
13
• A Voronoi diagram is a way of dividing space into smaller regions.
• A set of points (called seeds, sites, or "coffee shops") is specified beforehand and for each seed there will be a corresponding region consisting of all points closer to that seed than to any other.
• The regions are called Voronoi cells.
• Closely related to Delaunay triangulation
A Voronoi Diagram
![Page 14: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/14.jpg)
Voronoi Diagrams in Nature
Dragonfly wingHoneycomb
Constrained soap bubbles
Giraffe pigmentation
![Page 15: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/15.jpg)
242-535 ADA: 14. Intro to CG
15
• A Delaunay triangulation for a set points results in a series of triangles connecting those points.
• A circle drawn through the three points in a triangle will contain no other points.
Delaunay Triangulation
Delaunaytriangulation
![Page 16: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/16.jpg)
Path Planning
Robot
How can a robot find a short route to the destination that avoids all obstacles?
![Page 17: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/17.jpg)
242-535 ADA: 14. Intro to CG
17
Mobile Robotic GuardWatchman Route Problem
![Page 18: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/18.jpg)
Determine the smallest number of cameras needed to see all of a given area.
5 cameras are enough to see everywhere (what about 4 cameras? 3?)
How Many Cameras?
viewable areafor this camera
![Page 19: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/19.jpg)
4. Uses in GISStorage of geographical data (contours of countries, height of mountains, course of rivers, population, roads, electricity lines, etc.)
· Large amount of data – requiring efficient algorithms.
· Geographic data storage (e.g., map of roads for car positioning or computer display).
· Interpolation between nearby sample data points
· Overlay of multiple maps.
![Page 20: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/20.jpg)
5. Uses in CAD/CAM
· Intersection, union, and decomposition of objects.
· Testing on product specifications.
· Design for assembly – modeling and simulation of assembly.
· Testing design for feasibility.
![Page 21: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/21.jpg)
242-535 ADA: 14. Intro to CG
21
Bounding Volume Hierarchy
BV-tree: Level 0
![Page 22: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/22.jpg)
242-535 ADA: 14. Intro to CG
22
BV-tree: Level 1
![Page 23: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/23.jpg)
242-535 ADA: 14. Intro to CG
23
BV-tree: Level 2
![Page 24: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/24.jpg)
242-535 ADA: 14. Intro to CG
24
BV-tree: Level 5
![Page 25: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/25.jpg)
242-535 ADA: 14. Intro to CG
25
BV-tree: Level 8
![Page 26: 242-535 ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm](https://reader036.vdocument.in/reader036/viewer/2022070407/56649e4e5503460f94b453dd/html5/thumbnails/26.jpg)
242-535 ADA: 14. Intro to CG
26
• Computational Geometry in Co Joseph O’Rourke,
Cambridge University Press, 2nd ed.,1998
5. A Textbook
http://cs.smith.edu/~orourke/books/compgeom.html