# 1 Point Inclusion in a Polygon

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 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 Polygon 1 An example of a typical decision problem is the problem of determining Inclusion in a polygon. One way is to draw a line from the given query point and compute the intersections of that line with the polygon. Find the number of intersection points on both sides of the query point. If the number is odd on both sides, the point is in the polygon, else it is out. This can clearly be done in O(n) time, where n is the number of vertices in the polygon. The best algorithm we ve discussed for point inclusion in a simple polygon takes O(n) time. A short review of this algorithm follows (leaving out degenerate cases). 1. Begin by drawing a line L through the point to be tested P 0. (Any line passing through the point will do). Also, initialize two counters Lef t and Right to zero. 2. Assuming you have the list of points of the simple polygon in clockwise order, start at the beginning and walk through the list of points, checking the following: (a) Check intersection between the line formed by the current point and the next point with the line L. If the lines intersect, check to which side of P 0 the intersection occurs. Increment the appropriate counter (Lef t or Right). This can be done in constant time. 3. In the end, if both counters Lef t and Right are odd, the point P 0 is inside the polygon, otherwise it is outside the polygon. 1 This section adapted from lecture 1, Spring

2 Since you execute a constant time step for each edge in the list, the algorithm is clearly O(n). Also, the problem has an easy to state lower bound of Ω(n) since unless you have checked each point, you could be wrong about whether or not the point was in the polygon. A class of polygons which is easier to handle is the class of convex polygons. As the name suggests, these polygons satisfy the property of convexity namely, if x, y P λx +(1 λ)y P for λ [0, 1]. Point inclusion in a convex polygon takes O(log n) time. Given a convex polygon P, we can always find a line which leaves P on one side. A line, which has the above property, and touches P is called a supporting line for P. So, a supporting line intersects the boundary but not the interior. Convex polygons can be characterized by the following properties: 1. Two disjoint convex polygons can always be separated by a line supporting one of them. 2. A convex polygon admits a supporting line at each vertex. The point inclusion problem becomes rather easy when we are in the realm of convex polygons. Let q be the query point and P be the given convex polygon, where the vertices are given in clockwise order around the boundary. Let y(q) denote the y-coordinate of q. The following steps are required for point inclusion: 1. Determine the points of the maximum and minimum y-coordinate. 2. Using binary search, isolate the two edges intersected by the line l, where l is y = y(q). 3. See if q lies between these two edges. Using the naive approach, step 1 requires O(n) time, step 2 O(log n), time and step 3 O(1) time. If step 1 could be performed in lesser time, the overall complexity would be reduced. To reduce that complexity, we use the following property exhibited by the y-coordinates of the points of a convex polygon. If we draw a graph of the index of each point vs. its y-coordinate, the resulting graph has at most one maxima and at most one minima. An example of this is shown in figure 1. The following procedure locates the vertex with the maximum y-coordinate: 2

3 y 1 n Figure 1: An example graph the y-coordinates of a convex hull Let y(1),...,y(n) be the y-coordinates. Compare y(1), y( n), y( 2n ) and y(n) and select the largest. 3 3 If the largest is y( n ) (resp. y( 2n )), then clearly the maximum 3 3 must lie somewhere in the first (resp. last) 2 entries and vice 3 versa. So we can rule out the last (resp. first) 1 entries. 3 If the largest is y(1) (resp. y(n)), then the maximum must lie in the first (resp. last) 1 entries, and thus 2 entries can be deleted. 3 3 This algorithm determines the maximum (minimum) entry in O(log3 n) 2 time which is O(log n). (Fine tuning this algorithm using Fibonnaci numbers improves the constant, but not the asymptotic complexity). 1.1 Relation to Other Problems The algorithm for point inclusion in convex polygons in O(log n) timecanbe generalized to run on any monotone polygon with respect to one dimension. A polygon is monotone in respect to the x-direction if it s intersection with any vertical line is or a single connected component. See figure 2 for an example of a monotone polygon and figure 3 for an example of a nonmonotone polygon. Since point inclusion in monotone polygons is O(log n), if we could spend time breaking a simple polygon into monotone polygons, we could do point 3

4 Figure 2: A monotone polygon Figure 3: An example of a polygon that is not monotone 4

