Lecture 3 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13

Size: px
Start display at page:

Download "Lecture 3 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13"

Transcription

1 Lecture 3 (CGAL) Panos Giannopoulos Dror Atariah AG TI WS 2012/13

2 Exercises?

3 Outline Convex Hull in 3d Polyhedra and the Half Edge (or DCEL) data structure Exercise 3 3

4 stated above each λi is non-negative and the sum of convex combination. In Chapter 1 we defined the con as the smallest convex set containing the points or m section of all convex sets containing the points. One of a set of points is exactly the set of all possible Convex hull of n points is a hull convex polytope: the points. We can therefore test whether a mixture base mixtures computing the convex hull of their r n by vertices (points) a planar polygon is equal to the number Section 11.1 checking whether the point representing the mixture 2n 4 facets true; the number of edges of a polytope THE COMPLEXITY CONVEX HULLS What if there areof more than two interesting com es. But fortunately the difference cannot IN 3-SPACE 3nhave 6said edges Well what we above remains true; we just h ing theorem on the number of edges and higher dimension. More precisely if we want to take d a facet of a convex polytope is defined we have to represent a mixture by a point in d-dimen edge nts on its boundary. A facet of a convex hull of the points representing the base mixtures wh on. An edge of a convex polytope is an represents the set of all possible mixtures. Convex Hull in 3d Convex hulls in particular convex hulls in 3-dimens ytope with n vertices. The number of various applications. For instance they are used to sp vertex umber of facets of P is at most 2n 4. in computer animation. Suppose that we want to chec If the answer to this question is nega facet es for a connected planar graph with n and P2 intersect. the following strategy pays off. Approximate the ob ng relation holds:!1 and P!2 that contain the originals. If we want to c P!1 and P!2 intersect; + n f = 2. intersect we first check whether P we need to perform the supposedly more costly te 4

5 Convex Hull in 3d Theorem The convex hull of a set of n points in R3 can be computed in O(n log n) time. Here: O(n2 )-time algorithm 5

