# Homework Exam 1, Geometric Algorithms, 2016

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Homework Exam 1, Geometric Algorithms, (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the vertices, (half-)edges, and faces in the boundary of P. Assume there are n vertices. There are no vertices of degree 2, and no two adjacent faces are parallel (the description of P is minimal). An xy-silhouette of a convex polyhedron P is defined as a cyclic sequence (cycle) of vertices v 1,..., v k P such that (i) if we remove the third coordinate from each vertex in the sequence, it is a proper description of a convex polygon in the xy-plane, and (ii) for every vertex in the sequence, and for any point on a line segment defined by two consecutive vertices, a line through that vertex or point parallel to the z-axis does not intersect the interior of P. (A proper description of a convex polygon does not include vertices where the interior angle is π, so where the two incident edges are parallel.) Note that two consecutive vertices in the xy-silhouette need not be connected by an edge in P. (a.) (0.5 pnt) An xy-silhouette may not be unique. Explain exactly when the xy-silhouette of a convex polyhedron P is unique and when it is not. Answer: The xy-silhouette is unique if and only if P has no vertical edges (parallel to the z-axis). When there are vertical edges, either the upper endpoint or the lower endpoint can be chosen in the xy-silhouette. If P has a vertical facet but no vertical edges, then the xy-projection of that facet is a line segment and its endpoints are the projections of unique vertices of P, and only these occur in the xy-silhouette. Note that the xy-silhouette is a cyclic sequence of vertices of P and not of the projection of P. Also note that it is cyclic, so a different starting point does not make it a different cyclic sequence. A proof was not asked for. The only essential part of the answer above is the first sentence. (b.) (2 pnt) Give an algorithm that determines an xy-silhouette of a convex polyhedron P in O(n) time, using the standard names of fields of a DCEL (like: IncidentEdge, Next, etc.). The algorithm is passed a single vertex record of some vertex in the boundary of P. As the approach, use a suitable (simple!) traversal of the boundary of P. Write down every constant-time geometric test or operation in words, not in formulas or code. Answer: The approach is to use two phases. In the first, we traverse the boundary of P to find a vertex v with minimum x-coordinate. In the second, we traverse edges and vertices of the boundary of P that have the vertical line property from the definition of xy-silhouette, and extract the xy-silhouette vertices in a cyclic order. Phase 1: Suppose any vertex v of P is given 1. e = IncidentEdge(v) 2. e = Twin(e) 3. while (Next(e )!= e) and (Origin(e ).x >= v.x) 4. do e = Twin(Next(e )) 5. if Origin(e ).x < v.x 6. then v = Origin(e ) and continue at 1. In case there are multiple vertices with the same smallest x-coordinate, we will minimize y-coordinate (lexicographic minimum) as well, and then minimize z-coordinate; this is not in the code above. After phase 1, v is a vertex of P with minimum x-coordinate and phase 2 will start. In the code below, v w represents the direction from the vertex v to the vertex 1

2 w, and the angle between directions is the (absolute) turn angle required to align the two. It is always π. Phase 2: A vertex v with minimum x-coordinate is given 1. Push v onto a stack S 2. d is the 2D direction of the negative y-axis 3. u = v 4. repeat 5. e = IncidentEdge(v) 6. e = Twin(e) 7. w = Origin(e ) 8. while (Next(e )!= e) 9. do if the xy-projected angle between d and v Origin(Twin(Next(e ))) is smaller than the xy-projected angle between d and v w [ with equality, take the one with lower z-coordinate ] 10. then w = Origin(Twin(Next(e ))); e = Twin(Next(e )) 11. push w onto S 12. while S has at least 3 elements and the last 3 do not make a turn 13. do remove the middle one of them 14. if (w == u) then pop S and return S 15. let d = v w and v = w 15. until False (c.) (0.5 pnt) Argue why your algorithm takes linear time. Answer: The first phase of the algorithm visits a vertex (in the role of v) at most once, because we always change to a vertex with a strictly smaller x-coordinate. For each such vertex, we spend time linear in its degree (number of neighbors). The sum of the degrees of all vertices is bounded by two times the number of edges, and since the vertices and edges of P are a planar graph, this is O(n). Hence, the first phase takes O(n) time. The second phase also visits a vertex (in the role of v) at most once, and exactly the same arguments apply to prove linear time for the second phase. 2. (4 points) Given two sets of red and blue line segments in the plane, denoted R and B, with n and m line segments, respectively. All line segments in R B are disjoint. We want to report every red line segment that is blue-surrounded, meaning that directly to the left and to the right of it, during its full y-span, there is some blue line segment. Give a plane sweep algorithm that takes two sets R and B and reports all blue-surrounded red line segments of R. You may assume that all endpoints of R B have different y-coordinates. (a.) (1 pnt) Define the status of your sweep-line algorithm and describe the status structure. Also describe the event list of your algorithm. Answer: The status for a particular position of the sweep-line l is the set of intersected red and blue line segments of R B, sorted from left to right on intersection point with the sweep line. Each red line segment that intersects the sweep-line stores a Boolean value that is True if it is blue-surrounded above the sweep-line, and False otherwise. The status structure T is a balanced binary search tree storing the status in its leaves. The event list is a list storing all events (upper and lower endpoints of the line segments in R B) in sorted order of decreasing y-coordinate. 2

3 (b.) (0.5 pnt) Give the initialization of your algorithm. Answer: The initialization consists of computing the event list by sorting all endpoints, and making an empty status structure. (c.) (1.5 pnt) Distinguish in the types of events and describe for each type how it is handled. Answer: There are four types of event points, corresponding to the upper and lower endpoints of the red and of the blue line segments. Note that the algorithm may set the Boolean value of a red segment to False when it is False already (this does not influence correctness). Upper red endpoint p of s: Search with p in T. If the segments directly left and/or right are red, set their Boolean to False, and insert s in T with its Boolean set to False. If the segments directly left and right of p are blue, insert s in T with its Boolean set to True. Lower red endpoint p of s: Search with p in T, and delete s. If its Boolean was True, report it. Upper blue endpoint p of s: Insert s in T. Lower blue endpoint p of s: Search for p in T, and delete s. If directly left and directly right of p there are red segments, then set their Booleans to False. If there is a red segment to only one side and the other side does not have any segments, then set the Boolean of the red segment to False. (d.) (1 pnt) Analyze the running of your algorithm, expressed in n and m. Answer: There are n + m line segments and therefore 2n + 2m endpoints. Each endpoint is an event, and therefore the number of events is O(n+m). Sorting these events in initialization costs O((n + m) log(n + m)) time. Each event involves removing it from the event list (in constant time) and otherwise one insertion or deletion in T, and finding up to two neighbor leaves. Each of these operations takes O(log(n + m)) time. So the total time taken by the algorithm is O((n + m) log(n + m)) time. 3. (2 points) Given a simple polygon P that has no vertices with equal y-coordinate, we are interested in the best horizontal cut. A horizontal cut is a horizontal line segment s (nondegenerate, so of non-zero length) whose endpoints lie on the boundary of P and which itself is fully in P (interior or boundary). A cut therefore splits P in one or two pieces locally above the cut, and one or two pieces locally below the cut. A horizontal cut is best if it minimizes the maximum of: (1) the sum of the areas above the cut, and (2) the sum of the areas below the cut, over all possible horizontal cuts. So it is the most area-balanced cut. A best horizontal cut of a simple polygon with n vertices can be computed in O(n log n) time using a plane sweep, but that is not relevant for this assignment. Here we want to prove a geometric property of the best horizontal cut on which an algorithm can be based. Lemma: Given a simple polygon P with no vertices with equal y-coordinate, the best horizontal cut (i) contains a vertex of P, or (ii) it cuts P into pieces with equal area above and below, or (iii) both. 3

4 (a.) (1.5 pnt) Prove the lemma. Answer: For a contradiction, assume that the best horizontal cut (i) does not contain a vertex, and (ii) does not cut P into two pieces with equal area above and below. This implies that both endpoints of the cut lie in the interiors of two edges of the boundary of P. We know that these edges are not horizontal, because P does not have any horizontal edges (or else it would have two vertices with the same y-coordinate). Furthermore, the cut splits P into only two pieces which are simple polygons. Assume first that the area of the piece above the cut is strictly larger than the area of the piece below the cut. When can move the cut an arbitrarily small amount upward, keeping its endpoints on the same edges, and decrease the area above the cut. Since we can do it by an arbitrarily small amount, we can make sure that the move does not make the area below the cut larger than the area above the cut. Hence, we have found a better solution than the best cut. A contradiction. If the area of the piece below the cut is strictly larger, we are in a symmetric case and we apply exactly the analogous arguments. (b.) (0.5 pnt) Using the vertex types of Chapter 3, what are the possible types of vertex of P on the best horizontal cut, when it does not result in equal area of the two polygon parts? Answer: This can be either a merge vertex or a split vertex, but nothing else. 4. (1 point) Related to the cut in the previous question is the best diagonal of a simple polygon P. There are three main differences: a diagonal must have both endpoints on vertices of P (see the definition of diagonal in Chapter 3 of the book), its interior lies fully in the interior of P, and it need not be horizontal. The similarity is that the best diagonal also minimizes the area of the larger of the two resulting polygons. Describe an algorithm that computes the best diagonal. The most important aspect of your solution is that it is correct. The second-most important aspect is that it is efficient. Analyze the running time of your algorithm. For this question you do not have to give the details of the algorithm and you may ignore all degenerate cases. The answer should be about half a page. Answer: The simple idea is to try every pair of vertices, test if it gives a diagonal, and if so, compute the areas of the two resulting polygons. 1. For all pairs of vertices p, q in P 2. do 3. for all edges e of P 4. do if the closure of e intersects the interior of pq then take the next p, q 5. Compute the areas on both sides of the diagonal using a standard linear-time area computation 6. Keep it if it is the best one so far O(n 2 ) pairs of vertices are tried, first to test if they are a diagonal in linear time (lines 3 4), and if so, then to compute the areas, also in linear time (lines 5 6). Hence, the algorithm runs in O(n 2 ) (O(n) + O(n)) = O(n 3 ) time. This solution gives the 1 point assigned to this question. You can get an additional point if you see that you can perform a rotational sweep around each vertex (like in exercise 2.14 or 3.14). You can then process any vertex in O(n log n) time, 4

5 leading to an O(n 2 log n) time algorithm. Assume that we sweep clockwise from a vertex v. We must keep the area of the polygon to the left/counterclockwise from the current diagonal (directed away from v), and update this area by computing only the area in between the previous diagonal and the current diagonal. Or, you can perform the rotational sweep only to find as many diagonals from a vertex as possible. This gives O(n) subpolygons. We compute the area of each in O(n) time overall. Using the angular order of these diagonals, it is now easy to compute the areas of the next clockwise diagonal in O(1) time from the previous one, since the areas are cumulative. The resulting running time is the same, because finding the O(n) diagonals from a vertex already takes O(n log n) time. 5

### Computational Geometry

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

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

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### Monotone Partitioning. Polygon Partitioning. Monotone polygons. Monotone polygons. Monotone Partitioning. ! Define monotonicity

Monotone Partitioning! Define monotonicity Polygon Partitioning Monotone Partitioning! Triangulate monotone polygons in linear time! Partition a polygon into monotone pieces Monotone polygons! Definition

### 1 Point Inclusion in a Polygon

Comp 163: Computational Geometry Tufts University, Spring 2005 Professor Diane Souvaine Scribe: Ryan Coleman Point Inclusion and Processing Simple Polygons into Monotone Regions 1 Point Inclusion in a

### Computational Geometry

Lecture 10: 1 Lecture 10: Voronoi diagram Spatial interpolation Given some trees, seen from above, which region will they occupy? 2 Lecture 10: Voronoi diagram Spatial interpolation Given some trees, seen

### 24: Polygon Partition - Faster Triangulations

24: Polygon Partition - Faster Triangulations CS 473u - Algorithms - Spring 2005 April 15, 2005 1 Previous lecture We described triangulations of simple polygons. See Figure 1 for an example of a polygon

### Computational Geometry. Lecture 1: Introduction and Convex Hulls

Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

### Tufts University, Spring 2005 Michael Horn, Julie Weber (2004) Voronoi Diagrams

Comp 163: Computational Geometry Professor Diane Souvaine Tufts University, Spring 2005 Michael Horn, Julie Weber (2004) Voronoi Diagrams 1 Voronoi Diagrams 1 Consider the following problem. To determine

### Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge.

Divide-and-Conquer Three main steps : 1. divide; 2. conquer; 3. merge. 1 Let I denote the (sub)problem instance and S be its solution. The divide-and-conquer strategy can be described as follows. Procedure

### Optimal 3D Angular Resolution for Low-Degree Graphs

Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 17, no. 3, pp. 173 200 (2013) DOI: 10.7155/jgaa.00290 Optimal 3D Angular Resolution for Low-Degree Graphs David Eppstein 1 Maarten Löffler

### Triangulation. Is this always possible for any simple polygon? If not, which polygons are triangulable.

Triangulation Partition polygon P into non-overlapping triangles using diagonals only. Is this always possible for any simple polygon? If not, which polygons are triangulable. Does the number of triangles

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### Lattice Point Geometry: Pick s Theorem and Minkowski s Theorem. Senior Exercise in Mathematics. Jennifer Garbett Kenyon College

Lattice Point Geometry: Pick s Theorem and Minkowski s Theorem Senior Exercise in Mathematics Jennifer Garbett Kenyon College November 18, 010 Contents 1 Introduction 1 Primitive Lattice Triangles 5.1

### Introduction to Voronoi Diagrams

C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 13 Date: March 22, 1993 Scribe: Scott S. Snibbe 1 Introduction Introduction to Voronoi Diagrams This lecture introduces

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### Polygon Triangulation. O Rourke, Chapter 1

Polygon Triangulation O Rourke, Chapter 1 Outline Triangulation Duals Three Coloring Art Gallery Problem Definition A (simple) polygon is a region of the plane bounded by a finite collection of line segments

### Chapter 6 Planarity. Section 6.1 Euler s Formula

Chapter 6 Planarity Section 6.1 Euler s Formula In Chapter 1 we introduced the puzzle of the three houses and the three utilities. The problem was to determine if we could connect each of the three utilities

### Arrangements And Duality

Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

### Week 2 Polygon Triangulation

Week 2 Polygon Triangulation What is a polygon? Last week A polygonal chain is a connected series of line segments A closed polygonal chain is a polygonal chain, such that there is also a line segment

### 12. Visibility Graphs and 3-Sum Lecture on Monday 9 th

12. Visibility Graphs and 3-Sum Lecture on Monday 9 th November, 2009 by Michael Homann 12.1 Sorting all Angular Sequences. Theorem 12.1 Consider a set P of n points in the plane.

### Computational Geometry [csci 3250]

Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon

### Homework 15 Solutions

PROBLEM ONE (Trees) Homework 15 Solutions 1. Recall the definition of a tree: a tree is a connected, undirected graph which has no cycles. Which of the following definitions are equivalent to this definition

### Line Segment Intersection

Chapter 1 Line Segment Intersection (with material from [1], [3], and [5], pictures are missing) 1.1 Interval case We first think of having n intervals (e.g., the x-range of horizontal line segments) and

### Existence of Simple Tours of Imprecise Points

Existence of Simple Tours of Imprecise Points Maarten Löffler Department of Information and Computing Sciences, Utrecht University Technical Report UU-CS-007-00 www.cs.uu.nl ISSN: 09-7 Existence of Simple

### POWER SETS AND RELATIONS

POWER SETS AND RELATIONS L. MARIZZA A. BAILEY 1. The Power Set Now that we have defined sets as best we can, we can consider a sets of sets. If we were to assume nothing, except the existence of the empty

### INTERSECTION OF LINE-SEGMENTS

INTERSECTION OF LINE-SEGMENTS Vera Sacristán Computational Geometry Facultat d Informàtica de Barcelona Universitat Politècnica de Catalunya Problem Input: n line-segments in the plane, s i = (p i, q

### Polygon Triangulation

Polygon Triangulation A polygonal curve is a finite chain of line segments. Line segments called edges, their endpoints called vertices. A simple polygon is a closed polygonal curve without self-intersection.

### Shortest Path Algorithms

Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

### Convexity in R N Main Notes 1

John Nachbar Washington University December 16, 2016 Convexity in R N Main Notes 1 1 Introduction. These notes establish basic versions of the Supporting Hyperplane Theorem (Theorem 5) and the Separating

### INTERSECTION OF LINE-SEGMENTS

INTERSECTION OF LINE-SEGMENTS Vera Sacristán Discrete and Algorithmic Geometry Facultat de Matemàtiques i Estadística Universitat Politècnica de Catalunya Problem Input: n line-segments in the plane,

### 100 Math Facts 6 th Grade

100 Math Facts 6 th Grade Name 1. SUM: What is the answer to an addition problem called? (N. 2.1) 2. DIFFERENCE: What is the answer to a subtraction problem called? (N. 2.1) 3. PRODUCT: What is the answer

### COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

### 1. A student followed the given steps below to complete a construction. Which type of construction is best represented by the steps given above?

1. A student followed the given steps below to complete a construction. Step 1: Place the compass on one endpoint of the line segment. Step 2: Extend the compass from the chosen endpoint so that the width

### EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27 The Problem Given a set of N objects, do any two intersect? Objects could be lines, rectangles, circles, polygons, or other geometric objects Simple to

### Basic Notions on Graphs. Planar Graphs and Vertex Colourings. Joe Ryan. Presented by

Basic Notions on Graphs Planar Graphs and Vertex Colourings Presented by Joe Ryan School of Electrical Engineering and Computer Science University of Newcastle, Australia Planar graphs Graphs may be drawn

### 1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

### Student Name: Teacher: Date: District: Miami-Dade County Public Schools. Assessment: 9_12 Mathematics Geometry Exam 1

Student Name: Teacher: Date: District: Miami-Dade County Public Schools Assessment: 9_12 Mathematics Geometry Exam 1 Description: GEO Topic 1 Test: Tools of Geometry Form: 201 1. A student followed the

### Euclidean Geometry. We start with the idea of an axiomatic system. An axiomatic system has four parts:

Euclidean Geometry Students are often so challenged by the details of Euclidean geometry that they miss the rich structure of the subject. We give an overview of a piece of this structure below. We start

### Selected practice exam solutions (part 5, item 2) (MAT 360)

Selected practice exam solutions (part 5, item ) (MAT 360) Harder 8,91,9,94(smaller should be replaced by greater )95,103,109,140,160,(178,179,180,181 this is really one problem),188,193,194,195 8. On

### Computational Geometry: Line segment intersection

: Line segment intersection Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 Tutorial room change: 055 this building!!! (from next monday on) Outline Motivation Line segment intersection (and

### Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS

Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS 1.1.25 Prove that the Petersen graph has no cycle of length 7. Solution: There are 10 vertices in the Petersen graph G. Assume there is a cycle C

### DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

Professor Kindred Math 04 Graph Theory Homework 7 Solutions April 3, 03 Introduction to Graph Theory, West Section 5. 0, variation of 5, 39 Section 5. 9 Section 5.3 3, 8, 3 Section 7. Problems you should

### Optimal Binary Space Partitions in the Plane

Optimal Binary Space Partitions in the Plane Mark de Berg and Amirali Khosravi TU Eindhoven, P.O. Box 513, 5600 MB Eindhoven, the Netherlands Abstract. An optimal bsp for a set S of disjoint line segments

### Approximation Algorithms for Art Gallery Problems

Approximation Algorithms for Art Gallery Problems Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline 1 Introduction

### MATHEMATICAL BACKGROUND

Chapter 1 MATHEMATICAL BACKGROUND This chapter discusses the mathematics that is necessary for the development of the theory of linear programming. We are particularly interested in the solutions of a

### Computational Geometry

Range trees 1 Range queries Database queries salary G. Ometer born: Aug 16, 1954 salary: \$3,500 A database query may ask for all employees with age between a 1 and a 2, and salary between s 1 and s 2 2

### Triangle. A triangle is a geometrical figure. Tri means three. So Triangle is a geometrical figure having 3 angles.

Triangle A triangle is a geometrical figure. Tri means three. So Triangle is a geometrical figure having 3 angles. A triangle is consisting of three line segments linked end to end. As the figure linked

### Computational Geometry

and range trees Lecture 6: and range trees Lecture 7: and range trees Database queries 1D range trees Databases Databases store records or objects Personnel database: Each employee has a name, id code,

### Topological Treatment of Platonic, Archimedean, and Related Polyhedra

Forum Geometricorum Volume 15 (015) 43 51. FORUM GEOM ISSN 1534-1178 Topological Treatment of Platonic, Archimedean, and Related Polyhedra Tom M. Apostol and Mamikon A. Mnatsakanian Abstract. Platonic

### 39 Symmetry of Plane Figures

39 Symmetry of Plane Figures In this section, we are interested in the symmetric properties of plane figures. By a symmetry of a plane figure we mean a motion of the plane that moves the figure so that

### Clipping polygons the Sutherland-Hodgman algorithm

Clipping polygons would seem to be quite complex. Clipping polygons would seem to be quite complex. single Clipping polygons would seem to be quite complex. single Clipping polygons would seem to be quite

### HOLES 5.1. INTRODUCTION

HOLES 5.1. INTRODUCTION One of the major open problems in the field of art gallery theorems is to establish a theorem for polygons with holes. A polygon with holes is a polygon P enclosing several other

### When is a graph planar?

When is a graph planar? Theorem(Euler, 1758) If a plane multigraph G with k components has n vertices, e edges, and f faces, then n e + f = 1 + k. Corollary If G is a simple, planar graph with n(g) 3,

### Polygon Triangulation

If triangles had a god, they would give him three sides. Charles Louis de Secondat Montesquie (1721) Down with Euclid! Death to triangles! Jean Dieudonné (1959) G Polygon Triangulation G.1 Introduction

### Centroid: The point of intersection of the three medians of a triangle. Centroid

Vocabulary Words Acute Triangles: A triangle with all acute angles. Examples 80 50 50 Angle: A figure formed by two noncollinear rays that have a common endpoint and are not opposite rays. Angle Bisector:

### Disjoint Compatible Geometric Matchings

Disjoint Compatible Geometric Matchings Mashhood Ishaque Diane L. Souvaine Csaba D. Tóth Abstract We prove that for every even set of n pairwise disjoint line segments in the plane in general position,

### Hidden Mobile Guards in Simple Polygons

CCCG 2012, Charlottetown, P.E.I., August 8 10, 2012 Hidden Mobile Guards in Simple Polygons Sarah Cannon Diane L. Souvaine Andrew Winslow Abstract We consider guarding classes of simple polygons using

### STRAIGHT LINES. , y 1. tan. and m 2. 1 mm. If we take the acute angle between two lines, then tan θ = = 1. x h x x. x 1. ) (x 2

STRAIGHT LINES Chapter 10 10.1 Overview 10.1.1 Slope of a line If θ is the angle made by a line with positive direction of x-axis in anticlockwise direction, then the value of tan θ is called the slope

### The minimum number of distinct areas of triangles determined by a set of n points in the plane

The minimum number of distinct areas of triangles determined by a set of n points in the plane Rom Pinchasi Israel Institute of Technology, Technion 1 August 6, 007 Abstract We prove a conjecture of Erdős,

### Algorithmica 9 1989 Springer-Verlag New York Inc.

Algorithmica (1989) 4:97-108 Algorithmica 9 1989 Springer-Verlag New York Inc. Constrained Delaunay Triangulations 1 L. Paul Chew 2 Abstract. Given a set of n vertices in the plane together with a set

### 1. What s wrong with the following proofs by induction?

ArsDigita University Month : Discrete Mathematics - Professor Shai Simonson Problem Set 4 Induction and Recurrence Equations Thanks to Jeffrey Radcliffe and Joe Rizzo for many of the solutions. Pasted

### Math 421, Homework #5 Solutions

Math 421, Homework #5 Solutions (1) (8.3.6) Suppose that E R n and C is a subset of E. (a) Prove that if E is closed, then C is relatively closed in E if and only if C is a closed set (as defined in Definition

### Chapter Three. Parallel Lines and Planes

Chapter Three Parallel Lines and Planes Objectives A. Use the terms defined in the chapter correctly. B. Properly use and interpret the symbols for the terms and concepts in this chapter. C. Appropriately

### Masters Thesis Computing the Visibility Graph of Points Within a Polygon. Jesper Buch Hansen

Masters Thesis Computing the Visibility Graph of Points Within a Polygon Jesper Buch Hansen December 22, 2005 Department of Computer Science, University of Aarhus Student Jesper Buch Hansen Supervisor

### DEGREE CONSTRAINED TRIANGULATION. Roshan Gyawali

DEGREE CONSTRAINED TRIANGULATION by Roshan Gyawali Bachelor in Computer Engineering Institue of Engineering, Pulchowk Campus, Tribhuvan University, Kathmandu 2008 A thesis submitted in partial fulfillment

### FINDING ALL WEAKLY-VISIBLE CHORDS OF A POLYGON IN LINEAR TIME

Nordic Journal of Computing 1(1994), 433 457. FINDING ALL WEAKLY-VISIBLE CHORDS OF A POLYGON IN LINEAR TIME GAUTAM DAS PAUL J. HEFFERNAN GIRI NARASIMHAN Mathematical Sciences Department The University

### AB divides the plane. Then for any α R, 0 < α < π there exists a unique ray. AC in the halfplane H such that m BAC = α. (4) If ray

4. Protractor xiom In this section, we give axioms relevant to measurement of angles. However, before we do it we need to introduce a technical axiom which introduces the notion of a halfplane. 4.. Plane

### Partitioning edge-coloured complete graphs into monochromatic cycles and paths

arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

### INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

### Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

### Betweenness of Points

Math 444/445 Geometry for Teachers Summer 2008 Supplement : Rays, ngles, and etweenness This handout is meant to be read in place of Sections 5.6 5.7 in Venema s text [V]. You should read these pages after

### 56 questions (multiple choice, check all that apply, and fill in the blank) The exam is worth 224 points.

6.1.1 Review: Semester Review Study Sheet Geometry Core Sem 2 (S2495808) Semester Exam Preparation Look back at the unit quizzes and diagnostics. Use the unit quizzes and diagnostics to determine which

### G.H. Raisoni College of Engineering, Nagpur. Department of Information Technology

Practical List 1) WAP to implement line generation using DDA algorithm 2) WAP to implement line using Bresenham s line generation algorithm. 3) WAP to generate circle using circle generation algorithm