5 inclusion in better than O(n) time, discounting the time spent preprocessing (which we do only do once). Many problems are easy not only for convex polygons but also for slightly more general classes of polygons. Here are a few important definitions: A polygonal chain is a sequence of vertices and edges joining adjacent vertices. A monotone chain is a polygonal chain for which there is a distinguished line l such that if its vertices are projected on l, then the order of the vertices is preserved. A monotone polygon is a polygon that can be split into two chains which are monotone with respect to a selected direction. A polygon P is said to be star shaped if there is a point q in its interior such that, for any point p P, the line segment joining p and q lies wholly within P. For a star shaped polygon P, the set of all points q having the above property (the set of points in the interior of P which can see all points of P) is called the kernel of P. The kernel is always a convex polygon and has at most n sides if P has n sides. It is important to note that inclusion is just as easy in monotone polygons as in convex polygons if you know the direction of monotonicity and the same holds for star shaped polygons if you know a point in the kernel. Another way to test for point inclusion in a simple polygon is to use Decomposition. Given a simple polygon, by adding diagonals joining vertices of the polygon which are interior to the polygon, it is possible to decompose the polygon into convex pieces, monotone pieces, or even triangles. To test for point inclusion, we could triangulate the polygon and then determine if the query point lies in one of the triangles interior to the polygon. For a simple polygon, a triangulation gives rise to O(n) triangles (Euler s theorem on planar graphs), and checking within a triangle takes only O(1) time (if a,b,c are the vertices of a triangle in counterclockwise order, check whether q lies to the left of each of ab, bc and ca). So, if the triangulation is provided, then inclusion testing can be done in O(n) time. The problem of triangulating a simple polygon, however, is a classic Computation Problem in computational geometry. The best known algorithm for the triangulation of a simple polygon takes O(n) due to an algorithm by Chazelle time and the lower bound is Ω(n). 5

6 2 Processing Simple Polygons into Monotone Regions 2.1 Approach The approach is this problem is to use a sweep line across the polygon from left to right and update a data structure corresponding to the current vertical components seen as you sweep across. While doing this, divide the simple polygon into monotone regions, putting them into a data structure that allows each region to be analyzed for point inclusion in O(log n) time and allows each region to know its neighbor regions as well. The goal of the algorithm is to create a O(n logn) time algorithm that sweeps the polygon, and at the end have a data structure and algorithm that allows point inclusion in the simple polygon to be decided in O(log n) time. 2.2 Data Structures Stopping Points To simulate a sweep line moving across the plane, a StoppingP oints data structure is needed. This holds the points where STATUS needs updated. It is keyed on lower x-coordinate (assume general position or break ties based on lower y-coordinate). Each point in StoppingP oints needs to have pointers or references to the two edges it is connected to. This could be implemented with pointers into a DLL (doubly-linked list) of vertices in clockwise (or counterclockwise) order. Some data structure to store the monotone polygons is needed. A doubly connected edge list DCEL would work. A DCEL has the following properties: 1. Any vertex has access to one edge that it is on. 2. Any face has access to one edge that surrounds it. 3. Any edge has access to 2 vertices and the face to it s right and the face to it s left STATUS A second data structure, a Balanced Binary Search Tree, that represents the current portion of the polygon the sweep line is currently crossing is needed 6

7 (the STATUS data structure) maintained using each intersecting the sweep line in its current position. STATUS is a BBST of edges, sorted based on relative y-position of edges. For our purposes and examples, lower y-coordinate edges will be to the left of edges with higher y-coordinates. Edges can be stored as 4-tuples <X min,x max,m,b > where the terms are the x-coordinates of the endpoints, the slope of the line and the intercept of the line. Either you could store edges in the leaf nodes of the tree, and use the internal nodes as decision nodes to reach the edge nodes, or you could leave all the data in the internal nodes. It will also be useful to cyclically link our edges (so that each edge knows the edges above and below it), so it is easier to use the tree with data stored in leaf nodes, though you could also doubly thread the other form of the tree. Each edge which has the interior of the polygon directly above it needs apointertoitshelper. This is defined as the point closest to the sweep line between this interior edge and the edge to it s right in STATUS. (This is used later in the section on critical points). It should be noted that the helper of an edge could point to its own vertex. 2.3 Algorithm Sketch As points are processed (off the StoppingP oints heap), 3 kinds of updates to STATUS are possible. 1. Put 2 new edges into STATUS. See figure Replace an edge within STATUS (adding old edge into DCEL). See figure Remove 2 edges from STATUS (adding old edges into DCEL) Note: these edges will be adjacent in STATUS. See figure 6. We now need the concept of critical vertices. These are the vertices that will have to be fixed in order to break the polygon into monotone regions. The first or the third kind of update to the BBST can be critical vertices. When the sweep line passes through those points (or, they are popped off the StoppingP oints heap), if these points are interior to the polygon, they are critical points. Testing interior is simple, once the node in STATUS is 7

