CSE 546, Fall, 2016 Homework 1
|
|
- Imogene Burke
- 5 years ago
- Views:
Transcription
1 CSE 546, Fall, 2016 Homework 1 Due at the beginning of class Thursday, Sept. 15 at 2:30pm. Accepted without penalty until Friday, noon, in my mailbox in the Dept. office, third floor of Jolley. Notes about homework: Whenever you are asked to present an algorithm,you should present three things: the algorithm, an informal proof of its correctness, and a derivation of its running time. Remember that your description is intended to be read by a human, not a compiler, so conciseness and clarity are preferred over technical details. Unless otherwise stated, you may use any results from class, or results from any standard algorithms text. Giving careful and rigorous proofs can be quite cumbersome in geometry, and so you are encouraged to use intuition and give illustrations whenever appropriate. Beware, however, that a poorly drawn figure can make certain erroneous hypotheses appear to be obviously correct. Throughout the semester, unless otherwise stated, you may assume that input objects are in general position. For example, you may assume that no two points have the same x-coordinate, no three points are collinear, no four points are co-circular. Also, unless otherwise stated, you may assume that any geometric primitive involving a constant number of objects each of constant complexity can be computed in O(1) time. Collaboration: and is listed here: The collaboration policy for this class is adopted from Jeremy Buhler s classes The short version of this policy is that you are allowed to discuss homework problems with other classmates, but you are not allowed to take away written notes from that discussion. All your work towards writing up homework solutions must be done on your own. Practice Problems: 1. A set Q R 2 is star-shaped if there exists a point c Q, such that for every point q Q, the line segment cq is contained in Q. Prove or disprove: (a) Every star-shaped set is convex. (b) Every convex set is star-shaped. (c) The union of two convex sets is convex. (d) The intersection of two convex sets is convex. (e) The intersection of two star-shaped sets is convex. (f) The intersection of a convex set and a star-shaped set is convex Solution: Counter examples for problems a,c,e,f are shown on the figure. Problem 1b: Every convex set is star shaped. Let S be any convex set. We need to prove that this is star shaped. The definition of convex is: x,y S the convex combination of x and y is also in S. Informally, if you pick any two points in S, all the points on the line segment between S are also in S.
2 Figure 1: Counter examples for parts of problem 1 So, pick any point of S. Any point at all. Call that point c. Because S is convex, then y S the convex combination of c and y is also in S. This is the definition of a star-shaped set with c as a center point. Since such a center point exists then S is star-shaped. In fact, any point of a convex set S can be a center point. Problem 1d: The intersection of two convex sets is convex. Let S 1 and S 2 each be a convex set. Let S be the intersection fo S 1 and S 2. Our goal is to prove that S is convex. Let x, y be any two points in S. Let z be any point on the convex combination of x, y. Then, z must be in S, because z is in S 1 (because x, y are in S 1, S 1 is convex, and z is on the convex combination of x, y, and because z is in S 2 (because x, y are in S 2, S 2 is convex, and z is on the convex combination of x, y. Since z is in both S 1 and S 2 it is in the intersection of S 1 and S 2. Therefore, S is convex, because for any points x, y in S every point z on the line from x, y is in S. 2. A polygon P is star-shaped if there exists a point q inside the polygon such that for every point p in the polygon P, the line pq is contained within P. You are given the polygon P as a counterclockwise list of vertices. Give an O(n) algorithm to compute the convex hull of P. Prove the correctness of your algorithm (at least argue that every edge of your output is actually on the convex hull). Solution: Our approach is to use Graham s Scan. Usually this is an O(n log n) algorithm because we need to sort the point (either by x-coordinate, or around some point). Since are given the order of the points around a star-shaped polygon, they are *already* sorted angularly around the center of the polygon.
3 We mimic Graham s scan: relabel points so that x 1 is the bottommost point and all the rest are still ordered counterclockwise around point q. make fake point x 0 =<, 0 >, so all points are above the line from that point to x 1 push x_0 push x_1 push x_2 for i = 3..n push x_i while size(stack)>2 and orient(stack.second, stack.first, x_i) = "right turn" pop stack end end Output the elements of the stack Correctness: Every point q is initially put on the hull. A point q is discarded from the convex hull if and only if it lies in counterclockwise order between points p i, p k and p i, q, p k is a right turn. Such a point q can never be on any convex hull. Runtime: The runtime for this is O(n) using the same argument that we used for Graham s Scan in class, except that we do not need the sorting step. In particular, everytime through the loop we perform 1 operation where we push something onto the stack, and a i operations where we pop 0 or more items off the stack. The sum: i a i cannot be more than n because we cannot ever pop more items off the stack than we ve pushed on, the total runtime is O(n). Evaluated Problems: 1. (10 points) Given n points in the plane, create an O(nlogn) algorithm that constructs a simple polygon having those points as vertices. Prove that your resulting polygon is simple (no self intersections), and uses all points. Prove the correctness and analyze the asymptotic running time of your algorithm. Solution Idea: Create a line from leftmost point to rightmost point. Connect all points above that line as the upper part of the polygon, and all points below as the lower part of the polygon. Algorithm: Sort all points by x-coordinate p 1, p n are the extreme points. Create Top List and Bottom List, and put p 1 on bottom list. for k = 2... (n 1) if orient(p 1, p n, p k ), add p k to Top List
4 else add p k to Bottom List. Return the list of all points on the bottom list, then all the points on the top list (in reverse order). This gives a list of all points around the polygon in counter-clockwise order. Run-time: Sort: O(n log n) Each time through the loop: O(n) -- constant each loop iteration. Output: O(n) to iterate through Bottom list, O(n) to reverse top list. TOTAL: O(n log n). Correctness: We need to prove that this is a simple polygon and that no segments intersect. This is based on the combination of two claims. Claim 1: No edges between points on the top list can intersect with edges between points on the bottom list. This is true because the line from p 1 to p n separates those segments, so they can t intersect. Claim 2: No edges between points on the top list can intersect. This is true because the toplist is constructed between points with consecutive x-coordinates. Therefore it is monotonic in the x-direction any vertical line passes through at most 1 edge on the list, and therefore no two edges can intersect (because at the intersection point, at least, the vertical line would intersect two segments). The same argument applies to the bottom list. Since a segment cannot intersect with either another segment on its own list or the other list, there are no intersections. 2. (10 points) The convex hull is one description of the shape of a set of points. It has the problem that if there is one crazy point added to the dataset, that may dominate the shape of the hull. Another approach calculates multiple convex hulls as follows: First compute the convex hull of all the points, remove the vertices of the hull. Then compute the convex hull of the remaining points, and again remove the vertices of the hull. Repeat this until no more points remain. The final result is a collection of nested convex polygons (where the last one may degenerate to a single line segment or single point). Figure 2: A set of points and its nested set of hulls Given a set P of n points in the plane, create an O(n 2 ) time algorithm to compute this iterated sequence of hulls. Analyze the running time and prove the correctness of your algorithm. (Fact: O(n log n) is possible, but very complicated.)
5 Solution: There are many correct answers to this problem. One is based on using Graham s scan iteratively, taking advantage of the fact that Grahams scan is O(n) once you have sorted the points. Algorithm: Sort all points by x-coordinate, put into REMAINING-POINTS-LIST While REMAINING-POINTS-LIST not empty make an extra copy of REMAINING-POINTS-LIST. Run graham s scan algorithm using sorted REMAINING-POINTS-LIST (from class or the book) to find the convex hull. Remove all points used in this convex hull from the copy of REMAINING-POINTS- LIST and make this the new REMAINING POINTS LIST which is still sorted. Proof of Correctness: Every point is output on some convex hull, because points are only taken off the remaining points list when they are output on some hull. Running time. The initial sort step takes n log n. The remaining loop can happen at most n 3 times, and each iteration takes O(n) time, so the overall time is at most O(n 2 ). 3. (10 points) Let P be the polygonal path [v 1, v 2,...v n ], which has the property that at every vertex, the path turns left (that ie, v i+1 is always left of the ray from v i 1 to v i ). Give a linear time algorithm to check this path for self intersections. Prove the correctness and analyze the running time of your algorithm. Solution: Algorithm idea: We will walk through the points one at a time, and keep track of a very small number of things that have to be checked to make sure that there is no intersection. In Phase 1, while the path has the potential to grow, we keep track of a tangent line between the current point. When the path is shrinking, we keep track of the edge we currently aim at. There is a transition where this is more complicated. Updating these pointers will take overall O(n) amortized time, although individual steps may take longer. Initialization: Initialize c = 2 Initialize t = 0 % There is no intersection until the 3rd edge, so we have sefely gotten to % if the next edge is RIGHT of V_C, V_T then it is safe. Growing Phase: while c<n+1 AND orient(c,t,c+1)<0 "While not done and new line right of tangent" while orient(c+1,t,t+1)<0 "Update the tangent line if necessary" t = t+1 c=c+1 "Set up to go to the next point" % "We re either done, or a line has turned inside the tangent" % Assume we re not done, so find the segment that we are aiming at: Transition phase: % Find the closest edge that c,c+1 might hit while c<n+1 and t>0 "Check segment back from tangent
6 Figure 3: Initial tangent lines, point at which growth phase stops, and target while orient(c,c+1,t)>0 and t>0 t=t-1 if t>0 in this case, we actually found a target line. check intersection of edge (c,c+1), (t-1,t) c=c+1 %% Transition phase done, we never found a tangent as we were going backwards, so we must be % Let s find which line it actually is. Start with t past the line and walk back until we f t = c-2. while orient(c-1,c,t)>0 t = t-1. % ok, now set up for final push. while c<n+1 c = c + 1 while orient(c-1,c,t+1)>0 %while target is left, increment it. t = t+1 check intersection (c-1,c), (t,t+1), report if it exists and stop. Run Time: there are three loops. Collectively they go through all the points. Each loop also has a sub while loop. But that inner loop increments a tangent line or a target line which can only be incremented. While sometimes this may take many steps, that target line passes every veryex once, so overall run time is O(n). Proof of Correctness: In the initial phase, we maintain a tangent line from our current point to the set of all points seen so far. While we are growing, each new segment is to the right of this tangent line, which include no current point, so no intersection is possible. When the growing phase stops, each new segment adds a possible intersection. Our algorithm maintains a pointer to the closest possible segment. In the transition phase this closest possible segment may be on the outer edge of the expanding section, and in the shrinking phase it is the
7 first edge (going backward from the current edge) whose endpoints are on either side of the current edge. These closest edges that we might intersect form a barrier; if we don t intersect these edges, we can t get past them to intersect any other edges. Therefore, the few edge intersections that we do check suffice.
Lecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationComputational Geometry
Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is
More informationComputational geometry
Computational geometry Inge Li Gørtz CLRS Chapter 33.0, 33.1, 33.3. Computational Geometry Geometric problems (this course Euclidean plane). Does a set of line segments intersect, dividing plane into regions,
More informationComputational Geometry. Geometry Cross Product Convex Hull Problem Sweep Line Algorithm
GEOMETRY COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Computational
More informationPlanar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College
Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull Given a set P of points in 2D, their convex hull is the smallest convex polygon that contains all points
More informationAdvanced Algorithms Computational Geometry Prof. Karen Daniels. Spring, 2010
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Lecture 3 O Rourke Chapter 3: 2D Convex Hulls Thursday, 2/18/10 Chapter 3 2D Convex Hulls
More informationProf. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel
Computational Geometry (CS 236719) http://www.cs.tufts.edu/~barequet/teaching/cg Chapter 1 Introduction 1 Copyright 2002-2009 2009 Prof. Gill Barequet Center for Graphics and Geometric Computing Dept.
More informationConvex Hull Algorithms
Convex Hull Algorithms Design and Analysis of Algorithms prof. F. Malucelli Villa Andrea e Ceriani Simone Outline Problem Definition Basic Concepts Bruteforce Algorithm Graham Scan Algorithm Divide and
More informationCS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles
CS4733 Class Notes 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles Reference: An Algorithm for Planning Collision Free Paths Among Poyhedral Obstacles by T. Lozano-Perez and M. Wesley. This
More informationVisibility Graph. How does a Mobile Robot get from A to B?
Robot Path Planning Things to Consider: Spatial reasoning/understanding: robots can have many dimensions in space, obstacles can be complicated Global Planning: Do we know the environment apriori? Online
More informationThe convex hull of a set Q of points is the smallest convex polygon P for which each point in Q is either on the boundary of P or in its interior.
CS 312, Winter 2007 Project #1: Convex Hull Due Dates: See class schedule Overview: In this project, you will implement a divide and conquer algorithm for finding the convex hull of a set of points and
More informationCS6100: Topics in Design and Analysis of Algorithms
CS6100: Topics in Design and Analysis of Algorithms Guarding and Triangulating Polygons John Augustine CS6100 (Even 2012): Guarding and Triangulating Polygons The Art Gallery Problem A simple polygon is
More informationNotes and Answers to Homework Exam 1, Geometric Algorithms, 2017
Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017 Below are some notes and sketches of correct answers for the first homework exam. We have also included the most common mistakes that were
More informationCS 410/584, Algorithm Design & Analysis, Lecture Notes 8!
CS 410/584, Algorithm Design & Analysis, Computational Geometry! Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off
More informationAdvanced Algorithm Homework 4 Results and Solutions
Advanced Algorithm Homework 4 Results and Solutions ID 1 2 3 4 5 Av Ex 2554 6288 9919 10 6 10 10 9.5 8.9 10-1 4208 10 10 9 8.5 10 9.5 9 0996 10 10 10 10 10 10 10 8239 10 10 10 10 10 10 10 7388 8 8.5 9
More informationComputational Geometry
Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),
More informationCS 532: 3D Computer Vision 14 th Set of Notes
1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating
More informationGeometric Algorithms. 1. Objects
Geometric Algorithms 1. Definitions 2. Line-Segment properties 3. Inner Points of polygons 4. Simple polygons 5. Convex hulls 6. Closest pair of points 7. Diameter of a point set 1. Objects 2-dimensional
More informationRubber bands. Chapter Rubber band representation
Chapter 1 Rubber bands In the previous chapter, we already used the idea of looking at the graph geometrically, by placing its nodes on the line and replacing the edges by rubber bands. Since, however,
More informationCS 410/584, Algorithm Design & Analysis, Lecture Notes 8
CS 410/584,, Computational Geometry Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off error Divide-by-0 checks Techniques
More informationCS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk
CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk 8/29/06 CS 6463: AT Computational Geometry 1 Convex Hull Problem Given a set of pins on a pinboard and a rubber band around them.
More informationComputational Geometry Overview from Cormen, et al.
UMass Lowell Computer Science 91.503 Graduate Algorithms Prof. Karen Daniels Spring, 2014 Computational Geometry Overview from Cormen, et al. Chapter 33 (with additional material from other sources) 1
More informationComputational Geometry
Casting a polyhedron CAD/CAM systems CAD/CAM systems allow you to design objects and test how they can be constructed Many objects are constructed used a mold Casting Casting A general question: Given
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationPolygon Triangulation
If triangles had a god, they would give him three sides. Charles Louis de Secondat Montesquie (1721) Down with Euclid! Death to triangles! Jean Dieudonné (1959) P Polygon Triangulation P.1 Introduction
More informationConnected Components of Underlying Graphs of Halving Lines
arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components
More informationCS S Lecture February 13, 2017
CS 6301.008.18S Lecture February 13, 2017 Main topics are #Voronoi-diagrams, #Fortune. Quick Note about Planar Point Location Last week, I started giving a difficult analysis of the planar point location
More informationCSE 5311 Notes 13: Computational Geometry
CSE 5311 Notes 13: Computational Geometry (Last updated 4/17/17 4:39 PM) SMALLEST ENCLOSING DISK See section 4.7 of de Berg ( http://dx.doi.org.ezproxy.uta.edu/10.1007/978-3-540-77974-2 ) Algorithm MINIDISC(P)
More information1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls
1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms
More informationSAMPLING AND THE MOMENT TECHNIQUE. By Sveta Oksen
SAMPLING AND THE MOMENT TECHNIQUE By Sveta Oksen Overview - Vertical decomposition - Construction - Running time analysis - The bounded moments theorem - General settings - The sampling model - The exponential
More information2D Geometry. Pierre Alliez Inria Sophia Antipolis
2D Geometry Pierre Alliez Inria Sophia Antipolis Outline Sample problems Polygons Graphs Convex hull Voronoi diagram Delaunay triangulation Sample Problems Line Segment Intersection Theorem: Segments (p
More information6.854J / J Advanced Algorithms Fall 2008
MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced
More informationHomework 2. Sample Solution. Due Date: Thursday, May 31, 11:59 pm
Homework Sample Solution Due Date: Thursday, May 31, 11:59 pm Directions: Your solutions should be typed and submitted as a single pdf on Gradescope by the due date. L A TEX is preferred but not required.
More informationPolygon Partitioning. Lecture03
1 Polygon Partitioning Lecture03 2 History of Triangulation Algorithms 3 Outline Monotone polygon Triangulation of monotone polygon Trapezoidal decomposition Decomposition in monotone mountain Convex decomposition
More informationLast time. Today: Convex Hull Brute Force Inside(q,abc) Intersect(ab,cd) Orient(a,b,c).
Last time Convex Hull Brute Force Inside(q,abc) Intersect(ab,cd) Orient(a,b,c). Today: More efficient convex hull algorithms and absolute bounds. Two (of many) algorithms. One (of one) interesting reduction.
More informationLine Arrangements. Applications
Computational Geometry Chapter 9 Line Arrangements 1 Line Arrangements Applications On the Agenda 2 1 Complexity of a Line Arrangement Given a set L of n lines in the plane, their arrangement A(L) is the
More informationLecture 7: Computational Geometry
Lecture 7: Computational Geometry CS 491 CAP Uttam Thakore Friday, October 7 th, 2016 Credit for many of the slides on solving geometry problems goes to the Stanford CS 97SI course lecture on computational
More informationComputational Geometry
Computational Geometry 600.658 Convexity A set S is convex if for any two points p, q S the line segment pq S. S p S q Not convex Convex? Convexity A set S is convex if it is the intersection of (possibly
More informationFlavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville
Flavor of Computational Geometry Voronoi Diagrams Shireen Y. Elhabian Aly A. Farag University of Louisville March 2010 Pepperoni Sparse Pizzas Olive Sparse Pizzas Just Two Pepperonis A person gets the
More informationWeek 8 Voronoi Diagrams
1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an
More informationCS 373: Combinatorial Algorithms, Fall Name: Net ID: Alias: U 3 / 4 1
CS 373: Combinatorial Algorithms, Fall 2000 Homework 1 (due November 16, 2000 at midnight) Starting with Homework 1, homeworks may be done in teams of up to three people. Each team turns in just one solution,
More informationComputational Geometry TOPICS Preliminaries Point in a Polygon Polygon Construction Convex Hulls
Computational Geometry TOPICS Preliminaries Point in a Polygon Polygon Construction Convex Hulls CSE5311 Kumar 1 Geometric Algorithms Geometric Algorithms find applications in such areas as Computer Graphics
More information3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :
3. Voronoi Diagrams Examples : 1. Fire Observation Towers Imagine a vast forest containing a number of fire observation towers. Each ranger is responsible for extinguishing any fire closer to her tower
More informationLecture 11 Combinatorial Planning: In the Plane
CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 11 Combinatorial Planning: In the Plane Instructor: Jingjin Yu Outline Convex shapes, revisited Combinatorial planning
More information2 Geometry Solutions
2 Geometry Solutions jacques@ucsd.edu Here is give problems and solutions in increasing order of difficulty. 2.1 Easier problems Problem 1. What is the minimum number of hyperplanar slices to make a d-dimensional
More informationThe Running Time of Programs
The Running Time of Programs The 90 10 Rule Many programs exhibit the property that most of their running time is spent in a small fraction of the source code. There is an informal rule that states 90%
More informationLectures 19: The Gauss-Bonnet Theorem I. Table of contents
Math 348 Fall 07 Lectures 9: The Gauss-Bonnet Theorem I Disclaimer. As we have a textbook, this lecture note is for guidance and supplement only. It should not be relied on when preparing for exams. In
More informationComputational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry
Computational Geometry Algorithm Design (10) Computational Geometry Graduate School of Engineering Takashi Chikayama Algorithms formulated as geometry problems Broad application areas Computer Graphics,
More informationComputer Science Spring 2005 Final Examination, May 12, 2005
Computer Science 302 00 Spring 2005 Final Examination, May 2, 2005 Name: No books, notes, or scratch paper. Use pen or pencil, any color. Use the backs of the pages for scratch paper. If you need more
More informationPolygon decomposition. Motivation: Art gallery problem
CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Convex decomposition
More informationNotes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 4 Notes. Class URL:
Notes slides from before lecture CSE 21, Winter 2017, Section A00 Lecture 4 Notes Class URL: http://vlsicad.ucsd.edu/courses/cse21-w17/ Notes slides from before lecture Notes January 23 (1) HW2 due tomorrow
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2016 1 Copyright, David M. Mount, 2016, Dept. of Computer Science, University of Maryland, College
More information[Ba] Bykat, A., Convex hull of a finite set of points in two dimensions, Info. Proc. Lett. 7 (1978),
[Ba] Bykat, A., Convex hull of a finite set of points in two dimensions, Info. Proc. Lett. 7 (1978), 296-298. [Ch] [CI] [EET] [ET] [FM] [GJPT] [Gr] [HM] [KKT] Chazelle, B., A theorem on polygon cutting
More informationAlgorithms and Data Structures
Charles A. Wuethrich Bauhaus-University Weimar - CogVis/MMC June 8, 2017 1/27 Introduction Closed path Convex Hull Convex hull: Wrapping Convex hull: Graham s Scan Inner elimination Geometric Cut 2/27
More informationComputer Science 62. Bruce/Mawhorter Fall 16. Midterm Examination. October 5, Question Points Score TOTAL 52 SOLUTIONS. Your name (Please print)
Computer Science 62 Bruce/Mawhorter Fall 16 Midterm Examination October 5, 2016 Question Points Score 1 15 2 10 3 10 4 8 5 9 TOTAL 52 SOLUTIONS Your name (Please print) 1. Suppose you are given a singly-linked
More informationChapter 3. Sukhwinder Singh
Chapter 3 Sukhwinder Singh PIXEL ADDRESSING AND OBJECT GEOMETRY Object descriptions are given in a world reference frame, chosen to suit a particular application, and input world coordinates are ultimately
More informationCMSC351 - Fall 2014, Homework #2
CMSC351 - Fall 2014, Homework #2 Due: October 8th at the start of class Name: Section: Grades depend on neatness and clarity. Write your answers with enough detail about your approach and concepts used,
More informationComputational Geometry [csci 3250]
Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon
More informationCOS 226 Lecture 15: Geometric algorithms. Warning: intuition may mislead (continued)
CS 226 ecture 15: eometric algorithms Warning: intuition may mislead (continued) Important applications involve geometry models of physical world computer graphics mathematical models x: Find intersections
More informationLine segment intersection. Family of intersection problems
CG Lecture 2 Line segment intersection Intersecting two line segments Line sweep algorithm Convex polygon intersection Boolean operations on polygons Subdivision overlay algorithm 1 Family of intersection
More informationWhy Graham-Scan Needs to Sort Vertices Before Scanning
Why Graham-Scan Needs to Sort Vertices Before Scanning Bill Thies November 12, 2004 6.046 Recitation Supplement Graham Scan: Sorting Step The first stage of Graham-Scan sorts the points by their polar
More information3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College
3D convex hulls Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hulls The problem: Given a set P of points, compute their convex hull 2D 3D 2D 3D polygon polyhedron Polyhedron region
More informationLecture 1: September 6, 2001
Lecture 1: September 6, 2001 Welcome to 6.838J, Geometric Computation! Introductions Overview and Goals General Information Syllabus 2D Convex Hull Signup sheets (return by end of class) MIT 6.838J/4.214J
More informationTrapezoidal decomposition:
Trapezoidal decomposition: Motivation: manipulate/analayze a collection of segments e.g. detect segment intersections e.g., point location data structure Definition. Draw verticals at all points binary
More informationMotion Planning. O Rourke, Chapter 8
O Rourke, Chapter 8 Outline Translating a polygon Moving a ladder Shortest Path (Point-to-Point) Goal: Given disjoint polygons in the plane, and given positions s and t, find the shortest path from s to
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationTriangulation by Ear Clipping
Triangulation by Ear Clipping David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To
More informationMISCELLANEOUS SHAPES
MISCELLANEOUS SHAPES 4.1. INTRODUCTION Five generic shapes of polygons have been usefully distinguished in the literature: convex, orthogonal, star, spiral, and monotone. 1 Convex polygons obviously do
More informationA NOTE ON BLOCKING VISIBILITY BETWEEN POINTS
A NOTE ON BLOCKING VISIBILITY BETWEEN POINTS Adrian Dumitrescu János Pach Géza Tóth Abstract Given a finite point set P in the plane, let b(p) be the smallest number of points q 1,q 2,... not belonging
More informationCross products. p 2 p. p p1 p2. p 1. Line segments The convex combination of two distinct points p1 ( x1, such that for some real number with 0 1,
CHAPTER 33 Comutational Geometry Is the branch of comuter science that studies algorithms for solving geometric roblems. Has alications in many fields, including comuter grahics robotics, VLSI design comuter
More informationComputational Geometry. Lecture 17
Computational Geometry Lecture 17 Computational geometry Algorithms for solving geometric problems in 2D and higher. Fundamental objects: Basic structures: point line segment line point set polygon L17.2
More informationLecture 11 Unbounded Arrays
Lecture 11 Unbounded Arrays 15-122: Principles of Imperative Computation (Spring 2018) Rob Simmons, Frank Pfenning Arrays have efficient O(1) access to elements given an index, but their size is set at
More informationGeometric Computation: Introduction
: Introduction Piotr Indyk Welcome to 6.838! Overview and goals Course Information Syllabus 2D Convex hull Signup sheet Geometric computation occurs everywhere: Geographic Information Systems (GIS): nearest
More information3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College
3D convex hulls Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull in 3D The problem: Given a set P of points in 3D, compute their convex hull convex polyhedron 2D 3D polygon
More informationSolutions to problem set 1
Massachusetts Institute of Technology Handout 5 6.838: Geometric Computation October 4, 2001 Professors Piotr Indyk and Seth Teller Solutions to problem set 1 (mostly taken from the solution set of Jan
More informationComputational Geometry 2D Convex Hulls
Computational Geometry 2D Convex Hulls Joseph S. B. Mitchell Stony Brook University Chapter 2: Devadoss-O Rourke Convexity p p Set X is convex if p,q X pq X q q convex non-convex Point p X is an extreme
More information(Refer Slide Time: 00:02:00)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 18 Polyfill - Scan Conversion of a Polygon Today we will discuss the concepts
More informationAssignment 6: Ray Tracing
Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.
More informationGeometry. Zachary Friggstad. Programming Club Meeting
Geometry Zachary Friggstad Programming Club Meeting Points #i n c l u d e typedef complex p o i n t ; p o i n t p ( 1. 0, 5. 7 ) ; p. r e a l ( ) ; // x component p. imag ( ) ; // y component
More informationCIS 390 Fall 2015 Robotics: Planning and Perception Kostas Daniilidis Homework 6
CIS 390 Fall 2015 Robotics: Planning and Perception Kostas Daniilidis Homework 6 Lab session: Thursday October 27, 2016 10:30 AM, 2016 Code submission: Friday October 28, 2016 23:59 PM 1 Introduction In
More informationComputational Geometry 2D Convex Hulls. Joseph S. B. Mitchell Stony Brook University
Computational Geometry 2D Convex Hulls Joseph S. B. Mitchell Stony Brook University Comparing O(n), O(n log n), O(n 2 ) n n log n n² 2 10 10³ 10 2 10 10 4 2 20 10 6 2 20 10 6 20 2 20 2 10 7 2 40 10 12
More informationConvex Hulls in Three Dimensions. Polyhedra
Convex Hulls in Three Dimensions Polyhedra Polyhedron 1.A polyhedron is the generalization of a 2- D polygon to 3-D A finite number of flat polygonal faces The boundary or surface of a polyhedron - Zero-dimensional
More informationBasics of Computational Geometry
Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals
More informationFlavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville
Flavor of Computational Geometry Convex Hull in 2D Shireen Y. Elhabian Aly A. Farag University of Louisville February 2010 Agenda Introduction Definitions of Convexity and Convex Hulls Naïve Algorithms
More information1 Topological sweep. Topological Sweep
Comp 163: Computational Geometry Tufts University, Spring 2005 Professor Diane Souvaine Scribe: Heather Wong Topological Sweep 1 Topological sweep Let H be a set of n lines in the plane. Assume that no
More informationH 2 H 3 H 4. (a) (b) (c)
CMSC 754:Spring 2012 Dave Mount Homework 1: Convex Hulls, Plane Sweep, and More Handed out Tuesday, Feb 14. Due at the start of class Tuesday, Feb 21. Late homeworks will not be accepted so turn in whatever
More informationTriangulation and Convex Hull. 8th November 2018
Triangulation and Convex Hull 8th November 2018 Agenda 1. Triangulation. No book, the slides are the curriculum 2. Finding the convex hull. Textbook, 8.6.2 2 Triangulation and terrain models Here we have
More informationThe Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards
The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards Nicole Chesnokov May 16, 2018 Contents 1 Introduction 2 2 The Art Gallery Problem 3 2.1 Proof..................................
More informationAnalyze the obvious algorithm, 5 points Here is the most obvious algorithm for this problem: (LastLargerElement[A[1..n]:
CSE 101 Homework 1 Background (Order and Recurrence Relations), correctness proofs, time analysis, and speeding up algorithms with restructuring, preprocessing and data structures. Due Thursday, April
More informationProblem Set 6 Solutions
Introduction to Algorithms November 15, 2002 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi oldwasser Handout 22 Problem Set 6 Solutions (Exercises were not to be
More informationIntersecting Simple Surfaces. Dr. Scott Schaefer
Intersecting Simple Surfaces Dr. Scott Schaefer 1 Types of Surfaces Infinite Planes Polygons Convex Ray Shooting Winding Number Spheres Cylinders 2/66 Infinite Planes Defined by a unit normal n and a point
More informationEULER S FORMULA AND THE FIVE COLOR THEOREM
EULER S FORMULA AND THE FIVE COLOR THEOREM MIN JAE SONG Abstract. In this paper, we will define the necessary concepts to formulate map coloring problems. Then, we will prove Euler s formula and apply
More informationChapter 6. Planar Orientations. 6.1 Numberings of Digraphs
Chapter 6 Planar Orientations In this chapter we will focus on algorithms and techniques used for drawing planar graphs. The algorithms we will use are based on numbering the vertices and orienting the
More informationCS3110 Spring 2017 Lecture 14: Computational Geometry and Convex Hulls
CS3110 Spring 2017 Lecture 14: Computational Geometry and Convex Hulls Robert Constable 1 Lecture Plan 1. Cantor s Theorem, as stated by Bishop [1]. 2. Background for geometry 3. Finding the convex hull
More informationPolygon Triangulation
Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon into triangles). Computational Geometry [csci 3250] Polygon Triangulation Laura Toma
More informationTrapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy
Trapezoidal Maps Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps S={s 1,s 2,..., s n } is the set of line segments segments don t intersect, but can touch
More informationLecture 14: Computational Geometry Steven Skiena. skiena
Lecture 14: Computational Geometry Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Line Segments Arbitrary closed curves
More informationLecture 2: Divide and Conquer
Lecture 2: Divide and Conquer Paradigm Convex Hull Median finding Paradigm Given a problem of size n divide it into subproblems of size n, a 1, b >1. Solve each b subproblem recursively. Combine solutions
More informationAlgorithm Analysis. Jordi Cortadella and Jordi Petit Department of Computer Science
Algorithm Analysis Jordi Cortadella and Jordi Petit Department of Computer Science What do we expect from an algorithm? Correct Easy to understand Easy to implement Efficient: Every algorithm requires
More informationComputational Geometry. HKU ACM ICPC Training 2010
Computational Geometry HKU ACM ICPC Training 2010 1 What is Computational Geometry? Deals with geometrical structures Points, lines, line segments, vectors, planes, etc. A relatively boring class of problems
More information