Computational Geometry Algorithmische Geometrie

Size: px
Start display at page:

Download "Computational Geometry Algorithmische Geometrie"

Transcription

1 Algorithmische Geometrie Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013

2 !! Register in Campus Management!!

3 Outline What you need to know (before taking this course) What is the course about? Course information Basics Convex Hulls I Assignment 1 FU Berlin SS

4 You need to know (or learn quickly) Basic geometry O Ω Θ-notation; how to analyze algorithms Basic discrete maths: 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 (AVL trees etc.) Sorting algorithms Basic graph theory (terminology algorithms etc.) Basic algorithmic paradigms: divide & conquer greedy algorithms dynamic programming etc. FU Berlin SS

5 This course is about Computational geometry (theory): Study of geometric problems on geometric data and how efficient algorithms that solve them can be Computational geometry (practice): Study of geometric problems that arise in various applications and how algorithms can help to solve well-defined versions of such problems FU Berlin SS

6 More on convex hulls Combinatorial complexity Computational geometry This course is about Computational geometry theory smallest enclosing circle Computational geometry (theory): Classify abstract geometric problems into classes depending on how efficiently they can be solved closest pair any intersection? find all intersections FU Berlin SS

7 This course is about: Example I Intersections Arrangements Point location intersection point Tasks: compute all object intersections Arrangement face compute and maintain the induced arrangement (points edges faces) do point location: find the face that a query point lies in query point Efficiency is important! FU Berlin SS

8 This course is about: Example II Robot motion planning Finding a shortest path amidst obstacles 13 we saw how to plan a path for a robot from a given start position goal position. The algorithm we gave always finds a path if it exists de no claims about the quality of the path: it could make a large make lots of unnecessary turns. In practical situations we would Tasks: nd not just any path but a good path. find a collision-free path for the robot from start-position to target-position collision-free: the robot does not intersect any ostacle find a shortest such path several versions: 2d 3d translating/rotating robots etc. Figure 15.1 A shortest path Efficiency is important! onstitutes a good path depends on the robot. In general the longer a ore time it will take the robot to reach its goal position. For a mobile factory floor this means it can transport less goods per time unit a loss of productivity. Therefore we would prefer a short path. Often her issues that play a role as well. For example some robots can only straight line; they have to slow down stop and rotate before they FU Berlin SS 2013 moving into a different direction so any turn along the path causes 8

9 Introduction Geometric objects Geometric relations Convex hulls Combinatorial complexity Computational geometry More on convex hulls applications Computational geometry Computational geometry practice Application areas that require geometric algorithms are computer graphics motion planning and robotics geographic information systems CAD/CAM statistics physics simulations databases games multimedia retrieval... Computing shadows from virtual light sources Spatial interpolation from groundwater pollution measurements Computing a collision-free path between obstacles Computing similarity of two shapes for shape database retrieval FU Berlin SS

10 Course information Lectures: Panos Giannopoulos (April half of May July English) Wolfgang Mulzer (half of May June July English/Deutsch) Be present in the lectures! Tutorials: Lena Schlipf Be present in the tutorials! (Especially if you have difficulties solving the exercises) Homework assignements: you may solve them in groups of two (Programming?) Homework assignements: you can hand in the solutions in English/Deutsch Homework assignements due: Monday before the Tutorial starts (10 days) There will be a written exam! In order to pass the course: 60% of the assignments in total 20% of each assignment (you can skip at most one) present two exercises in the tutorials (dance as well?) pass the exam FU Berlin SS

11 Course information (cont.) Course webpage: Book: M. de Berg O. Cheong M. van Kreveld M. Overmars. : Algorithms and Applications. Springer (3rd ed.). FU Berlin SS

12 More on convex hulls Combinatorial complexity Computational geometry Geometry: Points lines... Geometry: points lines... Plane (two-dimensional) R2 Space (three-dimensional) R3 Space (higher-dimensional) Rd A point in the plane 3-dimensional space higher-dimensional space. p = (px py ) p = (px py pz ) p = (p1 p2... pd ) 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... FU Berlin SS

13 Introduction Convex hulls More on convex hulls Geometry: line segments Geometric relations Combinatorial complexity Computational geometry Geometry: line segments A line segment pq is defined by its two endpoints p and q: (λ px + (1 λ ) qx λ py + (1 λ ) qy ) 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 FU Berlin SS