8 Figure 4: Put 2 new edges in STATUS Figure 5: Replace an edge in STATUS found where the edges will be added, count the number of data nodes to the left and to the right of this node. If they are both odd, then the point is a critical point, otherwise it is not a critical point. See figure 7 for examples of critical points. While updating the helper field of lines in STATUS where the immediate region above them is interior to the polygon, you do two things to fix the critical points, and break the polygon into monotone regions. Call the critical point in figure 7 on the left a split and the one on the right a merge. A merge is easier to handle, you simply connect it to the helper of the line to the left in STATUS where the critical point is found. The method for handling splits is harder, since you can t see anything to the right of the sweep line yet. But, if whenever replacing a helper pointer that was not the endpoint of the line itself, you can connect the previous and new values of helper, you will connect the critical points together. Both of these connects are not simple procedures, since you have to connect edges, split faces, etc. in the DCEL output. Algorithm can be extended to simple polygon with holes by adding support for multiple linked lists of points representing boundaries of both the polygon and the holes. Figure 6: Remove 2 edges from STATUS 8

9 Figure 7: Examples of each kind of critical point Since for each n points in StoppingP oints, STATUS may have to be searched and updated, which takes O(log n) time, the algorithm takes a total of O(n log n) time.status never has more than n edges in it, since there are only n edges in the simple polygon, and StoppingP oints as well contains only the original vertices of the polygon, so the space complexity is O(n). 9

### Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (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

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

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

### Shortest Inspection-Path. Queries in Simple Polygons

Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote B 05-05 April 2005 Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,

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

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

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

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

### Voronoi Diagrams. (Slides mostly by Allen Miu)

Voronoi Diagrams (Slides mostly by Allen Miu) Post Office: What is the area of service? p i : site points q : free point e : Voronoi edge v : Voronoi vertex q p i v e Definition of Voronoi Diagram Let

### Persistent Data Structures

6.854 Advanced Algorithms Lecture 2: September 9, 2005 Scribes: Sommer Gentry, Eddie Kohler Lecturer: David Karger Persistent Data Structures 2.1 Introduction and motivation So far, we ve seen only ephemeral

### Persistent Data Structures and Planar Point Location

Persistent Data Structures and Planar Point Location Inge Li Gørtz Persistent Data Structures Ephemeral Partial persistence Full persistence Confluent persistence V1 V1 V1 V1 V2 q ue V2 V2 V5 V2 V4 V4

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

### 1 2-3 Trees: The Basics

CS10: Data Structures and Object-Oriented Design (Fall 2013) November 1, 2013: 2-3 Trees: Inserting and Deleting Scribes: CS 10 Teaching Team Lecture Summary In this class, we investigated 2-3 Trees in

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

### Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902

Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902 http://www.ms.uky.edu/~mschreffler Different Graphs, Similar Properties

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

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

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

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

### GRAPHING (2 weeks) Main Underlying Questions: 1. How do you graph points?

GRAPHING (2 weeks) The Rectangular Coordinate System 1. Plot ordered pairs of numbers on the rectangular coordinate system 2. Graph paired data to create a scatter diagram 1. How do you graph points? 2.

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

### The Essentials of CAGD

The Essentials of CAGD Chapter 2: Lines and Planes Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2000 Farin & Hansford

### Diffuse Reflection Radius in a Simple Polygon

Diffuse Reflection Radius in a Simple olygon Eli Fox-Epstein Csaba D. Tóth Andrew Winslow arxiv:1402.5303v3 [cs.cg] 17 May 2015 Abstract It is shown that every simple polygon in general position with n

