all computational geometry cs 763 computational geometry ...alubiw/cs763/lecture1.pdf · • linear...

16
CS 763 F16 A. Lubiw, U. Waterloo Lecture 1: Triangulations Intro to course web page Piazza https://cs.uwaterloo.ca/~alubiw/CS763.html Course Outline Topics: polygon triangulation convex hulls Voronoi diagrams and Delaunay triangulations arrangements and duality linear programming geometric data structures, search problems motion planning, shortest paths Background: I will assume a background in algorithms and data structures equivalent to a decent undergraduate course (e.g. UW's CS 341). Credit: 6 small assignments (1 or 2 questions each) (50%) a project (50%). Pick some topic that interests you and is relevant to the course; explore some aspect of it; read a few papers; and survey them. You must do a written report and a class presentation. I will suggest possible topics.

Upload: voquynh

Post on 15-May-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Intro to course

web page

Piazza

https://cs.uwaterloo.ca/~alubiw/CS763.html

Course OutlineTopics:

• polygon triangulation• convex hulls• Voronoi diagrams and Delaunay triangulations• arrangements and duality• linear programming• geometric data structures, search problems• motion planning, shortest paths

Background: I will assume a background in algorithms and data structures equivalent to a decent undergraduate course (e.g. UW's CS 341).

Credit:• 6 small assignments (1 or 2 questions each) (50%)• a project (50%). Pick some topic that interests you and is relevant to

the course; explore some aspect of it; read a few papers; and survey them. You must do a written report and a class presentation. I will suggest possible topics.

Offered in Fall 2016, Tuesday, Thursday, 1:00 - 2:20 pm. DC 2568. Starting next Tuesday.

Assumed Background: a decent algorithms course (e.g. our CS 341)

Credit:• 6 assignments, 50%• project, 50%

Text:Computational Geometry: Algorithmsand Applications, (3rd edition) M. de Berg, O. Cheong, M. van Kreveld, M. Overmars, Springer, 2008

CS 763 Computational Geometry

Back to search results for "computational geometry"

Computational Geometry: Algorithms and Applications 3rd Editionby Mark de Berg (Author), Otfried Cheong (Author), Marc van Kreveld (Author), Mark Overmars (Author)

15 customer reviews

Frequently Bought Together

Total price: $158.60

ISBN-13: 978-3540779735ISBN-10: 3540779736Why is ISBN important?

Have one to sell?

Share

Sell yours for a Gift Card We'll buy it for $9.37 Learn More

Trade in now

Sell on Amazon

Add to List

eTextbook $39.58

Hardcover$17.11 - $42.78

Paperback$33.00 - $49.95

Other Sellersfrom $25.00

This introduction to computational geometry focuses on algorithms. Motivation is provided from the applicationareas as all techniques are related to particular applications in robotics, graphics, CAD/CAM, and geographicinformation systems. Modern insights in computational geometry are used to provide solutions that are bothefficient and easy to understand and implement.

Report incorrect product information.

Looking for something great to read? Browse our editors' picks for the Best Books of the Year So Far in fiction,nonfiction, mysteries, children's books, and much more.

Rent $17.11

Buy used $36.77

Buy new $42.78

Only 20 left in stock (more on the way).Ships from and sold by Amazon.com. Gift-wrap available.

This item ships to Waterloo, Canada. Want it Thursday, Sept.8? Order within 4 hrs 24 mins and choose AmazonGlobalPriority Shipping at checkout. Learn more

List Price: $49.95 Save: $7.17 (14%)

36 New from $26.95

Ship to:

Anna Lubiw- Wate - N2L 3

More Buying Choices

36 New from $26.95 30 Used from $25.00

66 used & new from $25.00

See All Buying Options

Turn on 1-Click ordering

Qty: 1

Add to Cart

Books Advanced Search New Releases Best Sellers The New York Times Best Sellers Children's Books Textbooks Textbook Rentals Sell Us Your Books

Departments Your AccountHello, Anna

Try Prime Lists Cart0

Browsing History Anna's Amazon.com Today's Deals

Try Prime All computational geometry

Page 2: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Triangulate a polygon/point set/surface

Page 3: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Polygon Triangulation

Page 4: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

https://en.wikipedia.org/wiki/Jordan_curve_theorem

https://en.wikipedia.org/wiki/What_Is_Mathematics%3F

Jordan Curve Theorem

Page 5: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Motivation for Decomposing Polygons

Most algorithms on polygons work better on small/nice polygons — triangles or convex pieces.

Note: 3D is more useful than 2D but we often work with surfaces in 3D and these are stored as a collection of polygons.

Types of Decompositions

- partition — express polygon as union of disjoint subpolygons- covering — express polygon as union of subpolygons

- Boolean combination — express polygon as Boolean combination (union, intersection, minus, etc.) of subpolygons.

Steiner points

Sometimes we require the subpolygon vertices to be vertices of the original. Otherwise the new vertices are called Steiner points.Examples:

Page 6: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Triangulating Polygons

Partition a polygon into triangles without Steiner points.

Theorem [Lennes 1911] Any polygon can be triangulated.

Proof.

Example

Page 7: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Some properties of polygon triangulations

- number of triangles is

- every polygon has two disjoint ears

- triangles form a tree

Page 8: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

The number of triangulations of a polygon.

Some polygons have a unique triangulation.

Problem 1: Give a polynomial-time algorithm to compute the number of triangulations of a simple polygon.

Fact: The number of triangulations of an n-vertex convex polygon

is the Catalan number Cn-2

Remark: this is an open problem for point sets.

Page 9: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Later on we will talk about triangulating point sets in the plane

Also about “triangulating” polyhedra in 3D

Exercise: cut a cube into min. number of tetrahedra.

Page 10: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Art Gallery Theorem

Regard a polygon as a floorplan of an art gallery, edges = walls.How many guards are needed to watch the whole gallery?

Example

Problem posed by Victor Klee 1973, bound proved by Chvatal 1975, simple proof by Fisk 1978.

Theorem. For an n vertex polygon floor(n/3) guards always suffice, and for some n-vertex polygons, floor(n/3) guards are necessary.

Proof [Fisk]

Page 11: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

There are many further results on guarding.

Exercise: If the polygon is orthogonal, make a conjecture about the number of guards that are always sufficient and sometimes necessary.

Note: finding the actual minimum number of guards for a given polygon is NP-hard, and the guards need not be on the boundary.Example:

Open Question: Suppose the walls are mirrors. How many lights are needed to illuminate the polygon?

The Art Gallery result can be regarded as an illumination result: floor(n/3) lights will illuminate any n-vertex polygon.

Example

Page 12: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Open Question: Suppose the walls are mirrors. How many lights are needed to illuminate the polygon?

Conjecture 1. Just one.

from P to Q is possible. In the mirrored-room setting (described last time), if a light source is placed at P, thenthe whole triangular fang remains unilluminated! This is stronger than Tokarski’s room, where only a singlepoint remained unlit. Similar constructions are possible even with rooms that have no corners , such as the“curvy” mushroom on the right.

Le!: Any path entering the mushroom head from segment will be reflectedback down through this segment, so the triangle containing Q is not reachable fromP. Right: The same phenomenon is possible even when the room has no corners.

With this idea, we can construct a mirrored room that has dark patches no matter where a light bulb is placed. Inthe image below, if a light source is placed anywhere in the top half of the room, the lower triangular “fang” willbe completely dark. Similarly, the upper fang is not illuminated from anywhere in the bottom half of the room.This room (or one quite like it) was originally designed by Roger Penrose in 1958.

This room will have dark regions nomatter where the light source is

[3]

F1F2

A

B

With curves, Conjecture 1 is false:

But for polygons, even something stronger seemed true:

Conjecture 2. One light at ANY point in the polygon will illuminate the whole polygon.

any light in this region will miss all of triangle A or B

Page 13: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

A B

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Open Question: Suppose the walls are mirrors. How many lights are needed to illuminate the polygon?

Conjecture 1. Just one.

Conjecture 2. One light at ANY point in the polygon will illuminate the whole polygon.

Disproved by Tokarsky 1995.

a light at A will not reach B

Conjecture 2’. One light at ANY point in the polygon will illuminate the whole polygon except isolated points.

Page 14: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Next: algorithms to triangulate polygons.

Page 15: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

Algorithms to triangulate a polygon

1. obvious method (following the proof)

Find a chord and recurse on the two subpolygons.

To find a chord, try all n choose 2 pairs of vertices a,b.

To test if line segment ab is a chord, test whether it intersects any of the n polygon edges, and test if it is inside or outside the polygon.

FACT: we can test if two line segments intersect in O(1) time.

Time to find a chord: O(n3)

Total time for the algorithm: O(n4)

Exercise: Improve this algorithm to run in time O(n3). Hint: Show that it suffices to try pairs of vertices vi vi+2 to cut off an “ear”. Exercise: Improve this algorithm to run in time O(n2). Hint: Removing an ear does not change the polygon very much.

Page 16: All computational geometry CS 763 Computational Geometry ...alubiw/CS763/Lecture1.pdf · • linear programming • geometric data structures, search problems ... Modern insights

CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations

2. O(n log n) algorithm next day

3. optimal algorithm O(n)

- Bernard Chazelle 1991

Triangulating a simple polygon in linear timeB Chazelle - Discrete & Computational Geometry, 1991 - SpringerAbstract. We give a deterministic algorithm for triangulating a simple polygon in linear time. The basic strategy is to build a coarse approximation of a triangulation in a bottom-up phase and then use the information computed along the way to refine the triangulation in a top- ...Cited by 840 From: google scholar

But so complicated that there’s no implementation!