14 More on convex hulls Combinatorial complexity Computational geometry Polygons: simple or not Polygons: simple or not 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 Some abuse: polygon is only boundary or interior plus boundary FU Berlin SS

15 Convex hulls More on convex hulls Rectangles circles disks... Combinatorial complexity Computational geometry Other shapes: rectangles circles disks A circle is only the boundary a disk is the boundary plus the interior Rectangles squares quadrants slabs half-lines wedges... FU Berlin SS

16 Convex hulls More on convex hulls Relations: Combinatorial complexity Computational geometry distance intersection angle Relations: distance intersection angle The distance between two points is generally the Euclidean distance: p (px qx )2 + (py qy )2 p (px qx )2 + (py qy )2 ) Another option: the Manhattan distance: px qx + py qy Question: What is the set of points at equal Manhattan distance to some point? py qy px qx FU Berlin SS

17 Convex hulls More on convex hulls Relations: Combinatorial complexity Computational geometry distance intersection angle Relations: distance intersection angle The distance between two geometric objects other than points usually refers to the minimum distance between two points that are part of these objects Question: How can the distance between two line segments be realized? FU Berlin SS

18 Convex hulls More on convex hulls Relations: Combinatorial complexity Computational geometry distance intersection angle Relations: distance intersection angle The intersection of two geometric objects is the set of points (part of the plane space) they have in common Question 1: How many intersection points can a line and a circle have? Question 2: What are the possible outcomes of the intersection of a rectangle and a quadrant? FU Berlin SS

19 Convex hulls More on convex hulls Relations: Combinatorial complexity Computational geometry distance intersection angle Relations: distance intersection angle Question 3: What is the maximum number of intersection points of a line and a simple polygon with 10 vertices (trick question)? FU Berlin SS

20 Convex hulls More on convex hulls Relations: Combinatorial complexity Computational geometry distance intersection angle Relations: distance intersection angle Question 4: What is the maximum number of intersection points of a line and a simple polygon boundary with 10 vertices (still a trick question)? FU Berlin SS

21 Convex hulls More on convex hulls Relations: Combinatorial complexity Computational geometry distance intersection angle Relations: distance intersection angle Question 5: What is the maximum number of edges of a simple polygon boundary with 10 vertices that a line can intersect? FU Berlin SS

22 Description size Convex hulls More on convex hulls Combinatorial complexity Computational geometry Description size y =m x+c 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) false m c 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 x=c true.. c FU Berlin SS

23 Description size Convex hulls More on convex hulls Combinatorial complexity Computational geometry Description size 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 FU Berlin SS

24 Computation time Any computation (distance intersection) on two objects of O(1) description size takes O(1) time! (Practice: detecting intersections and computing intersections can be different) Theory: Real RAM i.e. all usual arithmetic operations can be done in constant time (+ / sin log...) FU Berlin SS

25 Convex hulls More on convex hulls Algorithms efficiency Combinatorial complexity Computational geometry Algorithms efficiency Recall from your algorithms and data structures course: A set of n real numbers can be sorted in O(n log n) 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! FU Berlin SS

26 Convex hulls More on convex hulls Convexity Algorithm development Algorithm analysis Convexity 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? FU Berlin SS

27 More on convex hulls Algorithm analysis Convex Convexhull hull For any subset of the plane (set of points rectangle simple polygon) its convex hull is the smallest convex set that contains that subset Demo FU Berlin SS

28 Algorithm analysis Convexhull hullproblem problem Convex 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? FU Berlin SS

29 Convex hull problem Convex hull problem 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? FU Berlin SS

30 Convex hull problem Convex hull problem 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? Lower bound: Any convex hull algorithm requires Ω(n log n) operations in the quadratic decision tree model [Yao 1981] FU Berlin SS

31 Convex hull problem Convex hull problem 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? Lower bound: Any convex hull algorithm requires Ω(n log n) operations in the quadratic decision tree model [Yao 1981] Computational 1: Introduction and Convex Hulls However: Perhaps wegeometry can getlecture an output sensitive algorithm that runs in O(n log h) time where h is the size of the hull! FU Berlin SS

32 Convex hulls More on convex hulls Developing an algorithm Algorithm development Algorithm analysis Developing an algorithm 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 q p 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 FU Berlin SS

33 Convex hulls More on convex hulls Developing an algorithm Algorithm development Algorithm analysis Developing an algorithm 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 p~q to E 8. From the set E of edges construct a list L of vertices of CH(P) sorted in clockwise order. FU Berlin SS