### Pick s Theorem. Tom Davis Oct 27, 2003

Part I Examples Pick s Theorem Tom Davis tomrdavis@earthlink.net Oct 27, 2003 Pick s Theorem provides a method to calculate the area of simple polygons whose vertices lie on lattice points points with

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

### Art Gallery Theorems and Algorithms

Art Gallery Theorems and Algorithms Daniel G. Aliaga Computer Science Department Purdue University Art Gallery Problem: determine the minimum number of guards sufficient to cover the interior of an n-wall

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

### Point Location. Preprocess a planar, polygonal subdivision for point location queries. p = (18, 11)

Point Location Prerocess a lanar, olygonal subdivision for oint location ueries. = (18, 11) Inut is a subdivision S of comlexity n, say, number of edges. uild a data structure on S so that for a uery oint

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

### Lines That Pass Through Regions

: Student Outcomes Given two points in the coordinate plane and a rectangular or triangular region, students determine whether the line through those points meets the region, and if it does, they describe

### POLYGON PARTITIONS 1.1. INTRODUCTION

POLYGON PARTITIONS 1.1. INTRODUCTION In 1973, Victor Klee posed the problem of determining the minimum number of guards sufficient to cover the interior of an n-wall art gallery room (Honsberger 1976).

### A FIBONACCI TILING OF THE PLANE

A FIBONACCI TILING OF THE PLANE Charles W. Huegy Polygonics, 2 Mann St., Irvine, CA 92612-2709 Douglas B. West University of Illinois, Urbana, IL 61801-2975, west@math.uiuc.edu Abstract. We describe a

### Sum of Degrees of Vertices Theorem

Sum of Degrees of Vertices Theorem Theorem (Sum of Degrees of Vertices Theorem) Suppose a graph has n vertices with degrees d 1, d 2, d 3,...,d n. Add together all degrees to get a new number d 1 + d 2

### Lecture 3: Derivatives and extremes of functions

Lecture 3: Derivatives and extremes of functions Lejla Batina Institute for Computing and Information Sciences Digital Security Version: spring 2011 Lejla Batina Version: spring 2011 Wiskunde 1 1 / 16

### Lecture 8 : Coordinate Geometry. The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 20

Lecture 8 : Coordinate Geometry The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 0 distance on the axis and give each point an identity on the corresponding

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

### 5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

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

### Solutions to Homework 6

Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

### Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A.

1 Linear Transformations Prepared by: Robin Michelle King A transformation of an object is a change in position or dimension (or both) of the object. The resulting object after the transformation is called

### Natural Neighbour Interpolation

Natural Neighbour Interpolation DThe Natural Neighbour method is a geometric estimation technique that uses natural neighbourhood regions generated around each point in the data set. The method is particularly

### 28 Closest-Point Problems -------------------------------------------------------------------

28 Closest-Point Problems ------------------------------------------------------------------- Geometric problems involving points on the plane usually involve implicit or explicit treatment of distances

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

### A NOTE ON EDGE GUARDS IN ART GALLERIES

A NOTE ON EDGE GUARDS IN ART GALLERIES R. Nandakumar (nandacumar@gmail.com) Abstract: We study the Art Gallery Problem with Edge Guards. We give an algorithm to arrange edge guards to guard only the inward

### Euler Paths and Euler Circuits

Euler Paths and Euler Circuits An Euler path is a path that uses every edge of a graph exactly once. An Euler circuit is a circuit that uses every edge of a graph exactly once. An Euler path starts and

### Shortcut sets for plane Euclidean networks (Extended abstract) 1

Shortcut sets for plane Euclidean networks (Extended abstract) 1 J. Cáceres a D. Garijo b A. González b A. Márquez b M. L. Puertas a P. Ribeiro c a Departamento de Matemáticas, Universidad de Almería,

### Data Structure [Question Bank]

Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

### MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation

MATHEMATICAL ENGINEERING TECHNICAL REPORTS The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation Shinji IMAHORI, Mutsunori YAGIURA METR 2007 53 September 2007 DEPARTMENT

### 1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D. base address 2. The memory address of fifth element of an array can be calculated

### Cabri Geometry Application User Guide