### MODERN APPLICATIONS OF PYTHAGORAS S THEOREM

UNIT SIX MODERN APPLICATIONS OF PYTHAGORAS S THEOREM Coordinate Systems 124 Distance Formula 127 Midpoint Formula 131 SUMMARY 134 Exercises 135 UNIT SIX: 124 COORDINATE GEOMETRY Geometry, as presented

### ( ) 2 = 9x 2 +12x + 4 or 8x 2 " y 2 +12x + 4 = 0; (b) Solution: (a) x 2 + y 2 = 3x + 2 " \$ x 2 + y 2 = 1 2

Conic Sections (Conics) Conic sections are the curves formed when a plane intersects the surface of a right cylindrical doule cone. An example of a doule cone is the 3-dimensional graph of the equation

### Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

7 Catalan Numbers Thomas A. Dowling, Department of Mathematics, Ohio State Uni- Author: versity. Prerequisites: The prerequisites for this chapter are recursive definitions, basic counting principles,

### Geometry Chapter 1 Vocabulary. coordinate - The real number that corresponds to a point on a line.

Chapter 1 Vocabulary coordinate - The real number that corresponds to a point on a line. point - Has no dimension. It is usually represented by a small dot. bisect - To divide into two congruent parts.

### Kaleidoscopes, Hubcaps, and Mirrors Problem 1.1 Notes