34 Convex hulls More on convex hulls Developing an algorithm Algorithm development Algorithm analysis Developing an algorithm Question: How must line 5 be interpreted to make the algorithm correct? Question: How efficient is the algorithm? FU Berlin SS

35 at or m es if ve ts st of he We of ss w is nd be nd rs at to he Section 1.1 Degeneracies AN EXAMPLE : CONVEX HULLS 3 points of P could lie on a line Correct criterion for convex hull edge: edge pq is an edge of CH(P) iff all other points r P lie either strictly to the right of the directed line through p q or on the open line segment pq (assuming no coinciding points in P) At first when developing an algorithm you can assume general position... q r p FU Berlin SS

36 Geometry in Theory Left of Right of... Robustness px orientation(p q r ) = sign det qx rx py qy ry 1 < 0 cw(p q r ) 1 = = 0 colinear(p q r ) 1 > 0 ccw(p q r ) = sign((qx px )(ry py ) (qy py )(rx px )) ccw(p q s) ccw(s q r ) ccw(p s r ) ccw(p q r ) p r s q Practice: rounding errors in floating point arithmetic can give 6 Algorithm Library wrong result of the predicate. We won t care about this here! FU Berlin SS

37 Running time? FU Berlin SS

38 Running time? O(n3 ) We didn t use any clever ideas! Friday: O(n log n) and O(n log h) algorithms (h: size of the output) FU Berlin SS

39 Assignment 1 http: //page.mi.fu-berlin.de/panos/cg13/exercises/u01.pdf Due: 15/04 before the Tutorial starts! FU Berlin SS

Computational Geometry

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 information

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls

1/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 information

CS3110 Spring 2017 Lecture 14: Computational Geometry and Convex Hulls

CS3110 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 information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 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 information

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel

Prof. 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 information

(Master Course) Mohammad Farshi Department of Computer Science, Yazd University. Yazd Univ. Computational Geometry.