Cabri Geometry Application User Guide Preview of Geometry... 2 Learning the Basics... 3 Managing File Operations... 12 Setting Application Preferences... 14 Selecting and Moving Objects... 17 Deleting

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### Connectivity and cuts

Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every

### SOLVING DATABASE QUERIES USING ORTHOGONAL RANGE SEARCHING

SOLVING DATABASE QUERIES USING ORTHOGONAL RANGE SEARCHING CPS234: Computational Geometry Prof. Pankaj Agarwal Prepared by: Khalid Al Issa (khalid@cs.duke.edu) Fall 2005 BACKGROUND : RANGE SEARCHING, a

### BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

Page 1 of?? ENG rectangle Rectangle Spoiler Solution of SQUARE For start, let s solve a similar looking easier task: find the area of the largest square. All we have to do is pick two points A and B and

### CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

### The Orthogonal Art Gallery Theorem with Constrained Guards

The Orthogonal Art Gallery Theorem with Constrained Guards T. S. Michael 1 Mathematics Department United States Naval Academy Annapolis, MD, U.S.A. Val Pinciu 2 Department of Mathematics Southern Connecticut

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

### Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore

Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No. # 02 Lecture No. # 05 Run-time Environments-Part 3 and Local Optimizations

### Graph Theory Problems and Solutions

raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

### Fast approximation of the maximum area convex. subset for star-shaped polygons

Fast approximation of the maximum area convex subset for star-shaped polygons D. Coeurjolly 1 and J.-M. Chassery 2 1 Laboratoire LIRIS, CNRS FRE 2672 Université Claude Bernard Lyon 1, 43, Bd du 11 novembre

### Part 2: Community Detection

Chapter 8: Graph Data Part 2: Community Detection Based on Leskovec, Rajaraman, Ullman 2014: Mining of Massive Datasets Big Data Management and Analytics Outline Community Detection - Social networks -

### A convex polygon is a polygon such that no line containing a side of the polygon will contain a point in the interior of the polygon.

hapter 7 Polygons A polygon can be described by two conditions: 1. No two segments with a common endpoint are collinear. 2. Each segment intersects exactly two other segments, but only on the endpoints.

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

### MA.7.G.4.2 Predict the results of transformations and draw transformed figures with and without the coordinate plane.

MA.7.G.4.2 Predict the results of transformations and draw transformed figures with and without the coordinate plane. Symmetry When you can fold a figure in half, with both sides congruent, the fold line

### Removing Local Extrema from Imprecise Terrains

Removing Local Extrema from Imprecise Terrains Chris Gray Frank Kammer Maarten Löffler Rodrigo I. Silveira Abstract In this paper we consider imprecise terrains, that is, triangulated terrains with a vertical

### Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li. Advised by: Dave Mount. May 22, 2014

Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li Advised by: Dave Mount May 22, 2014 1 INTRODUCTION In this report we consider the implementation of an efficient

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

### Topology. Shapefile versus Coverage Views

Topology Defined as the the science and mathematics of relationships used to validate the geometry of vector entities, and for operations such as network tracing and tests of polygon adjacency Longley

### Carroll County Public Schools Elementary Mathematics Instructional Guide (5 th Grade) August-September (12 days) Unit #1 : Geometry

Carroll County Public Schools Elementary Mathematics Instructional Guide (5 th Grade) Common Core and Research from the CCSS Progression Documents Geometry Students learn to analyze and relate categories

### 2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION

2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION A world-coordinate area selected for display is called a window. An area on a display device to which a window is mapped is called a viewport. The window

### The Geometer s Sketchpad: Non-Euclidean Geometry & The Poincaré Disk

The Geometer s Sketchpad: Non-Euclidean Geometry & The Poincaré Disk Nicholas Jackiw njackiw@kcptech.com KCP Technologies, Inc. ICTMT11 2013 Bari Overview. The study of hyperbolic geometry and non-euclidean

### EXPONENTS. To the applicant: KEY WORDS AND CONVERTING WORDS TO EQUATIONS

To the applicant: The following information will help you review math that is included in the Paraprofessional written examination for the Conejo Valley Unified School District. The Education Code requires

### Data Structures Fibonacci Heaps, Amortized Analysis

Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