6 Convex Hull in 3d Input: P ( R3 P = n Output: CH(P) 1. Choose 4 points that are NOT coplanar. (Their convex hull is a tetrahedron.) Let P4 = {p1... p4 } be these points. C CH(P4 ). 2. Let Pr = {p1... pr } for r 1. (p5... pn are the remaining points.) For r 5 to n Add pr to CH(Pr 1 ). (construct CH(Pr ) from CH(Pr 1 ).) C CH(Pr ). 3. Return C. 6

7 of P using a randomized incremental algorithm following the paradigm we have met before in Chapters 4 6 and 9. Convex Hull in 3d The incremental construction starts by choosing four points in P that do not lie in a common plane so that their convex hull is a tetrahedron. This can be done as follows. Let p1 and p2 be two points in P. We walk through the set P until we find a point p3 that does not lie on the line through p1 and p2. We continue searching P until we find a point p4 that does not lie in the plane through p1 p2 and p3. (If we cannot find four such points r 1then all points in P lie in a plane. In this case we can use the planar convex hull algorithm of Chapter 1 to compute the convex hull.) Next we compute a random permutation p5... pn of the remaining points. We will consider the points one by one in this random order maintaining the convex hull as we go. For an integer r! 1 let Pr := {p1... pr }. In a generic step of the algorithm r 1 we have to add the point pr to the convex hull of Pr 1 that is we have to transform CH(Pr 1 ) into CH(Pr ). There are two cases. Add pr to CH(Pr 1 ): visible region (Pr 1 ) 1 ). We re 11.2 btained ection. ane h f pletely ce f is er side 1. If pr lies inside (or on the boudary of) CH(P then CH(Pr ) = CH(Pr 1 ). ) 2. If pr lies outside CH(Pr 1 ) find11.2 visible region of pr on CH(P ) (test every facet) Section COMPUTING CONVEXregion HULLS IN of visible facets enclosed by the horizon). (connected 3- SPACE If pr lies inside CH(Pr 1 ) or on its boundary then CH(Pr ) = CH(Pr 1 ) and there is nothing to be done. Horizon Visibility hf p f q horizon pr Figure 11.2 f is visible fromthep horizon of a polytope H(Pr 1 ) but not from q hat can 3. Replace visible region by facets (triangles) connecting pr standing to Now suppose that pr lies outside CH(P r 1 ). Imagine that you are 246 at pr and that you are looking at CH(Pr 1 ). You will be able to see some must be it s horizon. facets 7

8 we store the convex hull in the form of a doubly-connected edge list a data structure developed Convex HullininChapter 3d 2 for storing planar subdivisions. The only difference is that vertices will now be 3-dimensional points. We will keep the convention that thevisible half-edgesregion are directed that the ones boundingconnecting any face 3. Replace bysuch facets (triangles) pr to form ait s counterclockwise horizon: cycle when seen from the outside of the polytope. pr CH(Pr 1 ) pr facets: we have to check Figure whether 11.3 we ha Chapter 11 CH(P ) Adding r happens if pr lies in the plane of aapoint facetoofth CONVEX HULLS from pr by our definition of visibility ab to the addition pr to new the convex hull. We have their a doubly-connected 4.Back Note: Mergeofany triangle with co-planar faces of and we willinto adda triangles connecting pr edge list representing CH(P ) which we have to transform doublyr 1 CH(P ) (if any). r 1 Those triangles are coplanar w connected edge list for CH(Pr ). Suppose that wehorizon. knew all facets of CH(P ) r 1 f r to remove all the information stored visible from pr. Then it would be peasy with f into one facet. for these facets from the doubly-connected edge list compute the new facets connecting pr to the horizon and store the information for the new facets in the Intime theindiscussion so far we have ignored doubly-connected edge list. All this will take linear the total complexity CH(Pr 1 ) that are visible from pr. Of of the facets that disappear. There is one subtlety we should take care of every after thefacet. addition of thesuch new a test takes const FU Berlin Lecture 3 (CGAL) WS 2012/13 8 Since

9 Proof. Recall that Euler s formula states for a connected planar graph with n nodes ne arcs and n f faces the following relation holds: facet Polyhedra and Half Edge (or DCEL) data structure n ne + n f = 2. Since we can interpret the boundary of a convex polytope as a planar graph see The boundary of a holds 3d convex polytope can beand interpreted Figure 11.1 the same relation for the numbers of vertices edges planar graph: facets in a convex polytope. (In fact Euler s formula was originally stated in as a Figure 11.1 A cube interpreted as a planar g note that one facet maps to the unbounded face of the graph terms of polytopes not convex in terms of hull planarin graphs.) Every face We store the the form of aof the graph corresponding to P has at least three arcs and every arc is incident to two faces Doubly-Connected Edge List so we have 2ne! 3n f. Plugging this into Euler s formula we get (as for planar subdivisions) n + n f 2! 3n f /2 so n f " 2n 4. Applying Euler s formula once more we see that ne " 3n 6. For the special case that every facet is a triangle the case of a simplicial polytope the bounds on the number of edges and facets of an n-vertex polytope 9

10 Chapter 2 The half-edge record of a half-edge!e a pointer Twin(!e) to its twin half-e the face that it bounds. We don t ne because it is equal to Origin(Twin IncidentFace(!e) lies to the left of! destination. The half-edge record al geometric and to the next and previous edge on th topological information Next(! e) is the unique half-edge on th stored in records the destination of!e as its origin and (vertex face half-edge) boundary of IncidentFace(!e) that ha Polyhedra and Half Edge (or DCEL) data structure LINE SEGMENT INTERSECTION Doubly-Connected Edge List: Origin(!e) Twin(!e)!e Next(!e) Prev(!e) IncidentFace(!e) two oriented half-edges A constant information is use for anamount edge of (origin distination) require more storage since the list Inner incident as there are holes in the face of aface. Because a lies to its left from half-edge all InnerComponents( f ) lists toge storage is linear in the complexity of the counterclockwise connected edge list a simple subdivis traversal of afor face corresponding to an edge ei are labeled! Vertex v1 Coordinates (0 4) IncidentEd 10!e11

11 by facets Polyhedra and Half Edge (or DCEL) data structure epresent For a cube it looks like: dary of a herefore t a data The only keep the any face tope. 11

12 3D Polyhedral Surfaces in CGAL CGAL::Polyhedron_3<PolyhedronTraits_3> for storing the convex hull (Uses a DCEL no need for low lever operations from the user): template < class PolyhedronTraits_3 class PolyhedronItems_3 = CGAL::Polyhedron_items_3 template < class T class I> class HalfedgeDS = CGAL::HalfedgeDS_default class Alloc = CGAL_ALLOCATOR(int)> class Polyhedron_3; Use a Kernel as PolyhedronTraits_3 : typedef CGAL::Simple_cartesian<double> Kernel; typedef CGAL::Polyhedron_3<Kernel> Polyhedron; 12

13 CGAL::Polyhedron_3<PolyhedronTraits_3> Container (It provides all sorts of iterators): typedef typedef typedef typedef CGAL::Simple_cartesian<double> Kernel; Kernel::Point_3 Point_3; CGAL::Polyhedron_3<Kernel> Polyhedron; Polyhedron::Vertex_iterator Vertex_iterator; int main() { Point_3 p( ); Point_3 q( ); Point_3 r( ); Point_3 s( ); Polyhedron P; P.make_tetrahedron( p q r s); CGAL::set_ascii_mode( std::cout); for ( Vertex_iterator v = P.vertices_begin(); v!= P.vertices_end(); ++v) std::cout << v >point() << std::endl; return 0; } It provides handles (e.g. Polyhedron::Halfedge_handle ) as trivial lightweight iterators 13

14 CGAL::Polyhedron_3<PolyhedronTraits_3> (It supports plane information by default) E.g. compute plane equation of a plane of a facet: struct Plane_equation { template <class Facet> typename Facet::Plane_3 operator()( Facet& f) { typename Facet::Halfedge_handle h = f.halfedge(); typedef typename Facet::Plane_3 Plane; return Plane( h >vertex() >point() h >next() >vertex() >point() h >next() >next() >vertex() >point()); } }; 14

15 CGAL::Polyhedron_3<PolyhedronTraits_3>... typedef Kernel::Plane_3 Plane_3; typedef CGAL::Polyhedron_3<Kernel> Polyhedron; int main() { Point_3 p( 1 0 0); Point_3 q( 0 1 0); Point_3 r( 0 0 1); Point_3 s( 0 0 0); Polyhedron P; P.make_tetrahedron( p q r s); std::transform( P.facets_begin() P.facets_end() P.planes_begin() Plane_equation()); CGAL::set_pretty_mode( std::cout); std::copy( P.planes_begin() P.planes_end() std::ostream_iterator<plane_3>( std::cout "\n")); return 0; } 15

16 CGAL::Polyhedron_3<PolyhedronTraits_3> It supports I/O from/to.off file format: template <class PolyhedronTraits_3> ostream& ostream& out << CGAL::Polyhedron_3<PolyhedronTraits_3> P template <class PolyhedronTraits_3> istream& istream& in >> CGAL::Polyhedron_3<PolyhedronTraits_3>& P.OFF format 16

17 Exercise 3 Implement the O(n2 )-time algorithm for computing the convex hull of a point set in R3. Use CGAL::Polyhedron_3<PolyhedronTraits_3>. Use predicates from the Kernel to check visibility. Construct the horizon by performing a depth first search. Possible functions for updating the current convex hull: erase_facet (...) erase_connected_component (...) add_vertex_and_facet_to_border (...) add_facet_to_border (...) Visualize the steps of the algorithm (partial results) with a.off viewer (e.g. Polyhedron_3 CGAL Demo). 17

Convex Hulls in Three Dimensions. Polyhedra

Convex Hulls in Three Dimensions. Polyhedra Convex Hulls in Three Dimensions Polyhedra Polyhedron 1.A polyhedron is the generalization of a 2- D polygon to 3-D A finite number of flat polygonal faces The boundary or surface of a polyhedron - Zero-dimensional

More information

Voronoi diagram and Delaunay triangulation

Voronoi diagram and Delaunay triangulation Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi

More information

Geometric Algorithms in Three Dimensions Tutorial. FSP Seminar, Strobl,

Geometric Algorithms in Three Dimensions Tutorial. FSP Seminar, Strobl, Geometric Algorithms in Three Dimensions Tutorial FSP Seminar, Strobl, 22.06.2006 Why Algorithms in Three and Higher Dimensions Which algorithms (convex hulls, triangulations etc.) can be generalized to

More information

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. 1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third

More information

Question. Why is the third shape not convex?

Question. Why is the third shape not convex? 1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third

More information

Mesh Basics: Definitions, Topology & Data Structures. Standard Graph Definitions

Mesh Basics: Definitions, Topology & Data Structures. Standard Graph Definitions Mesh : Definitions, Topology & Data Structures 1 Standard Graph Definitions G = V = vertices = {A,B,C,D,E,F,G,H,I,J,K,L} E = edges = {(A,B),(B,C),(C,D),(D,E),(E,F),(F,G), (G,H),(H,A),(A,J),(A,G),(B,J),(K,F),

More information

Convex Hulls in 3D. Definitions. Size of a Convex Hull in 3D. Collision detection: The smallest volume polyhedral that contains a set of points in 3D.

Convex Hulls in 3D. Definitions. Size of a Convex Hull in 3D. Collision detection: The smallest volume polyhedral that contains a set of points in 3D. Convex Hulls in 3D SMD156 Lecture 11 Convex Hulls in Higher Dimensions Voronoi diagrams 3D Incremental Algorithm Collision detection: 1 2 Definitions The smallest volume polyhedral that contains a set

More information

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

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

Convex Hulls (3D) O Rourke, Chapter 4

Convex Hulls (3D) O Rourke, Chapter 4 Convex Hulls (3D) O Rourke, Chapter 4 Outline Polyhedra Polytopes Euler Characteristic (Oriented) Mesh Representation Polyhedra Definition: A polyhedron is a solid region in 3D space whose boundary is

More information

Week 7 Convex Hulls in 3D

Week 7 Convex Hulls in 3D 1 Week 7 Convex Hulls in 3D 2 Polyhedra A polyhedron is the natural generalization of a 2D polygon to 3D 3 Closed Polyhedral Surface A closed polyhedral surface is a finite set of interior disjoint polygons

More information

GEOMETRIC SEARCHING PART 1: POINT LOCATION

GEOMETRIC SEARCHING PART 1: POINT LOCATION GEOMETRIC SEARCHING PART 1: POINT LOCATION PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 3.10.2014 Geometric

More information

Outline. CGAL par l exemplel. Current Partners. The CGAL Project.

Outline. CGAL par l exemplel. Current Partners. The CGAL Project. CGAL par l exemplel Computational Geometry Algorithms Library Raphaëlle Chaine Journées Informatique et GéomG ométrie 1 er Juin 2006 - LIRIS Lyon Outline Overview Strengths Design Structure Kernel Convex

More information

Line Arrangement. Chapter 6

Line Arrangement. Chapter 6 Line Arrangement Chapter 6 Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision. Line Arrangements Problem: Given a set L of n lines

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

Math 414 Lecture 2 Everyone have a laptop?

Math 414 Lecture 2 Everyone have a laptop? Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,

More information

Week 9: Planar and non-planar graphs. 7 and 9 November, 2018

Week 9: Planar and non-planar graphs. 7 and 9 November, 2018 (1/27) MA284 : Discrete Mathematics Week 9: Planar and non-planar graphs http://www.maths.nuigalway.ie/ niall/ma284/ 7 and 9 November, 2018 1 Planar graphs and Euler s formula 2 Non-planar graphs K 5 K

More information

Surface Mesh Generation

Surface Mesh Generation Surface Mesh Generation J.-F. Remacle Université catholique de Louvain September 22, 2011 0 3D Model For the description of the mesh generation process, let us consider the CAD model of a propeller presented

More information

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College 3D convex hulls Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull in 3D The problem: Given a set P of points in 3D, compute their convex hull convex polyhedron 2D 3D polygon

More information

Lecture 4 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13

Lecture 4 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13 Lecture 4 (CGAL) Panos Giannopoulos Dror Atariah AG TI WS 2012/13 Exercise 3? Outline Note: Random points Delaunay Triangulations and Voronoi diagrams Exercise 4 Project ideas FU Berlin Lecture 4 (CGAL)

More information

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces David L. Finn Today, we continue our discussion of subdivision surfaces, by first looking in more detail at the midpoint method and

More information

COMPUTATIONAL GEOMETRY

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

More information

INTRODUCTION TO GRAPH THEORY. 1. Definitions

INTRODUCTION TO GRAPH THEORY. 1. Definitions INTRODUCTION TO GRAPH THEORY D. JAKOBSON 1. Definitions A graph G consists of vertices {v 1, v 2,..., v n } and edges {e 1, e 2,..., e m } connecting pairs of vertices. An edge e = (uv) is incident with

More information

Computational Geometry

Computational Geometry Casting a polyhedron CAD/CAM systems CAD/CAM systems allow you to design objects and test how they can be constructed Many objects are constructed used a mold Casting Casting A general question: Given

More information

Computational Geometry Lecture Duality of Points and Lines

Computational Geometry Lecture Duality of Points and Lines Computational Geometry Lecture Duality of Points and Lines INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 11.1.2016 Duality Transforms We have seen duality for planar graphs and duality of

More information

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

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Computational Geometry

Computational Geometry Planar point location Point location Introduction Planar point location Strip-based structure Point location problem: Preprocess a planar subdivision such that for any query point q, the face of the subdivision

More information

Flavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville

Flavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville Flavor of Computational Geometry Convex Hull in 2D Shireen Y. Elhabian Aly A. Farag University of Louisville February 2010 Agenda Introduction Definitions of Convexity and Convex Hulls Naïve Algorithms

More information

Line segment intersection. Family of intersection problems

Line segment intersection. Family of intersection problems CG Lecture 2 Line segment intersection Intersecting two line segments Line sweep algorithm Convex polygon intersection Boolean operations on polygons Subdivision overlay algorithm 1 Family of intersection

More information

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

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

More information

Chapter 4 Concepts from Geometry

Chapter 4 Concepts from Geometry Chapter 4 Concepts from Geometry An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Line Segments The line segment between two points and in R n is the set of points on the straight line joining

More information

Convex Geometry arising in Optimization

Convex Geometry arising in Optimization Convex Geometry arising in Optimization Jesús A. De Loera University of California, Davis Berlin Mathematical School Summer 2015 WHAT IS THIS COURSE ABOUT? Combinatorial Convexity and Optimization PLAN

More information

Combinatorial Geometry & Topology arising in Game Theory and Optimization

Combinatorial Geometry & Topology arising in Game Theory and Optimization Combinatorial Geometry & Topology arising in Game Theory and Optimization Jesús A. De Loera University of California, Davis LAST EPISODE... We discuss the content of the course... Convex Sets A set is

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

Line Arrangements. Applications

Line Arrangements. Applications Computational Geometry Chapter 9 Line Arrangements 1 Line Arrangements Applications On the Agenda 2 1 Complexity of a Line Arrangement Given a set L of n lines in the plane, their arrangement A(L) is the

More information

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College Algorithms for GIS Spatial data: Models and representation (part I) Laura Toma Bowdoin College Outline Spatial data in GIS applications Point data Networks Terrains Planar maps and meshes Data structures

More information

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

Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017 Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017 Below are some notes and sketches of correct answers for the first homework exam. We have also included the most common mistakes that were

More information

10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann

10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann 10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann During the course of this lecture we encountered several situations where it was convenient to assume

More information

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

ACTUALLY DOING IT : an Introduction to Polyhedral Computation ACTUALLY DOING IT : an Introduction to Polyhedral Computation Jesús A. De Loera Department of Mathematics Univ. of California, Davis http://www.math.ucdavis.edu/ deloera/ 1 What is a Convex Polytope? 2

More information

Computational Geometry Algorithmische Geometrie

Computational Geometry Algorithmische Geometrie Algorithmische Geometrie Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 !! Register in Campus Management!! Outline What you need to know (before taking this course) What is the course about?

More information

Computer Aided Engineering Design Prof. Anupam Saxena Department of Mechanical Engineering Indian Institute of Technology, Kanpur.

Computer Aided Engineering Design Prof. Anupam Saxena Department of Mechanical Engineering Indian Institute of Technology, Kanpur. (Refer Slide Time: 00:28) Computer Aided Engineering Design Prof. Anupam Saxena Department of Mechanical Engineering Indian Institute of Technology, Kanpur Lecture - 6 Hello, this is lecture number 6 of

More information

Rubber bands. Chapter Rubber band representation

Rubber bands. Chapter Rubber band representation Chapter 1 Rubber bands In the previous chapter, we already used the idea of looking at the graph geometrically, by placing its nodes on the line and replacing the edges by rubber bands. Since, however,

More information

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria Voronoi diagrams Delaunay Triangulations Pierre Alliez Inria Voronoi Diagram Voronoi Diagram Voronoi Diagram The collection of the non-empty Voronoi regions and their faces, together with their incidence

More information

Project 3: Point Location

Project 3: Point Location MCS 481 / David Dumas / Spring 2011 Project 3: Point Location Due Friday, April 1 0. Overview In this project you will study CGAL s support for point location in planar subdivisions. While the project

More information

maximize c, x subject to Ax b,

maximize c, x subject to Ax b, Lecture 8 Linear programming is about problems of the form maximize c, x subject to Ax b, where A R m n, x R n, c R n, and b R m, and the inequality sign means inequality in each row. The feasible set

More information

We have set up our axioms to deal with the geometry of space but have not yet developed these ideas much. Let s redress that imbalance.

We have set up our axioms to deal with the geometry of space but have not yet developed these ideas much. Let s redress that imbalance. Solid geometry We have set up our axioms to deal with the geometry of space but have not yet developed these ideas much. Let s redress that imbalance. First, note that everything we have proven for the

More information

Practical Linear Algebra: A Geometry Toolbox

Practical Linear Algebra: A Geometry Toolbox Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 18: Putting Lines Together: Polylines and Polygons Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book

More information

FACES OF CONVEX SETS

FACES OF CONVEX SETS FACES OF CONVEX SETS VERA ROSHCHINA Abstract. We remind the basic definitions of faces of convex sets and their basic properties. For more details see the classic references [1, 2] and [4] for polytopes.

More information

Outreach Lecture: Polytopes

Outreach Lecture: Polytopes Outreach Lecture: Polytopes Darrell Allgaier (Grove City College), David Perkinson (Reed College), Sarah Ann Stewart (North Central College), John Thurber (Eastern Oregon University) Abstract This is an

More information

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College 3D convex hulls Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hulls The problem: Given a set P of points, compute their convex hull 2D 3D 2D 3D polygon polyhedron Polyhedron region

More information

Week 9: Planar and non-planar graphs. 1st and 3rd of November, 2017

Week 9: Planar and non-planar graphs. 1st and 3rd of November, 2017 (1/26) MA284 : Discrete Mathematics Week 9: Planar and non-planar graphs http://www.maths.nuigalway.ie/~niall/ma284/ 1st and 3rd of November, 2017 1 Recall... planar graphs and Euler s formula 2 Non-planar

More information

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville Flavor of Computational Geometry Voronoi Diagrams Shireen Y. Elhabian Aly A. Farag University of Louisville March 2010 Pepperoni Sparse Pizzas Olive Sparse Pizzas Just Two Pepperonis A person gets the

More information

Chapter 12 and 11.1 Planar graphs, regular polyhedra, and graph colorings

Chapter 12 and 11.1 Planar graphs, regular polyhedra, and graph colorings Chapter 12 and 11.1 Planar graphs, regular polyhedra, and graph colorings Prof. Tesler Math 184A Fall 2017 Prof. Tesler Ch. 12: Planar Graphs Math 184A / Fall 2017 1 / 45 12.1 12.2. Planar graphs Definition

More information

Three applications of Euler s formula. Chapter 10

Three applications of Euler s formula. Chapter 10 Three applications of Euler s formula Chapter 10 A graph is planar if it can be drawn in the plane R without crossing edges (or, equivalently, on the -dimensional sphere S ). We talk of a plane graph if

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced

More information

Tangencies between disjoint regions in the plane

Tangencies between disjoint regions in the plane June 16, 20 Problem Definition Two nonoverlapping Jordan regions in the plane are said to touch each other or to be tangent to each other if their boundaries have precisely one point in common and their

More information

The Gift Wrapping Method in PHCpack

The Gift Wrapping Method in PHCpack The Gift Wrapping Method in PHCpack Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu Graduate Computational

More information

Lecture 2 Convex Sets

Lecture 2 Convex Sets Optimization Theory and Applications Lecture 2 Convex Sets Prof. Chun-Hung Liu Dept. of Electrical and Computer Engineering National Chiao Tung University Fall 2016 2016/9/29 Lecture 2: Convex Sets 1 Outline

More information

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

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls 1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms

More information

7. The Gauss-Bonnet theorem

7. The Gauss-Bonnet theorem 7. The Gauss-Bonnet theorem 7.1 Hyperbolic polygons In Euclidean geometry, an n-sided polygon is a subset of the Euclidean plane bounded by n straight lines. Thus the edges of a Euclidean polygon are formed

More information

Example: The following is an example of a polyhedron. Fill the blanks with the appropriate answer. Vertices:

Example: The following is an example of a polyhedron. Fill the blanks with the appropriate answer. Vertices: 11.1: Space Figures and Cross Sections Polyhedron: solid that is bounded by polygons Faces: polygons that enclose a polyhedron Edge: line segment that faces meet and form Vertex: point or corner where

More information

A Topologically Convex Vertex-Ununfoldable Polyhedron

A Topologically Convex Vertex-Ununfoldable Polyhedron A Topologically Convex Vertex-Ununfoldable Polyhedron Zachary Abel 1 Erik D. Demaine 2 Martin L. Demaine 2 1 MIT Department of Mathematics 2 MIT CSAIL CCCG 2011 Abel, Demaine, and Demaine (MIT) A Vertex-Ununfoldable

More information

Delaunay Triangulations

Delaunay Triangulations Delaunay Triangulations (slides mostly by Glenn Eguchi) Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally approximate height of points not

More information

Clipping a Mesh Against a Plane

Clipping a Mesh Against a Plane Clipping a Mesh Against a Plane David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To

More information

1 Appendix to notes 2, on Hyperbolic geometry:

1 Appendix to notes 2, on Hyperbolic geometry: 1230, notes 3 1 Appendix to notes 2, on Hyperbolic geometry: The axioms of hyperbolic geometry are axioms 1-4 of Euclid, plus an alternative to axiom 5: Axiom 5-h: Given a line l and a point p not on l,

More information

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh Lecture 3 Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh January 2016 Mixed Integer Linear Programming

More information

DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU /858B Fall 2017

DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU /858B Fall 2017 DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU 15-458/858B Fall 2017 LECTURE 2: THE SIMPLICIAL COMPLEX DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU

More information

Linear Programming and its Applications

Linear Programming and its Applications Linear Programming and its Applications Outline for Today What is linear programming (LP)? Examples Formal definition Geometric intuition Why is LP useful? A first look at LP algorithms Duality Linear

More information

Jordan Curves. A curve is a subset of IR 2 of the form

Jordan Curves. A curve is a subset of IR 2 of the form Jordan Curves A curve is a subset of IR 2 of the form α = {γ(x) : x [0,1]}, where γ : [0,1] IR 2 is a continuous mapping from the closed interval [0,1] to the plane. γ(0) and γ(1) are called the endpoints

More information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

Tools, Generic Programming, CGAL, and 2D Arrangement of CGAL

Tools, Generic Programming, CGAL, and 2D Arrangement of CGAL Tools, Generic Programming, CGAL, and 2D Arrangement of CGAL Efi Fogel efif@post.tau.ac.il School of computer science, Tel Aviv University Spring 2004 Motion Planning workshop 1/23 Tools, Toolkits, and

More information

Lecture 5: Simplicial Complex

Lecture 5: Simplicial Complex Lecture 5: Simplicial Complex 2-Manifolds, Simplex and Simplicial Complex Scribed by: Lei Wang First part of this lecture finishes 2-Manifolds. Rest part of this lecture talks about simplicial complex.

More information

EULER S FORMULA AND THE FIVE COLOR THEOREM

EULER S FORMULA AND THE FIVE COLOR THEOREM EULER S FORMULA AND THE FIVE COLOR THEOREM MIN JAE SONG Abstract. In this paper, we will define the necessary concepts to formulate map coloring problems. Then, we will prove Euler s formula and apply

More information

Explore Solids

Explore Solids 1212.1 Explore Solids Surface Area and Volume of Solids 12.2 Surface Area of Prisms and Cylinders 12.3 Surface Area of Pyramids and Cones 12.4 Volume of Prisms and Cylinders 12.5 Volume of Pyramids and

More information

References. Additional lecture notes for 2/18/02.

References. Additional lecture notes for 2/18/02. References Additional lecture notes for 2/18/02. I-COLLIDE: Interactive and Exact Collision Detection for Large-Scale Environments, by Cohen, Lin, Manocha & Ponamgi, Proc. of ACM Symposium on Interactive

More information

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001 Delaunay Triangulations Presented by Glenn Eguchi 6.838 Computational Geometry October 11, 2001 Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally

More information

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2) COMP331/557 Chapter 2: The Geometry of Linear Programming (Bertsimas & Tsitsiklis, Chapter 2) 49 Polyhedra and Polytopes Definition 2.1. Let A 2 R m n and b 2 R m. a set {x 2 R n A x b} is called polyhedron

More information

Convex Hull Generation with Quick Hull. Randy Gaul Special thanks to Stan Melax and Dirk Gregorius for contributions on this topic

Convex Hull Generation with Quick Hull. Randy Gaul Special thanks to Stan Melax and Dirk Gregorius for contributions on this topic Convex Hull Generation with Quick Hull Randy Gaul Special thanks to Stan Melax and Dirk Gregorius for contributions on this topic Overview Quick Hull (QHull) Convex Hulls Why use them Computing a Convex

More information

Polygon Triangulation

Polygon Triangulation Polygon Triangulation Definition Simple Polygons 1. A polygon is the region of a plane bounded by a finite collection of line segments forming a simple closed curve. 2. Simple closed curve means a certain

More information

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams Course 16 Geometric Data Structures for Computer Graphics Voronoi Diagrams Dr. Elmar Langetepe Institut für Informatik I Universität Bonn Geometric Data Structures for CG July 27 th Voronoi Diagrams San

More information

4. Simplicial Complexes and Simplicial Homology

4. Simplicial Complexes and Simplicial Homology MATH41071/MATH61071 Algebraic topology Autumn Semester 2017 2018 4. Simplicial Complexes and Simplicial Homology Geometric simplicial complexes 4.1 Definition. A finite subset { v 0, v 1,..., v r } R n

More information

Polygonal Meshes: Representing 3D Objects

Polygonal Meshes: Representing 3D Objects Polygonal Meshes: Representing 3D Objects Real world modeling requires representation of surfaces Two situations: 1. Model an existing object Most likely can only approximate the object Represent all (most)

More information

Computational Geometry

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

More information

Euler Characteristic

Euler Characteristic Euler Characteristic Rebecca Robinson May 15, 2007 Euler Characteristic Rebecca Robinson 1 PLANAR GRAPHS 1 Planar graphs v = 5, e = 4, f = 1 v e + f = 2 v = 6, e = 7, f = 3 v = 4, e = 6, f = 4 v e + f

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Planar Point Location

Planar Point Location C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

More information

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

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

More information

The Game of Criss-Cross

The Game of Criss-Cross Chapter 5 The Game of Criss-Cross Euler Characteristic ( ) Overview. The regions on a map and the faces of a cube both illustrate a very natural sort of situation: they are each examples of regions that

More information

On the maximum number of edges in plane graph with fixed exterior face degree

On the maximum number of edges in plane graph with fixed exterior face degree On the maximum number of edges in plane graph with fixed exterior face degree arxiv:708.02024v [math.co] 7 Aug 207 Niran Abbas Ali a, Gek L. Chia b,e, Hazim Michman Trao c and Adem Kilicman d a,c,d Department

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 1: Polygonal Meshes Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Geometric object Set of connected points in space Usually inside Euclidean space (orthonormal

More information

Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions

Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions Simple Closed Surfaces A simple closed surface has exactly one interior, no holes, and is hollow. A sphere is the set of all points at a

More information

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

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE   Based on [Berg] and [Mount] VORONOI DIAGRAM PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 9.11.2017 Talk overview Definition and examples

More information

Lectures 19: The Gauss-Bonnet Theorem I. Table of contents

Lectures 19: The Gauss-Bonnet Theorem I. Table of contents Math 348 Fall 07 Lectures 9: The Gauss-Bonnet Theorem I Disclaimer. As we have a textbook, this lecture note is for guidance and supplement only. It should not be relied on when preparing for exams. In

More information

POLYTOPES. Grünbaum and Shephard [40] remarked that there were three developments which foreshadowed the modern theory of convex polytopes.

POLYTOPES. Grünbaum and Shephard [40] remarked that there were three developments which foreshadowed the modern theory of convex polytopes. POLYTOPES MARGARET A. READDY 1. Lecture I: Introduction to Polytopes and Face Enumeration Grünbaum and Shephard [40] remarked that there were three developments which foreshadowed the modern theory of

More information

Planar graphs. Math Prof. Kindred - Lecture 16 Page 1

Planar graphs. Math Prof. Kindred - Lecture 16 Page 1 Planar graphs Typically a drawing of a graph is simply a notational shorthand or a more visual way to capture the structure of the graph. Now we focus on the drawings themselves. Definition A drawing of

More information

What is dimension? An investigation by Laura Escobar. Math Explorer s Club

What is dimension? An investigation by Laura Escobar. Math Explorer s Club What is dimension? An investigation by Laura Escobar Math Explorer s Club The goal of this activity is to introduce you to the notion of dimension. The movie Flatland is also a great way to learn about

More information

1. Meshes. D7013E Lecture 14

1. Meshes. D7013E Lecture 14 D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

More information

! Linear programming"! Duality "! Smallest enclosing disk"

! Linear programming! Duality ! Smallest enclosing disk ! Linear programming"! Duality "! Smallest enclosing disk" 14. 24.! Define:" " i types of foods (1!i!d).! " j types of vitamins (1!j!n)." " x i the amount of food of type i." " a ji the amount of vitamin

More information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 16: Voronoi Diagrams and Fortune s Algorithm contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through

More information