Problem 1.1 Notes When part of an object or design is repeated to create a balanced pattern, we say that the object or design has symmetry. You can find examples of symmetry all around you. rtists use

### Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs R. L. Scot Drysdale a Günter Rote b,1 Astrid Sturm b,1 a Department of Computer Science, Dartmouth College b Institut

### Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

### Section 13.5 Equations of Lines and Planes

Section 13.5 Equations of Lines and Planes Generalizing Linear Equations One of the main aspects of single variable calculus was approximating graphs of functions by lines - specifically, tangent lines.

### COT5405 Analysis of Algorithms Homework 3 Solutions

COT0 Analysis of Algorithms Homework 3 Solutions. Prove or give a counter example: (a) In the textbook, we have two routines for graph traversal - DFS(G) and BFS(G,s) - where G is a graph and s is any

### Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

### Math 366 Lecture Notes Section 11.1 Basic Notions (of Geometry)

Math 366 Lecture Notes Section. Basic Notions (of Geometry) The fundamental building blocks of geometry are points, lines, and planes. These terms are not formally defined, but are described intuitively.

### Removing Even Crossings

EuroComb 2005 DMTCS proc. AE, 2005, 105 110 Removing Even Crossings Michael J. Pelsmajer 1, Marcus Schaefer 2 and Daniel Štefankovič 2 1 Department of Applied Mathematics, Illinois Institute of Technology,