### Section 1.8 Coordinate Geometry

Section 1.8 Coordinate Geometry The Coordinate Plane Just as points on a line can be identified with real numbers to form the coordinate line, points in a plane can be identified with ordered pairs of

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

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

### Transformations Worksheet. How many units and in which direction were the x-coordinates of parallelogram ABCD moved? C. D.

Name: ate: 1. Parallelogram ABC was translated to parallelogram A B C. 2. A shape is shown below. Which shows this shape transformed by a flip? A. B. How many units and in which direction were the x-coordinates

### Bisections and Reflections: A Geometric Investigation

Bisections and Reflections: A Geometric Investigation Carrie Carden & Jessie Penley Berry College Mount Berry, GA 30149 Email: ccarden@berry.edu, jpenley@berry.edu Abstract In this paper we explore a geometric

### CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

### Pro/ENGINEER Wildfire 5.0 Introduction to Surface Modeling

Introduction Several advanced surface types are available as listed below. Variable Section Sweep Boundary Blend Section to Surfaces Blend Surface to Surface Blend A surface is created by sweeping a single

### Maximizing Angle Counts for n Points in a Plane

Maximizing Angle Counts for n Points in a Plane By Brian Heisler A SENIOR RESEARCH PAPER PRESENTED TO THE DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE OF STETSON UNIVERSITY IN PARTIAL FULFILLMENT OF

### Section 1.1 Linear Equations: Slope and Equations of Lines

Section. Linear Equations: Slope and Equations of Lines Slope The measure of the steepness of a line is called the slope of the line. It is the amount of change in y, the rise, divided by the amount of

### A fast and robust algorithm to count topologically persistent holes in noisy clouds

A fast and robust algorithm to count topologically persistent holes in noisy clouds Vitaliy Kurlin Durham University Department of Mathematical Sciences, Durham, DH1 3LE, United Kingdom vitaliy.kurlin@gmail.com,

### Mathematical Induction. Mary Barnes Sue Gordon

Mathematics Learning Centre Mathematical Induction Mary Barnes Sue Gordon c 1987 University of Sydney Contents 1 Mathematical Induction 1 1.1 Why do we need proof by induction?.... 1 1. What is proof by

### 5.1 Midsegment Theorem and Coordinate Proof

5.1 Midsegment Theorem and Coordinate Proof Obj.: Use properties of midsegments and write coordinate proofs. Key Vocabulary Midsegment of a triangle - A midsegment of a triangle is a segment that connects

### Area. Area Overview. Define: Area:

Define: Area: Area Overview Kite: Parallelogram: Rectangle: Rhombus: Square: Trapezoid: Postulates/Theorems: Every closed region has an area. If closed figures are congruent, then their areas are equal.

### Mathematics Geometry Unit 1 (SAMPLE)

Review the Geometry sample year-long scope and sequence associated with this unit plan. Mathematics Possible time frame: Unit 1: Introduction to Geometric Concepts, Construction, and Proof 14 days This

### External-Memory Algorithms for Processing Line Segments in Geographic Information Systems

BRICS RS-96-12 Arge et al.: External-Memory Algorithms for Processing Line Segments in GIS BRICS Basic Research in Computer Science External-Memory Algorithms for Processing Line Segments in Geographic

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

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

### CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

### Chapter 6 Notes: Circles

Chapter 6 Notes: Circles IMPORTANT TERMS AND DEFINITIONS A circle is the set of all points in a plane that are at a fixed distance from a given point known as the center of the circle. Any line segment

### angle Definition and illustration (if applicable): a figure formed by two rays called sides having a common endpoint called the vertex

angle a figure formed by two rays called sides having a common endpoint called the vertex area the number of square units needed to cover a surface array a set of objects or numbers arranged in rows and

### SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM ALEX WRIGHT 1. Intoduction A fixed point of a function f from a set X into itself is a point x 0 satisfying f(x 0 ) = x 0. Theorems which establish the

### Simplification of Nonconvex Tetrahedral Meshes

Simplification of Nonconvex Tetrahedral Meshes Martin Kraus and Thomas Ertl Visualization and Interactive Systems Group, Institut für Informatik, Universität Stuttgart, Breitwiesenstr. 20 22, 70565 Suttgart,