(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 information

Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017

Notes 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 information

Lecture 3: Art Gallery Problems and Polygon Triangulation

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 information

CS 372: Computational Geometry Lecture 3 Line Segment Intersection

CS 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 information

Geometric Computation: Introduction

Geometric 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 information

Computational Geometry TOPICS Preliminaries Point in a Polygon Polygon Construction Convex Hulls

Computational 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 information

26 The closest pair problem

26 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 information

Voronoi diagram and Delaunay triangulation

Voronoi 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 information

CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk

CS 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 information

GEOMETRIC SEARCHING PART 1: POINT LOCATION

GEOMETRIC 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 information

APPLIED aspects of COMPUTATIONAL GEOMETRY. Dan Halperin School of Computer Science Tel Aviv University

APPLIED aspects of COMPUTATIONAL GEOMETRY. Dan Halperin School of Computer Science Tel Aviv University APPLIED aspects of COMPUTATIONAL GEOMETRY Introduction Dan Halperin School of Computer Science Tel Aviv University Lesson overview Background The main topics Course mechanics Additional topics 2 Background

More information

Problèmes de robustesse en géométrie algorithmique

Problèmes de robustesse en géométrie algorithmique Problèmes de robustesse en géométrie algorithmique Monique Teillaud ENS - 12 mars 2008 Computational geometry Solving geometric problems algorithms complexity analysis worst case, average, randomized implementation

More information

CMSC 754 Computational Geometry 1

CMSC 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

Geometry. Zachary Friggstad. Programming Club Meeting

Geometry. 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 information

CSE 5311 Notes 13: Computational Geometry

CSE 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 information

Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College

Planar 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 information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8!

CS 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 information

Flavor 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 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 information

Lecture 3 February 9, 2010

Lecture 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 information

Solutions to problem set 1

Solutions 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 information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8

CS 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 information

Computational Geometry. Geometry Cross Product Convex Hull Problem Sweep Line Algorithm

Computational 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 information

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

In 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 information

Computational Geometry. Free Lab Exercises. Year Q1

Computational Geometry. Free Lab Exercises. Year Q1 Computational Geometry Free Lab Exercises Year 2016-17 Q1 Vera Sacristán Departament de Matemàtiques Facultat d Informàtica de Barcelona Universitat Politècnica de Catalunya Computational Geometry - Free

More information

Computational Geometry Overview from Cormen, et al.

Computational 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 information

On the number of distinct directions of planes determined by n points in R 3

On the number of distinct directions of planes determined by n points in R 3 On the number of distinct directions of planes determined by n points in R 3 Rom Pinchasi August 27, 2007 Abstract We show that any set of n points in R 3, that is not contained in a plane, determines

More information

2D Geometry. Pierre Alliez Inria Sophia Antipolis

2D 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 information

Minimum-Link Watchman Tours

Minimum-Link Watchman Tours Minimum-Link Watchman Tours Esther M. Arkin Joseph S. B. Mitchell Christine D. Piatko Abstract We consider the problem of computing a watchman route in a polygon with holes. We show that the problem of

More information

COS 226 Lecture 15: Geometric algorithms. Warning: intuition may mislead (continued)

COS 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 information

Chapter 8. Properties of Triangles and Quadrilaterals. 02/2017 LSowatsky

Chapter 8. Properties of Triangles and Quadrilaterals. 02/2017 LSowatsky Chapter 8 Properties of Triangles and Quadrilaterals 02/2017 LSowatsky 1 8-1A: Points, Lines, and Planes I can Identify and label basic geometric figures. LSowatsky 2 Vocabulary: Point: a point has no

More information

A Simplex based Dimension Independent Approach for Convex Decomposition of Nonconvex polytopes

A Simplex based Dimension Independent Approach for Convex Decomposition of Nonconvex polytopes A Simplex based Dimension Independent Approach for Convex Decomposition of Nonconvex polytopes Rizwan Bulbul, Farid Karimipour and Andrew U. Frank Institute of Geoinformation and Cartography Technical

More information

Practical Linear Algebra: A Geometry Toolbox

Practical 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 information

Computational geometry

Computational 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 information

Geometric Data Structures

Geometric Data Structures Geometric Data Structures Swami Sarvottamananda Ramakrishna Mission Vivekananda University THAPAR-IGGA, 2010 Outline I 1 Introduction Motivation for Geometric Data Structures Scope of the Lecture 2 Range

More information

Smallest Intersecting Circle for a Set of Polygons

Smallest Intersecting Circle for a Set of Polygons Smallest Intersecting Circle for a Set of Polygons Peter Otfried Joachim Christian Marc Esther René Michiel Antoine Alexander 31st August 2005 1 Introduction Motivated by automated label placement of groups

More information

Lecture 1 (Part 1) Introduction/Overview

Lecture 1 (Part 1) Introduction/Overview UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2013 Lecture 1 (Part 1) Introduction/Overview Monday, 9/9/13 Web Page Web Page http://www.cs.uml.edu/~kdaniels/courses/alg_503_f13.html

More information

CS368: 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 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 information

Three Dimensional Geometry. Linear Programming

Three 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 information

Standard 2.0 Knowledge of Geometry: Students will apply the properties of one-,

Standard 2.0 Knowledge of Geometry: Students will apply the properties of one-, VSC - Mathematics Print pages on legal paper, landscape mode. Grade PK Grade K Grade 1 Grade 2 Grade 3 Grade 4 Grade 5 Grade 6 Grade 7 Grade 8 Geometry: Students will apply the properties of one-, two-,

More information

pine cone Ratio = 13:8 or 8:5

pine 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 information

Figure 2.1: An example of a convex set and a nonconvex one.

Figure 2.1: An example of a convex set and a nonconvex one. Convex Hulls 2.1 Definitions 2 Convexity is the key to understanding and simplifying geometry, and the convex hull plays a role in geometry akin to the sorted order for a collection of numbers. So what

More information

Line segment intersection. Family of intersection problems

Line 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 information

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE Based on [Berg] and [Mount]

VORONOI 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 information

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Computational 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 information

Computational Geometry. HKU ACM ICPC Training 2010

Computational 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

CS S Lecture February 13, 2017

CS 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 information

CS4733 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 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 information

CS6100: Topics in Design and Analysis of Algorithms

CS6100: 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 information

Visibility: Finding the Staircase Kernel in Orthogonal Polygons

Visibility: 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 information

2016 AMC10B Problems

2016 AMC10B Problems Problem 1 2016 AMC10B Problems What is the value of when? Problem 2 If, what is? Problem 3 Let. What is the value of? Problem 4 Zoey read books, one at a time. The first book took her day to read, the

More information

Lecture 1: September 6, 2001

Lecture 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 information

Geometric Computations for Simulation

Geometric 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 information

Finding Shortest Path on Land Surface

Finding Shortest Path on Land Surface Finding Shortest Path on Land Surface Lian Liu, Raymond Chi-Wing Wong Hong Kong University of Science and Technology June 14th, 211 Introduction Land Surface Land surfaces are modeled as terrains A terrain

More information

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required: Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric

More information

An Algorithm for Computing the Convex Hull of a Set of Imprecise Line Segment Intersection

An Algorithm for Computing the Convex Hull of a Set of Imprecise Line Segment Intersection Int. J. Open Problems Compt. Math., Vol. 7, No. 3, September, 2014 ISSN 1998-6262; Copyright @ICSRS Publication, 2014 www.i-csrs.org An Algorithm for Computing the Convex Hull of a Set of Imprecise Line

More information

Geometric Algorithms. 1. Objects

Geometric 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 information

Connected Components of Underlying Graphs of Halving Lines

Connected 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 information

CSE 512 Course Project Operation Requirements

CSE 512 Course Project Operation Requirements CSE 512 Course Project Operation Requirements 1. Operation Checklist 1) Geometry union 2) Geometry convex hull 3) Geometry farthest pair 4) Geometry closest pair 5) Spatial range query 6) Spatial join

