A brief and sketchy intro to 3D Convex Hulls Rodrigo Silveira GEOC 2010/11 - Q2.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Polygon Triangulation
Chapter 9: Graphs Shortest Paths
Review Binary Search Trees Operations on Binary Search Tree
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
Approximations of points and polygonal chains
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
10.4 Spanning Trees. Def Def: Let G be a simple graph. A spanning tree of G is a subgraph of G that is a tree containing every vertex of G See handout.
Bounded-Degree Polyhedronization of Point Sets Andrew Winslow with Gill Barequet, Nadia Benbernou, David Charlton, Erik Demaine, Martin Demaine, Mashhood.
Convex hulls Gift wrapping, d > 2 Problem definition CONVEX HULL, D > 2 INSTANCE. Set S = { p 1, p 2, … p N } of points in d-space (E d ). QUESTION. Construct.
COSC 6114 Prof. Andy Mirzaian. TOICS  General Facts on Polytopes  Algorithms  Gift Wrapping  Beneath Beyond  Divide-&-Conquer  Randomized Incremental.
Brute-Force Triangulation
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
Computing Convex Hulls CLRS 33.3
Convex Hull obstacle start end Convex Hull Convex Hull
Advanced Data Structures
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
Convex Hulls in 3-space Jason C. Yang.
1 Convex Hull in Two Dimensions Jyun-Ming Chen Refs: deBerg et al. (Chap. 1) O’Rourke (Chap. 3)
The Voronoi diagram of convex objects in the plane Menelaos Karavelas & Mariette Yvinec Dagsthul Workshop, march 2003.
6/2/ :35 AMIncremental Convex Hull1 q w u e zt.
Geometric Reasoning About Mechanical Assembly Randall H. Wilson and Jean-Claude Latombe Andreas Edlund Romain Thibaux.
Half-Space Intersections
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
1.4 Exercises (cont.) Definiton: A set S of points is said to be affinely (convex) independent if no point of S is an affine combination of the others.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 4: 3D Convex Hulls Friday, 2/9/07.
Algorithm 1. (Convex Hull) - Pseudo code - Input. A set of points in the plane. Output. A list containing the vertices of Conv ( P). 1. Sort the points.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Algorithm3. (3-dim) Assumptions Points are ordered in a sequence increasingly with respect to the x coordinate. Points having the same x coordinate are.
© 2004 Goodrich, Tamassia Shortest Paths1 Shortest Paths (§ 13.6) Given a weighted graph and two vertices u and v, we want to find a path of minimum total.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 4: 3D Convex Hulls Monday, 2/23/04.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Brute-Force Triangulation
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Weighted Graphs In a weighted graph, each edge has an associated numerical value, called the weight of the edge Edge weights may represent, distances,
Computational Geometry Convex Hulls Robust Geometric Primitives Degeneracy and Stability Nick Pilkington.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
Visibility Graphs and Motion Planning Kittiphan Techakittiroj for the Degree of Master of Science Department of Computer Science, Ball State University,
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.
Data Structures and Algorithms Ver. 1.0 Session 17 Objectives In this session, you will learn to: Implement a graph Apply graphs to solve programming problems.
Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex disconnected subdivision Complexity = #vertices.
1 / 41 Convex Hulls in 3-space Jason C. Yang. 2 / 41 Problem Statement Given P: set of n points in 3-space Return: –Convex hull of P: CH (P) –Smallest.
Computer Graphics Filling. Filling Polygons So we can figure out how to draw lines and circles How do we go about drawing polygons? We use an incremental.
Walks, Paths and Circuits. A graph is a connected graph if it is possible to travel from one vertex to any other vertex by moving along successive edges.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Computational Geometry 2D Convex Hulls
SPARSE CERTIFICATES AND SCAN-FIRST SEARCH FOR K-VERTEX CONNECTIVITY
Tree Diagrams A tree is a connected graph in which every edge is a bridge. There can NEVER be a circuit in a tree diagram!
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Graph Representations And Traversals. Graphs Graph : – Set of Vertices (Nodes) – Set of Edges connecting vertices (u, v) : edge connecting Origin: u Destination:
1/20/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Plane Sweep Algorithms I Carola Wenk.
Bigyan Ankur Mukherjee University of Utah. Given a set of Points P sampled from a surface Σ,  Find a Surface Σ * that “approximates” Σ  Σ * is generally.
Polygon Triangulation
The 2x2 Simple Packing Problem André van Renssen Supervisor: Bettina Speckmann.
© 2010 Goodrich, Tamassia Shortest Paths1 C B A E D F
GJK Supplement Reference: SIGGRAPH2004 Course Note Original Reference: A Fast Procedure for Computing the Distance between Objects in Three-Dimensional.
Delaunay Triangulations and Control-Volume Meshing Michael Murphy.
MA/CSSE 473 Day 11 Knuth interview Amortization (growable Array) Brute Force Examples.
Incremental convex hulls BEN LEVY| DISCRETE ALGORITHMIC GEOMETRY
CMPS 3130/6130 Computational Geometry Spring 2017
Computer Graphics Filling.
Undirected versus Directed Graphs
CMPS 3130/6130 Computational Geometry Spring 2017
Algorithm design techniques Dr. M. Gavrilova
Richard Anderson Winter 2009 Lecture 6
GRAPHS G=<V,E> Adjacent vertices Undirected graph
Richard Anderson Lecture 5 Graph Theory
Presentation transcript:

A brief and sketchy intro to 3D Convex Hulls Rodrigo Silveira GEOC 2010/11 - Q2

Convex hulls in 3D CH of set of points in 3D: (convex) polytope 2D: CH of n points…. – at most n vertices – at most n edges In 3D it is a bit different – at most n vertices – at most 3n-6 edges – at most 2n-4 facets 2

Representation 2D: CH is a polygon – Easy to store and maintain: vertex array/list 3D: Polytope – More than a list of vertices! – Graph of facets, edges, and vertices 3

Representation Example – Incidence graphs 4

Incremental algorithm Same principle than in 2D – Initialize CH to CH of the first (3+1)=4 points – Incremental step Take next point, p, and insert it Trick: treat points in order by x-coordinate – Then the next point is always outside previous CH – Also works in 2D! Compute CH(P i U {p}) Degeneracy assumption: no 4 points are coplanar 5

Computing CH(P i U {p}) 2D: we add p and 2 edges incident to p 3D: we add p and many facets incident to p 6

The key is in the horizon Horizon: separates visible from non-visible facets Visible facets should be removed Non-visible facets stay in CH(P i U {p}) 7

How to compute them (sketch) Recall points are treated in order The previously inserted point, q, must be in CH(P i ) And must be visible from p Start walking on the facets from q – Depth first search Test each facet to be always on visible part Take note of boundary Connect boundary to p Update graph: delete visible facets, create new vertex, edges, facets 8

Summary This incremental algorithm – In principle, takes time O(n 2 ) – Can be generalized to d dimensions Time O(n log n + n^floor((d+1)/2) Can be adapted to work in expected O(n log n) time 9