1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls
|
|
- Kristopher Pope
- 5 years ago
- Views:
Transcription
1 1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls
2 Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms can help to solve well-defined versions of such problems Geometry algorithms (theory): Study of geometric problems on geometric data, and how efficient algorithms that solve them can be
3 Geometric problems examples 3/60 Geometric Networks,w e.g., are there relatively short routes between any two cities?
4 Geometric problems examples 3/60 Geometric Networks,w e.g., are there relatively short routes between any two cities? where do streets cross rivers?
5 Geometric problems examples 4/60 Planar Subdivisions, e.g., data structures for fast point location queries
6 Geometric problems examples 4/60 Planar Subdivisions, e.g., data structures for fast point location queries data structures for fast range queries
7 This course 5/60 lecturer: Kevin Buchin course website: http: // book: [BCKO] M. de Berg, O. Cheong, M. van Kreveld, M. Overmars, Computational Geometry: Algorithms and Applications (3rd edition). Springer-Verlag, Heidelberg, register on
8 This course: prerequisites 6/60 O-, Θ, Ω-notation; how to analyze algorithms Basic calculus: manipulating summations, solving recurrences, working with logarithms, etc. Basic probability theory: events, probability distributions, random variables, expected values etc. Basic data structures: linked lists, stacks, queues Balanced binary search trees Sorting algorithms Graph terminology, representations of graphs, basic graph algorithms Dynamic programming, greedy algorithms
9 This course 7/60 learning objectives: At the end of this course you should be able to... decide which algorithm or data structure to use in order to solve a given basic geometric problem, analyze new problems and come up with your own efficient solutions using concepts and techniques from the course.
10 This course 8/60 assessment: do 5 out of 6 homework assignments: 12% each on each assignment there is one exercise that you solve individually and two that you solve in a group do a course project (in groups of 3 students): 40% to pass you need 12.5 (out of 25) of points on your best 5 homework exercises done individually AND 5.5 as combined grade of assignments and project
11 This course: homework assignments 9/60 assignments once a week feel free to ask questions if an exercise is not clear to you if you want early feedback on your solution if you get stuck on an exercise Monday at lecture (best) or or in person (Mon/Tue (evening)/wed better make appointment)
12 This course: homework assignments 10/60 homework marked with a (G) is done as a project group homework not marked with a (G) is done individually & in particular the write-up needs to be done completely independent. If you discuss these exercises with other students, written notes on these discussions may not be used as basis for the homework.
13 This course: projects 11/60 choice between different experimentation projects, Option A: compute geometric spanners amidst obstacles (variation on Lecture 6 using Lecture 8) Option B: compute trapezoidal map of a simple polygon (Lecture 4 motivated by Lecture 3) you can also come up with your own project ideas (e.g., game or theory), and discuss them with me. find details also on course webpage 2IMA15/projects.html
14 This course: experimentation projects 12/60 General Guidelines and Report Writing take the guidelines on the web-page into careful consideration Data challenge groups contribute one data set to the data challenge of their problem groups run additionally to their regular experiments their algorithms on the data challenge sets Mini-presentations Groups give a 4-minute presentation at the end of the course presenting their results. This presentation is not graded. January 11 or 16?
15 This course: projects 13/60 Time line: asap form a group of your choice; if you would like me to help, contact me Nov 21 send with group members (and preferred topic) Dec 14 hand in a report outline and make an appointment to discuss it with me (Dec 19/20/21) Jan 2 send data set for data challenge (if applicable) Jan 11 or 16 project presentations Jan 18 hand in deliverables
16 Geometry: points, lines,... 14/60 Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space, higher-dimensional space. p = (p x, p y ), p = (p x, p y, p z ), p = (p 1, p 2,..., p d ) A line in the plane: y = m x + c; representation by m and c A half-plane in the plane: y m x + c or y m x + c Represent vertical lines? Not by m and c...
17 Geometry: line segments 15/60 A line segment pq is defined by its two endpoints p and q: (λ p x + (1 λ) q x, λ p y + (1 λ) q y ) where 0 λ 1 Line segments are assumed to be closed = with endpoints, not open Two line segments intersect if they have some point in common. It is a proper intersection if it is exactly one interior point of each line segment
18 Polygons: simple or not 16/60 A polygon is a connected region of the plane bounded by a sequence of line segments interior exterior simple polygon polygon with holes convex polygon non-simple polygon The line segments of a polygon are called its edges, the endpoints of those edges are the vertices
19 Other shapes: rectangles, circles, disks 17/60 A circle is only the boundary, a disk is the boundary plus the interior Rectangles, squares, quadrants, slabs, half-lines,...
20 Relations: distance, intersection, angle 18/60 The distance between two points is generally the Euclidean distance: (px q x ) 2 + (p y q y ) 2 (px q x ) 2 + (p y q y ) 2 ) Another option: the Manhattan distance: p x q x + p y q y The distance between two geometric objects other than points usually refers to the minimum distance between two points that are part of these objects p x q x p y q y
21 Relations: distance, intersection, angle 19/60 The intersection of two geometric objects is the set of points (part of the plane, space) they have in common Question 1: What is the maximum number of intersection points of a line and a simple polygon with 10 vertices (trick question)?
22 Relations: distance, intersection, angle 20/60 The intersection of two geometric objects is the set of points (part of the plane, space) they have in common Question 2: What is the maximum number of intersection points of a line and a simple polygon boundary with 10 vertices (still a trick question)?
23 Description size 21/60 A point in the plane can be represented using two reals A line in the plane can be represented using two reals and a Boolean (for example) A line segment can be represented by two points, so four reals A circle (or disk) requires three reals to store it (center, radius) A rectangle requires four reals to store it y = m x + c false, m, c x = c true,.., c
24 Description size and Computation time 22/60 A simple polygon in the plane can be represented using 2n reals if it has n vertices (and necessarily, n edges) A set of n points requires 2n reals A set of n line segments requires 4n reals A point, line, circle,... requires O(1), or constant, storage. A simple polygon with n vertices requires O(n), or linear, storage We assume: Any computation (distance, intersection) on two objects of O(1) description size takes O(1) time!
25 Algorithms, efficiency 23/60 Recall from your algorithms and data structures course: A set of n real numbers can be sorted in O(nlogn) time A set of n real numbers can be stored in a data structure that uses O(n) storage and that allows searching, insertion, and deletion in O(log n) time per operation These are fundamental results in 1-dimensional computational geometry!
26 Wildlife Analysis 24/ Black Rhino (Diceros bicornis) Extent of Occurrence
27 Convexity 25/60 A shape or set is convex if for any two points that are part of the shape, the whole connecting line segment is also part of the shape Question: Which of the following shapes are convex? Point, line segment, line, circle, disk, quadrant?
28 Convex hull 26/60 For any subset of the plane (set of points, rectangle, simple polygon), its convex hull is the smallest convex set that contains that subset
29 Convex hull problem 27/60 Give an algorithm that computes the convex hull of any given set of n points in the plane efficiently The input has 2n coordinates, so O(n) size Question: Why can t we expect to do any better than O(n) time?
30 Convex hull problem 28/60 Assume the n points are distinct The output has at least 4 and at most 2n coordinates, so it has size between O(1) and O(n) The output is a convex polygon so it should be returned as a sorted sequence of the points, counterclockwise along the boundary Question: Is there any hope of finding an O(n) time algorithm?
31 Developing an algorithm 29/60 To develop an algorithm, find useful properties, make various observations, draw many sketches to gain insight
32 Developing an algorithm 30/60 To develop an algorithm, find useful properties, make various observations, draw many sketches to gain insight Property: The vertices of the convex hull are always points from the input Consequently, the edges of the convex hull connect two points of the input Property: The supporting line of any convex hull edge has all input points to one side all points lie left of the directed line from p to q, if the edge from p to q is a CCW convex hull edge p q
33 Developing an algorithm 31/60 Algorithm SLOWCONVEXHULL(P) Input. A set P of points in the plane. Output. A list L containing the vertices of CH(P) in clockwise order. 1. E /0. 2. for all ordered pairs (p,q) P P with p not equal to q 3. do valid true 4. for all points r P not equal to p or q 5. do if r lies left of the directed line from p to q 6. then valid false 7. if valid then Add the directed edge pq to E 8. From the set E of edges construct a list L of vertices of CH(P), sorted in clockwise order.
34 Developing an algorithm 32/60 Question: How must line 5 be interpreted to make the algorithm correct, i.e., how do we handle degeneracies? Question: How efficient is the algorithm? Question: Is the algorithm robust against rounding errors? Note: Robustness is a huge issue when implementing geometric algorithms
35 Developing an algorithm 33/60 Another approach: incremental, from left to right Let s first compute the upper boundary of the convex hull this way (property: on the upper hull, points appear in x-order) Main idea: Sort the points from left to right (= by x-coordinate). Then insert the points in this order, and maintain the upper hull so far
36 Developing an algorithm 34/60 Observation: from left to right, there are only right turns on the upper hull
37 Developing an algorithm 35/60 Initialize by inserting the leftmost two points
38 Developing an algorithm 36/60 If we add the third point there will be a right turn at the previous point, so we add it
39 Developing an algorithm 37/60 If we add the fourth point we get a left turn at the third point
40 Developing an algorithm 38/60... so we remove the third point from the upper hull when we add the fourth
41 Developing an algorithm 39/60 If we add the fifth point we get a left turn at the fourth point
42 Developing an algorithm 40/60... so we remove the fourth point when we add the fifth
43 Developing an algorithm 41/60 If we add the sixth point we get a right turn at the fifth point, so we just add it
44 Developing an algorithm 42/60 We also just add the seventh point
45 Developing an algorithm 43/60 When adding the eight point... we must remove the seventh point
46 Developing an algorithm 44/60... we must remove the seventh point
47 Developing an algorithm 45/60... and also the sixth point
48 Developing an algorithm 46/60... and also the fifth point
49 Developing an algorithm 47/60 After two more steps we get:
50 The pseudo-code 48/60 Algorithm CONVEXHULL(P) Input. A set P of points in the plane. Output. A list containing the vertices of CH(P) in clockwise order. 1. Sort the points by x-coordinate, resulting in a sequence p 1,..., p n. 2. Put the points p 1 and p 2 in a list L upper, with p 1 as the first point. 3. for i 3 to n 4. do Append p i to L upper. 5. while L upper contains more than two points and the last three points in L upper do not make a right turn 6. do Delete the middle of the last three points from L upper.
51 The pseudo-code 49/60 p 1, p 2, p 10, p 13, p 14 Then we do the same for the lower convex hull, from right to left We remove the first and last points of the lower convex hull... and concatenate the two lists into one p 14, p 12, p 8, p 4, p 1
52 Algorithm analysis 50/60 Algorithm analysis generally has two components: proof of correctness efficiency analysis, proof of running time
53 Correctness 51/60 Are the general observations on which the algorithm is based correct? Does the algorithm handle degenerate cases correctly? Here: Does the sorted order matter if two or more points have the same x-coordinate? What happens if there are three or more collinear points, in particular on the convex hull?
54 Efficiency 52/60 Identify of each line of pseudo-code how much time it takes, if it is executed once (note: operations on a constant number of constant-size objects take constant time) Consider the loop-structure and examine how often each line of pseudo-code is executed Sometimes there are global arguments why an algorithm is more efficient than it seems, at first
55 The pseudo-code 53/60 Algorithm CONVEXHULL(P) Input. A set P of points in the plane. Output. A list containing the vertices of CH(P) in clockwise order. 1. Sort the points by x-coordinate, resulting in a sequence p 1,..., p n. 2. Put the points p 1 and p 2 in a list L upper, with p 1 as the first point. 3. for i 3 to n 4. do Append p i to L upper. 5. while L upper contains more than two points and the last three points in L upper do not make a right turn 6. do Delete the middle of the last three points from L upper.
56 Efficiency 54/60 The sorting step takes O(nlogn) time Adding a point takes O(1) time for the adding-part. Removing points takes constant time for each removed point. If due to an addition, k points are removed, the step takes O(1 + k) time Total time: O(nlogn) + n i=3 O(1 + k i ) if k i points are removed when adding p i Since k i = O(n), we get O(nlogn) + n i=3 O(n) = O(n 2 )
57 Efficiency 55/60 Global argument: each point can be removed only once from the upper hull This gives us the fact: Hence, n i=3 k i n O(nlogn) + n i=3 O(1 + k i ) = O(nlogn) + O(n) = O(nlogn)
58 Result 56/60 The convex hull of a set of n points in the plane can be computed in O(nlogn) time, and this is worst-case optimal.
59 Result 56/60 The convex hull of a set of n points in the plane can be computed in O(nlogn) time, and this is worst-case optimal. Can we do better?
60 Result 56/60 The convex hull of a set of n points in the plane can be computed in O(nlogn) time, and this is worst-case optimal. Can we do better? O(nh) if the CH has h vertices? O(nlogh)? Yes we can.
61 Other approaches: divide-and-conquer 57/60 Divide-and-conquer: split the point set in two halves, compute the convex hulls recursively, and merge A merge involves finding extreme vertices in every direction
62 Other approaches: divide-and-conquer 58/60 Alternatively: split the point set in two halves on x-coordinate, compute the convex hulls recursively, and merge A merge now comes down to finding two common tangent lines
63 Convex hulls in 3D 59/60 For a 3-dimensional point set, the convex hull is a convex polyhedron It has vertices (0-dim.), edges (1-dim.), and facets (2-dim.) in its boundary, and a 3-dimensional interior The boundary is a planar graph, so it has O(n) vertices, edges and facets
64 Convex hulls in 4D 60/60 For a 4-dimensional point set, the convex hull is a convex polyhedron It has vertices (0-dim.), edges (1-dim.), 2-facets (2-dim.), and 3-facets (3-dim.) in its boundary, and a 4-dimensional interior Its boundary can have Θ(n 2 ) facets in the worst case!
Computational 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 informationComputational Geometry Algorithmische Geometrie
Algorithmische Geometrie Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 !! Register in Campus Management!! Outline What you need to know (before taking this course) What is the course about?
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 informationGEOMETRIC SEARCHING PART 1: POINT LOCATION
GEOMETRIC SEARCHING PART 1: POINT LOCATION PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 3.10.2014 Geometric
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 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 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 informationCS 372: Computational Geometry Lecture 3 Line Segment Intersection
CS 372: Computational Geometry Lecture 3 Line Segment Intersection Antoine Vigneron King Abdullah University of Science and Technology September 9, 2012 Antoine Vigneron (KAUST) CS 372 Lecture 3 September
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 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 informationLecture 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 information26 The closest pair problem
The closest pair problem 1 26 The closest pair problem Sweep algorithms solve many kinds of proximity problems efficiently. We present a simple sweep that solves the two-dimensional closest pair problem
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 informationVoronoi diagram and Delaunay triangulation
Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi
More informationLecture 3 February 9, 2010
6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees
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 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 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 informationIn what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.
Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery
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 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 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 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 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 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 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 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 informationJanuary 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms
Geometric data structures Sudebkumar Prasant Pal Department of Computer Science and Engineering IIT Kharagpur, 721302. email: spp@cse.iitkgp.ernet.in January 10-12, 2012 - NIT Surathkal Introduction to
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 information(Master Course) Mohammad Farshi Department of Computer Science, Yazd University. Yazd Univ. Computational Geometry.
1 / 17 (Master Course) Mohammad Farshi Department of Computer Science, Yazd University 1392-1 2 / 17 : Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars, Algorithms and Applications, 3rd Edition,
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 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 informationVisibility: Finding the Staircase Kernel in Orthogonal Polygons
Visibility: Finding the Staircase Kernel in Orthogonal Polygons 8 Visibility: Finding the Staircase Kernel in Orthogonal Polygons Tzvetalin S. Vassilev, Nipissing University, Canada Stefan Pape, Nipissing
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationCOT5405: GEOMETRIC ALGORITHMS
COT5405: GEOMETRIC ALGORITHMS Objects: Points in, Segments, Lines, Circles, Triangles Polygons, Polyhedra R n Alications Vision, Grahics, Visualizations, Databases, Data mining, Networks, GIS Scientific
More informationComputational Geometry
CS 5633 -- Spring 2004 Computational Geometry Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk CS 5633 Analysis of Algorithms 1 Computational geometry Algorithms for solving
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 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 informationCS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension
CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture
More informationProject 3: Point Location
MCS 481 / David Dumas / Spring 2011 Project 3: Point Location Due Friday, April 1 0. Overview In this project you will study CGAL s support for point location in planar subdivisions. While the project
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 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 informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
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 informationVORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE Based on [Berg] and [Mount]
VORONOI DIAGRAM PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 9.11.2017 Talk overview Definition and examples
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 informationwould be included in is small: to be exact. Thus with probability1, the same partition n+1 n+1 would be produced regardless of whether p is in the inp
1 Introduction 1.1 Parallel Randomized Algorihtms Using Sampling A fundamental strategy used in designing ecient algorithms is divide-and-conquer, where that input data is partitioned into several subproblems
More information5. DIVIDE AND CONQUER I
5. DIVIDE AND CONQUER I mergesort counting inversions closest pair of points randomized quicksort median and selection Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013
More informationGardener s spline curve
Annales Mathematicae et Informaticae 47 (017) pp. 109 118 http://ami.uni-eszterhazy.hu Gardener s spline curve Imre Juhász Department of Descriptive Geometry University of Miskolc agtji@uni-miskolc.hu
More informationCS 532: 3D Computer Vision 11 th Set of Notes
1 CS 532: 3D Computer Vision 11 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Line Intersection
More informationUNM - PNM STATEWIDE MATHEMATICS CONTEST XLI. February 7, 2009 Second Round Three Hours
UNM - PNM STATEWIDE MATHEMATICS CONTEST XLI February 7, 009 Second Round Three Hours (1) An equilateral triangle is inscribed in a circle which is circumscribed by a square. This square is inscribed in
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 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 information1 The range query problem
CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition
More informationExternal-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair
External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair {machado,tron}@visgraf.impa.br Theoretical Models Random Access Machine Memory: Infinite Array. Access
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 informationLinear Programming in Small Dimensions
Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional
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 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 informationLecture 16: Voronoi Diagrams and Fortune s Algorithm
contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through
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 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 informationChapter 8. Voronoi Diagrams. 8.1 Post Oce Problem
Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest
More information4 Linear Programming. Manufacturing with Molds
4 Linear Programming Manufacturing with Molds Most objects we see around us today from car bodies to plastic cups and cutlery are made using some form of automated manufacturing. Computers play an important
More informationCSC Design and Analysis of Algorithms. Lecture 5. Decrease and Conquer Algorithm Design Technique. Decrease-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 5 Decrease and Conquer Algorithm Design Technique Decrease-and-Conquer This algorithm design technique is based on exploiting a relationship between
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 informationThree Dimensional Geometry. Linear Programming
Three Dimensional Geometry Linear Programming A plane is determined uniquely if any one of the following is known: The normal to the plane and its distance from the origin is given, i.e. equation of a
More informationCPSC 320 Midterm 2 Thursday March 13th, 2014
CPSC 320 Midterm 2 Thursday March 13th, 2014 [12] 1. Answer each question with True or False, and then justify your answer briefly. [2] (a) The Master theorem can be applied to the recurrence relation
More informationReview implementation of Stable Matching Survey of common running times. Turn in completed problem sets. Jan 18, 2019 Sprenkle - CSCI211
Objectives Review implementation of Stable Matching Survey of common running times Turn in completed problem sets Jan 18, 2019 Sprenkle - CSCI211 1 Review: Asymptotic Analysis of Gale-Shapley Alg Not explicitly
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 informationPractical Linear Algebra: A Geometry Toolbox
Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 18: Putting Lines Together: Polylines and Polygons Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book
More informationPS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)
Homework Assignment Sheet I (Due 16-March-2018) Assignment 1 Let f, g : N R with f(n) := 8n + 4 and g(n) := 1 5 n log 2 n. Prove explicitly that f O(g) and f o(g). Assignment 2 How can you generalize the
More informationMathematics Curriculum
6 G R A D E Mathematics Curriculum GRADE 6 5 Table of Contents 1... 1 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)... 11 Lesson 1: The Area of Parallelograms Through Rectangle Facts...
More informationComputing intersections in a set of line segments: the Bentley-Ottmann algorithm
Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.
More informationA Real Time GIS Approximation Approach for Multiphase Spatial Query Processing Using Hierarchical-Partitioned-Indexing Technique
International Journal of Scientific Research in Computer Science, Engineering and Information Technology 2017 IJSRCSEIT Volume 2 Issue 6 ISSN : 2456-3307 A Real Time GIS Approximation Approach for Multiphase
More informationpine cone Ratio = 13:8 or 8:5
Chapter 10: Introducing Geometry 10.1 Basic Ideas of Geometry Geometry is everywhere o Road signs o Carpentry o Architecture o Interior design o Advertising o Art o Science Understanding and appreciating
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 information6 Mathematics Curriculum
New York State Common Core 6 Mathematics Curriculum GRADE GRADE 6 MODULE 5 Table of Contents 1 Area, Surface Area, and Volume Problems... 3 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)...
More informationCOMPUTING CONSTRAINED DELAUNAY
COMPUTING CONSTRAINED DELAUNAY TRIANGULATIONS IN THE PLANE By Samuel Peterson, University of Minnesota Undergraduate The Goal The Problem The Algorithms The Implementation Applications Acknowledgments
More informationHigh-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018
High-Dimensional Computational Geometry Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018 Outline 3-D vector geometry High-D hyperplane intersections Convex hull & its extension to 3
More informationTEACHER CERTIFICATION STUDY GUIDE KNOWLEDGE OF MATHEMATICS THROUGH SOLVING...1
TABLE OF CONTENTS COMPETENCY/SKILLS PG # COMPETENCY 1 KNOWLEDGE OF MATHEMATICS THROUGH PROBLEM SOLVING...1 Skill 1.1 Skill 1.2 Skill 1.3 Skill 1.4 Identify appropriate mathematical problems from real-world
More informationGeometric Computations for Simulation
1 Geometric Computations for Simulation David E. Johnson I. INTRODUCTION A static virtual world would be boring and unlikely to draw in a user enough to create a sense of immersion. Simulation allows things
More informationMath 366 Lecture Notes Section 11.4 Geometry in Three Dimensions
Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions Simple Closed Surfaces A simple closed surface has exactly one interior, no holes, and is hollow. A sphere is the set of all points at a
More informationMath 414 Lecture 2 Everyone have a laptop?
Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,
More informationNotes in Computational Geometry Voronoi Diagrams
Notes in Computational Geometry Voronoi Diagrams Prof. Sandeep Sen and Prof. Amit Kumar Indian Institute of Technology, Delhi Voronoi Diagrams In this lecture, we study Voronoi Diagrams, also known as
More informationPacking Two Disks into a Polygonal Environment
Packing Two Disks into a Polygonal Environment Prosenjit Bose, School of Computer Science, Carleton University. E-mail: jit@cs.carleton.ca Pat Morin, School of Computer Science, Carleton University. E-mail:
More informationOrthogonal Range Search and its Relatives
Orthogonal Range Search and its Relatives Coordinate-wise dominance and minima Definition: dominates Say that point (x,y) dominates (x', y') if x
More informationPlanar union of rectangles with sides parallel to the coordinate axis
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Planar union of rectangles with sides parallel to the coordinate axis Daniel Schmid, Hanspeter Bopp Department of
More informationComputational Geometry Lecture Duality of Points and Lines
Computational Geometry Lecture Duality of Points and Lines INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 11.1.2016 Duality Transforms We have seen duality for planar graphs and duality of
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Spring 2007 1 Copyright, David M. Mount, 2007, Dept. of Computer Science, University of Maryland,
More informationCSC Design and Analysis of Algorithms
CSC 8301- Design and Analysis of Algorithms Lecture 6 Divide and Conquer Algorithm Design Technique Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide a problem instance into two
More informationCS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006
CS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006 Homework #1: Arrangements, zones, straight and topological sweeps [70 points] Due Date: Monday, 1 May
More informationA 0 A 1... A i 1 A i,..., A min,..., A n 1 in their final positions the last n i elements After n 1 passes, the list is sorted.
CS6402 Design and Analysis of Algorithms _ Unit II 2.1 UNIT II BRUTE FORCE AND DIVIDE-AND-CONQUER 2.1 BRUTE FORCE Brute force is a straightforward approach to solving a problem, usually directly based
More informationPreferred directions for resolving the non-uniqueness of Delaunay triangulations
Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation
More informationCSC Design and Analysis of Algorithms. Lecture 6. Divide and Conquer Algorithm Design Technique. Divide-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 6 Divide and Conquer Algorithm Design Technique Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide a problem instance into two
More informationModule 1 Session 1 HS. Critical Areas for Traditional Geometry Page 1 of 6
Critical Areas for Traditional Geometry Page 1 of 6 There are six critical areas (units) for Traditional Geometry: Critical Area 1: Congruence, Proof, and Constructions In previous grades, students were
More informationInteractive Math Glossary Terms and Definitions
Terms and Definitions Absolute Value the magnitude of a number, or the distance from 0 on a real number line Addend any number or quantity being added addend + addend = sum Additive Property of Area the
More informationCSE 546, Fall, 2016 Homework 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
More informationLecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10
Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful
More informationCourse Number: Course Title: Geometry
Course Number: 1206310 Course Title: Geometry RELATED GLOSSARY TERM DEFINITIONS (89) Altitude The perpendicular distance from the top of a geometric figure to its opposite side. Angle Two rays or two line
More information