More information

COMPUTATIONAL GEOMETRY

COMPUTATIONAL GEOMETRY Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

More information

Flavor 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 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 information

CMSC 754 Computational Geometry 1

CMSC 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 information

Bellman s Escape Problem for Convex Polygons

Bellman s Escape Problem for Convex Polygons Bellman s Escape Problem for Convex Polygons Philip Gibbs philegibbs@gmail.com Abstract: Bellman s challenge to find the shortest path to escape from a forest of known shape is notoriously difficult. Apart

More information

Advanced Algorithm Homework 4 Results and Solutions

Advanced 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 information

15-451/651: Algorithms CMU, Spring 2016 Lecture #24: Computational Geometry Introduciton April 13, 2015 Lecturer: Danny Sleator

15-451/651: Algorithms CMU, Spring 2016 Lecture #24: Computational Geometry Introduciton April 13, 2015 Lecturer: Danny Sleator 15-451/651: Algorithms CMU, Spring 2016 Lecture #24: Computational Geometry Introduciton April 13, 2015 Lecturer: Danny Sleator 1 Introduction Computational geometry is the design and analysis of algorithms

More information

Applications of Geometric Spanner

Applications of Geometric Spanner Title: Name: Affil./Addr. 1: Affil./Addr. 2: Affil./Addr. 3: Keywords: SumOriWork: Applications of Geometric Spanner Networks Joachim Gudmundsson 1, Giri Narasimhan 2, Michiel Smid 3 School of Information

More information

Computational Geometry for Imprecise Data

Computational Geometry for Imprecise Data Computational Geometry for Imprecise Data November 30, 2008 PDF Version 1 Introduction Computational geometry deals with algorithms on geometric inputs. Historically, geometric algorithms have focused

More information

COT5405: GEOMETRIC ALGORITHMS

COT5405: 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 information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 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 information

Computational Geometry: Lecture 5

Computational Geometry: Lecture 5 Computational Geometry: Lecture 5 Don Sheehy January 29, 2010 1 Degeneracy In many of the algorithms that we have discussed so far, we have run into problems when that input is somehow troublesome. For

More information

Data Structures and Algorithms

Data Structures and Algorithms Berner Fachhochschule - Technik und Informatik Data Structures and Algorithms Topic 1: Algorithm Analysis Philipp Locher FS 2018 Outline Course and Textbook Overview Analysis of Algorithm Pseudo-Code and

More information

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

CS 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 information

Facility Location and Strategic Supply Chain Management

Facility Location and Strategic Supply Chain Management Structure I. Location Concepts II. Location Theory Chapter 3 Continuous Location Problems Chapter 4 Location Problems on Networks Chapter 5 Discrete Location Problems Chapter 6 - Territory Design III.

More information

Formal Certification of Arithmetic Filters for Geometric Predicates

Formal Certification of Arithmetic Filters for Geometric Predicates Introduction Formalization Implementation Conclusion Formal Certification of Arithmetic Filters for Geometric Predicates Guillaume Melquiond Sylvain Pion Arénaire, LIP ENS Lyon Geometrica, INRIA Sophia-Antipolis

More information

Basic tool: orientation tests

Basic tool: orientation tests Basic tool: orientation tests Vera Sacristán Computational Geometry Facultat d Informàtica de Barcelona Universitat Politècnica de Catalunya Orientation test in R 2 Given 3 points p,, r in the plane, efficiently

More information

