242-535 ada: 14. intro to cg1 objective o give a non-technical overview of computational geometry,...

Post on 11-Jan-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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.

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

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.

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)

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

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

Triangulation of Polygons

242-535 ADA: 14. Intro to CG

10

Collision Detection

3. Uses in Robotics

· Motion planning

· Grasping

· Parts orienting

· Optimal placement

ProximityClosest coffee shop in PSU?

Voronoi diagram

Delaunay triangulation

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

Voronoi Diagrams in Nature

Dragonfly wingHoneycomb

Constrained soap bubbles

Giraffe pigmentation

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

Path Planning

Robot

How can a robot find a short route to the destination that avoids all obstacles?

242-535 ADA: 14. Intro to CG

17

Mobile Robotic GuardWatchman Route Problem

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

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.

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.

242-535 ADA: 14. Intro to CG

21

Bounding Volume Hierarchy

BV-tree: Level 0

242-535 ADA: 14. Intro to CG

22

BV-tree: Level 1

242-535 ADA: 14. Intro to CG

23

BV-tree: Level 2

242-535 ADA: 14. Intro to CG

24

BV-tree: Level 5

242-535 ADA: 14. Intro to CG

25

BV-tree: Level 8

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

top related