How Good Are Convex Hull Algorithms?

Total Page:16

File Type:pdf, Size:1020Kb

How Good Are Convex Hull Algorithms? How Go o d are Convex Hull Algorithms David Bremner David Avis Scho ol of Computer Science Scho ol of Computer Science McGill University McGill University Montreal QC CANADA HA A Montreal QC CANADA HA A y Raimund Seidel Fachberich Informatik Computer Science Division Universitat des Saarlandes University of California Berkeley D Saarbruc ken GERMANY Berkeley CA February Abstract A convex polytope P can b e sp ecied in twoways as the convex hull of the vertex set V of P orastheintersection of the set H of its facetinducing halfspaces The vertex enumeration problem is to compute V from H The facet enumer ation problem it to compute H from V These two problems are essentially equivalent under p ointhyp erplane duality They are among the central computational problems in the theory of p olytop es It is op en whether they can b e solved in time p olynomial in jH j jV j In this pap er we consider the main known classes of algorithms for solving these problems We argue that they all have at least one of twoweaknesses inabilitytodealwell with degen eracies or inabilitytocontrol the sizes of intermediate results Wethenintro duce families of p olytop es that exercise those weaknesses Roughly sp eaking fatlattice or intricate p olytop es cause algorithms with bad degeneracy handling to p erform badly dwarfed p olytop es cause al gorithms with bad intermediate size control to p erform badly We also present computational exp erience with trying to solve these problem on these hard p olytop es using various implementations of the main algorithms Intro duction A ddimensional convex polyhedron is the intersection of a nite number m of nonredundant halfs d g of IR A b ounded convex p olyhedron is called a polytope A classic paces H f H H H m theorem from convexity states that every p olytop e P can be expressed as the convex hull of its n extreme p oints or vertices V These descriptions of P will b e referred to as the halfspace and Supp orted byNSERC Canada and FCAR Queb ec Email avisbremnercsmcgillca y Supp orted by NSF Presidential Young Investigator award CCR Email seidelcsunisbde vertex descriptions resp ectively The size of a p olytop e denoted size P m nd is the space required to store b oth descriptions of a p olytop e There are three closely related computational problems concerning the two descriptions of a p olytop e The vertex enumeration problem asks to compute V from H The facet enumeration problem asks to compute H from V The polytope verication problem asks to decide whether a given vertex description V and halfspace description H dene the same p olytop e If redundant elements are allowed as inputs to the p olytop e verication problem then all three problems are p olynomially equivalent The rst two problems are equivalent under p ointhyp erplane duality Either of the rst two can be trivially used to solve the third To solve eg vertex enumeration using p olytop e verication verify that all vertices have b een found for each facet of P If not recurse on that facet In at most djH j p olytop e verication calls the algorithm nds a new vertex This pap er will not b e concerned with the p olytop e verication problem p er se but with vertex enumeration and facet enumeration We already stated that these two problems are essentially equivalent under pointhyp erplane duality Thus it would suce if we restricted the discussion to just one of those two However some asp ects and phenomena are more easily describ ed in the context of facet enumeration others more easily in the context of vertex enumeration For that reason we will feel free to switchback and forth b etween those two problems with the understanding that all examples and results stated for vertex enumeration also hold appropriately dualized for the facet enumeration problem and vice versa Howev er most of the ensuing discussions will b e in terms of vertex enumeration We are interested in the computational dicultyofvertex enumeration When measuring the eciency of a vertex enumeration algorithm it is imp ortantto take into account the vast p ossible variation in output size By the upp er and lower b ound theorems of McMullen and Barnette d a p olytop e P sp ecied as the intersection of m halfspaces in IR can have as few as d mm dd vertices in the nonsimple case even fewer and as manyas m bd c m bd c d m b dc b d c This large p ossible range suggests that the p erformance of vertex enumeration algorithms b e mea sured not only in terms of input size dm but also in terms of output size dn where n is the number of vertices pro duced An outstanding question from b oth a theoretical and a practical p oint of view is whether vertex enumeration can b e solved in time p olynomial in input size dm and output size dn or equivalently p olynomial in size P dm n One of the central purp oses of this pap er is to show that all known main typ es of vertex enumeration algorithms actually do have sup erp olynomial worst case Actuallyinsomeways it would b e more elegant to apply homogenization and frame our discussion in terms of extreme ray and facet enumeration for p olyhedral cones We will refrain from doing so mainly since the ane setting providesbetterintuition For the most part we will ignore the issue of unb oundedness and extreme rays although it has some asp ects that are interesting in their own right running time This is done by providing explicit example families of p olytop es for which the various algorithms p erform p o orly We also corrob orate those ndings by computational exp eriments At this point a comparison to the situation in Linear Programming may be called for Ob viously Linear Programming and vertex enumeration are closely related The title of our pap er was inspired by the famous pap er of Klee and Minty where they showed that the simplex algorithm with a certain natural pivoting rule can have sup erp olynomial running time Our goal is more ambitious in that wewanttoshow sup erp olynomial running time not just for one sp ecic algorithm but for all known main classes of vertex enumeration algorithms At the same time our ndings are more devastating since in contrast to the simplex algorithm which on problems arising in practice essen tially never exhibits its p ossible worst case b ehaviour our exp erience suggests that vertex enumeration algorithms do exhibit their sup erp olynomial worst case b ehaviour on problems arising in practice see eg Fortunately vertex enumeration as a problem arises muchless frequently than linear programming Still we want to stress that contrary to prevailing opinions in the computational geometry community the current situation with resp ect to vertex and facet enumeration is unsatisfying b oth in the practical and in the theoretical sense In Linear Program ming the current state of aairs app ears to be somewhat satisfactory for practical purp oses and of course from a theoretical p oint of view there are p olynomial algorithms for Linear Programming in the bit mo del of computation The main algorithms Geometrically the main vertex enumeration algorithms can all b e viewed as not just generating all vertices of a polytope P but actually the skeleton of P ie the graph formed by P s v ertices and edges Dually facet enumeration algorithms can be viewed as generating the facet graph ie a graph whose no des are the facets of the p olytop e and with two facets adjacent i they share a common ridge In essence there are only two main classes of algorithms for pro ducing these graphs graph traversal algorithms and incremental algorithms The graph traversal algorithms rst nd some no de of the graph in question and then attempt to identify all no des and edges of the graph bytraversing it in some fashion In the case of vertex enumeration eachvertex v of a dp olytop e P can b e identied bya basis ie d facets that contain v and whose spanning hyp erplanes are anely indep endent Two vertices of P are connected by an edge of P if they have bases that dier in exactly one member Going from a vertex to an adjacent one during the graph traversal amounts to changing this one member of the basis This op eration is known as pivoting in the simplex algorithm for linear programming For this reason graph traversal algorithms for vertex enumeration are also known as pivoting algorithms In the context of facet enumeration going from one facet to a neighb oring can be viewed as rotating a supp orting hyp erplane ab out the common ridge In analogy to a dimensional physical realization giftwrapping step this op eration is therefore known as a Representatives of this class of graph traversal algorithms are the gift wrapping algorithm of Chand and Kapur Seidels algorithm and the reverse search algorithm of Avis and Fukuda Incremental algorithms for the vertex enumeration problem compute the vertex description by intersecting the dening halfspaces sequentially An initial simplex is constructed from a subset of d halfspaces and its vertices and skeleton are computed Additional halfspaces are intro duced sequentially and the vertex description and skeleton are up dated at each stage Essentially suchan up date amounts to identifying and removing all vertices that are not contained in the new halfspace intro ducing new vertices for all intersections between edges and the b ounding hyp erplane of the new halfspace and generating the new edges b etween these new vertices Although the rst explicit description of such an algorithm now widely known as the double description method app eared in the pioneering
Recommended publications
  • Computational Geometry – Problem Session Convex Hull & Line Segment Intersection
    Computational Geometry { Problem Session Convex Hull & Line Segment Intersection LEHRSTUHL FUR¨ ALGORITHMIK · INSTITUT FUR¨ THEORETISCHE INFORMATIK · FAKULTAT¨ FUR¨ INFORMATIK Guido Bruckner¨ 04.05.2018 Guido Bruckner¨ · Computational Geometry { Problem Session Modus Operandi To register for the oral exam we expect you to present an original solution for at least one problem in the exercise session. • this is about working together • don't worry if your idea doesn't work! Guido Bruckner¨ · Computational Geometry { Problem Session Outline Convex Hull Line Segment Intersection Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S. Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S. Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S. In physics: Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S.
    [Show full text]
  • A General Geometric Construction of Coordinates in a Convex Simplicial Polytope
    A general geometric construction of coordinates in a convex simplicial polytope ∗ Tao Ju a, Peter Liepa b Joe Warren c aWashington University, St. Louis, USA bAutodesk, Toronto, Canada cRice University, Houston, USA Abstract Barycentric coordinates are a fundamental concept in computer graphics and ge- ometric modeling. We extend the geometric construction of Floater’s mean value coordinates [8,11] to a general form that is capable of constructing a family of coor- dinates in a convex 2D polygon, 3D triangular polyhedron, or a higher-dimensional simplicial polytope. This family unifies previously known coordinates, including Wachspress coordinates, mean value coordinates and discrete harmonic coordinates, in a simple geometric framework. Using the construction, we are able to create a new set of coordinates in 3D and higher dimensions and study its relation with known coordinates. We show that our general construction is complete, that is, the resulting family includes all possible coordinates in any convex simplicial polytope. Key words: Barycentric coordinates, convex simplicial polytopes 1 Introduction In computer graphics and geometric modelling, we often wish to express a point x as an affine combination of a given point set vΣ = {v1,...,vi,...}, x = bivi, where bi =1. (1) i∈Σ i∈Σ Here bΣ = {b1,...,bi,...} are called the coordinates of x with respect to vΣ (we shall use subscript Σ hereafter to denote a set). In particular, bΣ are called barycentric coordinates if they are non-negative. ∗ [email protected] Preprint submitted to Elsevier Science 3 December 2006 v1 v1 x x v4 v2 v2 v3 v3 (a) (b) Fig.
    [Show full text]
  • Gscan: Accelerating Graham Scan on The
    gScan:AcceleratingGrahamScanontheGPU Gang Mei Institute of Earth and Environmental Science, University of Freiburg Albertstr.23B, D-79104, Freiburg im Breisgau, Germany E-mail: [email protected] Abstract This paper presents a fast implementation of the Graham scan on the GPU. The proposed algorithm is composed of two stages: (1) two rounds of preprocessing performed on the GPU and (2) the finalization of finding the convex hull on the CPU. We first discard the interior points that locate inside a quadrilateral formed by four extreme points, sort the remaining points according to the angles, and then divide them into the left and the right regions. For each region, we perform a second round of filtering using the proposed preprocessing approach to discard the interior points in further. We finally obtain the expected convex hull by calculating the convex hull of the remaining points on the CPU. We directly employ the parallel sorting, reduction, and partitioning provided by the library Thrust for better efficiency and simplicity. Experimental results show that our implementation achieves 6x ~ 7x speedups over the Qhull implementation for 20M points. Keywords: GPU, CUDA, Convex Hull, Graham Scan, Divide-and-Conquer, Data Dependency 1.Introduction Given a set of planar points S, the 2D convex hull problem is to find the smallest polygon that contains all the points in S. This problem is a fundamental issue in computer science and has been studied extensively. Several classic convex hull algorithms have been proposed [1-7]; most of them run in O(nlogn) time. Among them, the Graham scan algorithm [1] is the first practical convex hull algorithm, while QuickHull [7] is the most efficient and popular one in practice.
    [Show full text]
  • Geometric Algorithms
    Geometric Algorithms primitive operations convex hull closest pair voronoi diagram References: Algorithms in C (2nd edition), Chapters 24-25 http://www.cs.princeton.edu/introalgsds/71primitives http://www.cs.princeton.edu/introalgsds/72hull 1 Geometric Algorithms Applications. • Data mining. • VLSI design. • Computer vision. • Mathematical models. • Astronomical simulation. • Geographic information systems. airflow around an aircraft wing • Computer graphics (movies, games, virtual reality). • Models of physical world (maps, architecture, medical imaging). Reference: http://www.ics.uci.edu/~eppstein/geom.html History. • Ancient mathematical foundations. • Most geometric algorithms less than 25 years old. 2 primitive operations convex hull closest pair voronoi diagram 3 Geometric Primitives Point: two numbers (x, y). any line not through origin Line: two numbers a and b [ax + by = 1] Line segment: two points. Polygon: sequence of points. Primitive operations. • Is a point inside a polygon? • Compare slopes of two lines. • Distance between two points. • Do two line segments intersect? Given three points p , p , p , is p -p -p a counterclockwise turn? • 1 2 3 1 2 3 Other geometric shapes. • Triangle, rectangle, circle, sphere, cone, … • 3D and higher dimensions sometimes more complicated. 4 Intuition Warning: intuition may be misleading. • Humans have spatial intuition in 2D and 3D. • Computers do not. • Neither has good intuition in higher dimensions! Is a given polygon simple? no crossings 1 6 5 8 7 2 7 8 6 4 2 1 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 2 18 4 18 4 19 4 19 4 20 3 20 3 20 1 10 3 7 2 8 8 3 4 6 5 15 1 11 3 14 2 16 we think of this algorithm sees this 5 Polygon Inside, Outside Jordan curve theorem.
    [Show full text]
  • 1 Lifts of Polytopes
    Lecture 5: Lifts of polytopes and non-negative rank CSE 599S: Entropy optimality, Winter 2016 Instructor: James R. Lee Last updated: January 24, 2016 1 Lifts of polytopes 1.1 Polytopes and inequalities Recall that the convex hull of a subset X n is defined by ⊆ conv X λx + 1 λ x0 : x; x0 X; λ 0; 1 : ( ) f ( − ) 2 2 [ ]g A d-dimensional convex polytope P d is the convex hull of a finite set of points in d: ⊆ P conv x1;:::; xk (f g) d for some x1;:::; xk . 2 Every polytope has a dual representation: It is a closed and bounded set defined by a family of linear inequalities P x d : Ax 6 b f 2 g for some matrix A m d. 2 × Let us define a measure of complexity for P: Define γ P to be the smallest number m such that for some C s d ; y s ; A m d ; b m, we have ( ) 2 × 2 2 × 2 P x d : Cx y and Ax 6 b : f 2 g In other words, this is the minimum number of inequalities needed to describe P. If P is full- dimensional, then this is precisely the number of facets of P (a facet is a maximal proper face of P). Thinking of γ P as a measure of complexity makes sense from the point of view of optimization: Interior point( methods) can efficiently optimize linear functions over P (to arbitrary accuracy) in time that is polynomial in γ P . ( ) 1.2 Lifts of polytopes Many simple polytopes require a large number of inequalities to describe.
    [Show full text]
  • The Orientability of Small Covers and Coloring Simple Polytopes
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Osaka City University Repository Nakayama, H. and Nishimura, Y. Osaka J. Math. 42 (2005), 243–256 THE ORIENTABILITY OF SMALL COVERS AND COLORING SIMPLE POLYTOPES HISASHI NAKAYAMA and YASUZO NISHIMURA (Received September 1, 2003) Abstract Small Cover is an -dimensional manifold endowed with a Z2 action whose or- bit space is a simple convex polytope . It is known that a small cover over is characterized by a coloring of which satisfies a certain condition. In this paper we shall investigate the topology of small covers by the coloring theory in com- binatorics. We shall first give an orientability condition for a small cover. In case = 3, an orientable small cover corresponds to a four colored polytope. The four color theorem implies the existence of orientable small cover over every simple con- vex 3-polytope. Moreover we shall show the existence of non-orientable small cover over every simple convex 3-polytope, except the 3-simplex. 0. Introduction “Small Cover” was introduced and studied by Davis and Januszkiewicz in [5]. It is a real version of “Quasitoric manifold,” i.e., an -dimensional manifold endowed with an action of the group Z2 whose orbit space is an -dimensional simple convex poly- tope. A typical example is provided by the natural action of Z2 on the real projec- tive space R whose orbit space is an -simplex. Let be an -dimensional simple convex polytope. Here is simple if the number of codimension-one faces (which are called “facets”) meeting at each vertex is , equivalently, the dual of its boundary complex ( ) is an ( 1)-dimensional simplicial sphere.
    [Show full text]
  • Optimal Output-Sensitive Convex Hull Algorithms in Two and Three Dimensions*
    Discrete Comput Geom 16:361-368 (1996) GeometryDiscrete & Computational ~) 1996Springer-Verlag New YorkInc. Optimal Output-Sensitive Convex Hull Algorithms in Two and Three Dimensions* T. M. Chan Department of Computer Science, University of British Columbia, Vancouver, British Columbia, Canada V6T 1Z4 Abstract. We present simple output-sensitive algorithms that construct the convex hull of a set of n points in two or three dimensions in worst-case optimal O (n log h) time and O(n) space, where h denotes the number of vertices of the convex hull. 1. Introduction Given a set P ofn points in the Euclidean plane E 2 or Euclidean space E 3, we consider the problem of computing the convex hull of P, cony(P), which is defined as the smallest convex set containing P. The convex hull problem has received considerable attention in computational geometry [11], [21], [23], [25]. In E 2 an algorithm known as Graham's scan [15] achieves O(n logn) rtmning time, and in E 3 an algorithm by Preparata and Hong [24] has the same complexity. These algorithms are optimal in the worst case, but if h, the number of hull vertices, is small, then it is possible to obtain better time bounds. For example, in E 2, a simple algorithm called Jarvis's march [ 19] can construct the convex hull in O(nh) time. This bound was later improved to O(nlogh) by an algorithm due to Kirkpatrick and Seidel [20], who also provided a matching lower bound; a simplification of their algorithm has been recently reported by Chan et al.
    [Show full text]
  • A Framework for Multi-Core Implementations of Divide and Conquer Algorithms and Its Application to the Convex Hull Problem ∗
    CCCG 2008, Montr´eal, Qu´ebec, August 13–15, 2008 A Framework for Multi-Core Implementations of Divide and Conquer Algorithms and its Application to the Convex Hull Problem ∗ Stefan N¨aher Daniel Schmitt † Abstract 2 Divide and Conquer Algorithms We present a framework for multi-core implementations Divide and conquer algorithms solve problems by di- of divide and conquer algorithms and show its efficiency viding them into subproblems, solving each subprob- and ease of use by applying it to the fundamental geo- lem recursively and merging the corresponding results metric problem of computing the convex hull of a point to a complete solution. All subproblems have exactly set. We concentrate on the Quickhull algorithm intro- the same structure as the original problem and can be duced in [2]. In general the framework can easily be solved independently from each other, and so can eas- used for any D&C-algorithm. It is only required that ily be distributed over a number of parallel processes the algorithm is implemented by a C++ class imple- or threads. This is probably the most straightforward menting the job-interface introduced in section 3 of this parallelization strategy. However, in general it can not paper. be guaranteed that always enough subproblems exist, which leads to non-optimal speedups. This is in partic- 1 Introduction ular true for the first divide step and the final merging step but is also a problem in cases where the recur- Performance gain in computing is no longer achieved sion tree is unbalanced such that the number of open by increasing cpu clock rates but by multiple cpu cores sub-problems is smaller than the number of available working on shared memory and a common cache.
    [Show full text]
  • On the Ekeland Variational Principle with Applications and Detours
    Lectures on The Ekeland Variational Principle with Applications and Detours By D. G. De Figueiredo Tata Institute of Fundamental Research, Bombay 1989 Author D. G. De Figueiredo Departmento de Mathematica Universidade de Brasilia 70.910 – Brasilia-DF BRAZIL c Tata Institute of Fundamental Research, 1989 ISBN 3-540- 51179-2-Springer-Verlag, Berlin, Heidelberg. New York. Tokyo ISBN 0-387- 51179-2-Springer-Verlag, New York. Heidelberg. Berlin. Tokyo No part of this book may be reproduced in any form by print, microfilm or any other means with- out written permission from the Tata Institute of Fundamental Research, Colaba, Bombay 400 005 Printed by INSDOC Regional Centre, Indian Institute of Science Campus, Bangalore 560012 and published by H. Goetze, Springer-Verlag, Heidelberg, West Germany PRINTED IN INDIA Preface Since its appearance in 1972 the variational principle of Ekeland has found many applications in different fields in Analysis. The best refer- ences for those are by Ekeland himself: his survey article [23] and his book with J.-P. Aubin [2]. Not all material presented here appears in those places. Some are scattered around and there lies my motivation in writing these notes. Since they are intended to students I included a lot of related material. Those are the detours. A chapter on Nemyt- skii mappings may sound strange. However I believe it is useful, since their properties so often used are seldom proved. We always say to the students: go and look in Krasnoselskii or Vainberg! I think some of the proofs presented here are more straightforward. There are two chapters on applications to PDE.
    [Show full text]
  • Convex Hull in 3 Dimensions
    CONVEX HULL IN 3 DIMENSIONS PETR FELKEL FEL CTU PRAGUE [email protected] https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg], [Preparata], [Rourke] and [Boissonnat] Version from 16.11.2017 Talk overview Upper bounds for convex hull in 2D and 3D Other criteria for CH algorithm classification Recapitulation of CH algorithms Terminology refresh Convex hull in 3D – Terminology – Algorithms • Gift wrapping • D&C Merge • Randomized Incremental www.cguu.com www.cguu.com Computational geometry (2 / 41) Upper bounds for Convex hull algorithms O(n) for sorted points and for simple polygon 2 3 O(n log n) in E ,E with sorting – insensitive about output O(n h), O(n logh), h is number of CH facets – output sensitive –O(n2) or O(n logn) for n ~ h O(log n) for new point insertion in realtime algs. => O(n log n) for n-points O(log n) search where to insert Computational geometry (3 / 41) Other criteria for CH algorithm classification Optimality – depends on data order (or distribution) In the worst case x In the expected case Output sensitivity – depends on the result ~ O(f(h)) Extendable to higher dimensions? Off-line versus on-line – Off-line – all points available, preprocessing for search speedup – On-line – stream of points, new point pi on demand, just one new point at a time, CH valid for {p1,p2 ,…, pi } – Real-time – points come as they “want” (come not faster than optimal constant O(log n) inter-arrival delay) Parallelizable x serial Dynamic – points can be deleted Deterministic x approximate (lecture 13) Computational
    [Show full text]
  • Generating Combinatorial Complexes of Polyhedral Type
    transactions of the american mathematical society Volume 309, Number 1, September 1988 GENERATING COMBINATORIAL COMPLEXES OF POLYHEDRAL TYPE EGON SCHULTE ABSTRACT. The paper describes a method for generating combinatorial com- plexes of polyhedral type. Building blocks B are implanted into the maximal simplices of a simplicial complex C, on which a group operates as a combinato- rial reflection group. Of particular interest is the case where B is a polyhedral block and C the barycentric subdivision of a regular incidence-polytope K together with the action of the automorphism group of K. 1. Introduction. In this paper we discuss a method for generating certain types of combinatorial complexes. We generalize ideas which were recently applied in [23] for the construction of tilings of the Euclidean 3-space E3 by dodecahedra. The 120-cell {5,3,3} in the Euclidean 4-space E4 is a regular convex polytope whose facets and vertex-figures are dodecahedra and 3-simplices, respectively (cf. Coxeter [6], Fejes Toth [12]). When the 120-cell is centrally projected from some vertex onto the 3-simplex T spanned by the neighboured vertices, then a dissection of T into dodecahedra arises (an example of a central projection is shown in Figure 1). This dissection can be used as a building block for a tiling of E3 by dodecahedra. In fact, in the barycentric subdivision of the regular tessellation {4,3,4} of E3 by cubes each 3-simplex can serve as as a fundamental region for the symmetry group W of {4,3,4} (cf. Coxeter [6]). Therefore, mapping T affinely onto any of these 3-simplices and applying all symmetries in W turns the dissection of T into a tiling T of the whole space E3.
    [Show full text]
  • An Overview of Computational Geometry
    An Overview of Computational Geometry Alex Scheffelin Contents 1 Abstract 2 2 Introduction 3 2.1 Basic Definitions . .3 3 Floating Point Error 4 3.1 Imprecision in Floating Point Operations . .4 3.2 Precision in the Calculation of the Area of a Polygon . .5 4 Speed 7 4.1 Big O Notation . .7 4.2 A More Efficient Algorithm to Calculate Intersections of Lines . .8 4.3 Recap on Speed . 15 5 How Can Pure Mathematics Influence Computational Geometry? 16 5.1 Point in Polygon Calculation . 16 5.2 Why Do We Care? . 19 6 Convex Hull Algorithms 19 6.1 What is a Convex Hull . 19 6.2 The Jarvis March Algorithm . 19 6.3 The Graham Scan Algorithm . 21 6.4 Other Efficient Algorithms . 22 6.5 Generalizations to the Convex Hull . 23 7 Conclusion 23 1 1 Abstract Computational geometry is an applied math field which can be described as the intersection of geometry and computer science. It has many real world applications, including in 3D mod- elling programs, graphics processing, etc. We will provide an overview of the methodology of computational geometry in the limited case of 2D objects, culminating in the discussion of the construction of convex hulls, a type of polygon in the plane which is determined by a set of points. Along the way we will try to explain some unique difficulties one faces when using a computer to compute things, and attempt to highlight the methods of proof used. 2 2 Introduction 2.1 Basic Definitions I will define a few geometric objects, and give example about how one might represent them in a computer.
    [Show full text]