AtCoder World Tour Finals 2019

AtCoder World Tour Finals 2019 AtCoder World Tour Finals 201 writer: rng 58 February 21st, 2018 A: Magic Suppose that the magician moved the treasure in the order y 1 y 2 y K+1. Here y i y i+1 for each i because it doesn t make sense

More information

Assessing Continuous Demand Representation in Coverage Modeling

Assessing Continuous Demand Representation in Coverage Modeling Assessing Continuous Demand Representation in Coverage Modeling Ran Wei 1, Alan T. Murray 1 1 GeoDa Center for Geospatial Analysis and Computation, School of Geographical Sciences and Urban Planning, Arizona

More information

January 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms

January 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 information

Wolfgang Mulzer Institut für Informatik. Computational Geometry with Limited Work-Space: State of the Art and Challenges

Wolfgang Mulzer Institut für Informatik. Computational Geometry with Limited Work-Space: State of the Art and Challenges Wolfgang Mulzer Institut für Informatik Computational Geometry with Limited Work-Space: State of the Art and Challenges Algorithms with Limited Work-Space Today s software is versatile, fast, and BIG.

More information

Central Europe Regional Contest 2016

Central Europe Regional Contest 2016 University of Zagreb Faculty of Electrical Engineering and Computing November 1820, 2016 A: Appearance Analysis.......... 1 B: Bipartite Blanket............. 2 C: Convex Contour............. D: Dancing

More information

ASSIGNMENT 2. COMP-202A, Fall 2011, All Sections. Due: Monday, October 17th, 2011 (23:30)

ASSIGNMENT 2. COMP-202A, Fall 2011, All Sections. Due: Monday, October 17th, 2011 (23:30) ASSIGNMENT 2 COMP-202A, Fall 2011, All Sections Due: Monday, October 17th, 2011 (23:30) Please read the entire pdf before starting. The bottom has important instructions for how to test your code before

More information

Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves. Brian Curless CSE 457 Spring 2016 Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

More information

Computational Geometry. Definition, Application Areas, and Course Overview

Computational Geometry. Definition, Application Areas, and Course Overview Computational Geometry Definition, Application Areas, and Course Overview Computational Geometry is a subfield of the Design and Analysis of Algorithms Computational Geometry is a subfield of the Design

More information

Computational Geometry

Computational 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 information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

PS 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 information

How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park

How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park http://www.cs.umd.edu/~sorelle Outline Introduction Algorithms Computational Geometry Art Museum Problem

More information

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry: Algorithms and Applications 2/19/15 CMPS 3130/6130 Computational Geometry 1 Voronoi Diagram

More information

Lecture 11 Combinatorial Planning: In the Plane

Lecture 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 information

MATH 113 Section 8.2: Two-Dimensional Figures

MATH 113 Section 8.2: Two-Dimensional Figures MATH 113 Section 8.2: Two-Dimensional Figures Prof. Jonathan Duncan Walla Walla University Winter Quarter, 2008 Outline 1 Classifying Two-Dimensional Shapes 2 Polygons Triangles Quadrilaterals 3 Other

More information

Stabbers of line segments in the plane

Stabbers of line segments in the plane Stabbers of line segments in the plane M. Claverol D. Garijo C. I. Grima A. Márquez C. Seara August 3, 2010 Abstract The problem of computing a representation of the stabbing lines of a set S of segments

More information

Minimum-Volume Box Containing a Set of Points

Minimum-Volume Box Containing a Set of Points Minimum-Volume Box Containing a Set of Points David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred 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 information

Hands-On Standards Deluxe Grades: 7, 8 States: California Content Standards

Hands-On Standards Deluxe Grades: 7, 8 States: California Content Standards Hands-On Standards Deluxe Grades: 7, 8 States: Hands-On Standards Deluxe Edition Kit, Grades 5-6: Algebra Summary: This resource guide meets 5 and 6 math curriculum standards by matching activities to

More information

1 The range query problem

1 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 information

Chapter 2. Convex Hull. 2.1 Convexity. The following terminology should be familiar from linear algebra. Consider P R d. courses.

Chapter 2. Convex Hull. 2.1 Convexity. The following terminology should be familiar from linear algebra. Consider P R d. courses. Chapter 2 Convex Hull 2.1 Convexity Consider P R d. courses. The following terminology should be familiar from linear algebra Linear hull. lin(p) := { q } q = λi p i 8 i : p i 2 P, λ i 2 R (smallest linear

More information