all computational geometry cs 763 computational geometry ...alubiw/cs763/lecture1.pdf · • linear...
TRANSCRIPT
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
CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations
Triangulate a polygon/point set/surface
CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations
Polygon Triangulation
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
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:
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
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
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.
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.
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]
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
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
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.
CS 763 F16 A. Lubiw, U. WaterlooLecture 1: Triangulations
Next: algorithms to triangulate polygons.
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.
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!