### Range Searching using Kd Tree.

Range Searching using Kd Tree. Hemant M. Kakde. 25-08-2005 1 Introduction to Range Searching. At first sight it seems that database has little to do with geometry. The queries about data in database can

### Finding and counting given length cycles

Finding and counting given length cycles Noga Alon Raphael Yuster Uri Zwick Abstract We present an assortment of methods for finding and counting simple cycles of a given length in directed and undirected

### (Refer Slide Time 1.50)

Discrete Mathematical Structures Dr. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Module -2 Lecture #11 Induction Today we shall consider proof

### ascending order decimal denominator descending order Numbers listed from largest to smallest equivalent fraction greater than or equal to SOL 7.

SOL 7.1 ascending order Numbers listed in order from smallest to largest decimal The numbers in the base 10 number system, having one or more places to the right of a decimal point denominator The bottom

### Session 7 Symmetry. coordinates reflection rotation translation

Key Terms for This Session Session 7 Symmetry Previously Introduced coordinates reflection rotation translation New in This Session: frieze pattern glide reflection reflection or line symmetry rotation

### Chapter 4. Trees. 4.1 Basics

Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.

### Name Geometry Exam Review #1: Constructions and Vocab

Name Geometry Exam Review #1: Constructions and Vocab Copy an angle: 1. Place your compass on A, make any arc. Label the intersections of the arc and the sides of the angle B and C. 2. Compass on A, make

### Edge event: An edge shrinks to zero, making its neighboring edges adjacent. Split event: A reex vertex runs to this edge and splits it, thus split the

Reprinted from: Lazlo Szirmay-Kalos (ed.). Proceedings of Spring Conference on Computer Graphics, Budmerice, Slovakia. ISBN 80-223-0837-4. Pages 210{218. http://www.cgg.cvut.cz/publications/felkel sccg

### M243. Fall Homework 2. Solutions.

M43. Fall 011. Homework. s. H.1 Given a cube ABCDA 1 B 1 C 1 D 1, with sides AA 1, BB 1, CC 1 and DD 1 being parallel (can think of them as vertical ). (i) Find the angle between diagonal AC 1 of a cube

### Geometry Chapter 1. 1.1 Point (pt) 1.1 Coplanar (1.1) 1.1 Space (1.1) 1.2 Line Segment (seg) 1.2 Measure of a Segment

Geometry Chapter 1 Section Term 1.1 Point (pt) Definition A location. It is drawn as a dot, and named with a capital letter. It has no shape or size. undefined term 1.1 Line A line is made up of points