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

Similar documents
Convex Hulls in Three Dimensions. Polyhedra

Voronoi diagram and Delaunay triangulation

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

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

Week 7 Convex Hulls in 3D

The Gift Wrapping Method in PHCpack

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

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

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

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.

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

Linear Programming in Small Dimensions

COMPUTATIONAL GEOMETRY

Chapter 4 Concepts from Geometry

CSE 5311 Notes 13: Computational Geometry

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

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

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

Gift Wrapping for Pretropisms

Sublinear Geometric Algorithms

CS3621 Midterm Solution (Fall 2005) 150 points

Computational Geometry Lecture Duality of Points and Lines

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

Introduction to Voronoi Diagrams and Delaunay Triangulations

A Polynomial Time Algorithm for Multivariate Interpolation in Arbitrary Dimension via the Delaunay Triangulation

Computational Geometry

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

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

UNIVERSITI TEKNOLOGI MALAYSIA SSE 1893 ENGINEERING MATHEMATICS TUTORIAL 5

Insertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Triangulation and Convex Hull. 8th November 2018

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

Computational Geometry Overview from Cormen, et al.

Computational Geometry 2D Convex Hulls

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

Computational Geometry

Computational Geometry

Finding Small Triangulations of Polytope Boundaries Is Hard

Spherical Maze Generation

Solutions to problem set 1

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

The Farthest Point Delaunay Triangulation Minimizes Angles

Lifting Transform, Voronoi, Delaunay, Convex Hulls

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017

Triangle meshes I. CS 4620 Lecture 2

Convex Hulls (3D) O Rourke, Chapter 4

Triangle meshes. Computer Graphics CSE 167 Lecture 8

Computational geometry

Geometric Modeling in Graphics

Optimal Compression of a Polyline with Segments and Arcs

Practical Linear Algebra: A Geometry Toolbox

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Spring, 2010

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Computational Geometry

Triangle meshes I. CS 4620 Lecture Kavita Bala (with previous instructor Marschner) Cornell CS4620 Fall 2015 Lecture 2

A Course in Convexity

THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

Lecture 3 Randomized Algorithms

Topological Issues in Hexahedral Meshing

B-rep for Triangle Meshes. Gino van den Bergen Dtecta

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

Combinatorial Geometry & Topology arising in Game Theory and Optimization

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.

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Implementing Geometric Algorithms. Wouter van Toll June 20, 2017

Some Open Problems in Graph Theory and Computational Geometry

Mesh Representations & Geometry Processing

CS133 Computational Geometry

Outline of the presentation

Introduction to Solid Modeling

Divided-and-Conquer for Voronoi Diagrams Revisited. Supervisor: Ben Galehouse Presenter: Xiaoqi Cao

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006

Shellings, the Euler-Poincaré Formula for Polytopes, Dehn-Sommerville Equations, the Upper Bound Theorem

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

2D Geometry. Pierre Alliez Inria Sophia Antipolis

COMBINATORIAL GEOMETRY

1 Appendix to notes 2, on Hyperbolic geometry:

Lecture 3: Art Gallery Problems and Polygon Triangulation

Clipping a Mesh Against a Plane

Trinities, hypergraphs, and contact structures

Rubber bands. Chapter Rubber band representation

MA/CSSE 473 Day 17. Divide-and-conquer Convex Hull. Strassen's Algorithm: Matrix Multiplication. (if time, Shell's Sort)

751 Problem Set I JWR. Due Sep 28, 2004

Midpoint Routing algorithms for Delaunay Triangulations

Efi Fogel, Dan Halperin, Lutz Kettner, Monique Teillaud, Ron Wein, and Nicola Wolpert

Log1 Contest Round 2 Theta Circles, Parabolas and Polygons. 4 points each

Question. Why is the third shape not convex?

13 - Meshes. Acknowledgement: Enrico Puppo. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

Voronoi Diagrams, Delaunay Triangulations and Polytopes

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

(1) Page #2 26 Even. (2) Page 596 #1 14. (3) Page #15 25 ; FF #26 and 28. (4) Page 603 #1 18. (5) Page #19 26

CS Object Representation. Aditi Majumder, CS 112 Slide 1

Glossary of dictionary terms in the AP geometry units

Transcription:

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 higher dimensions? Step from two to higher dimensions Dimension-independent algorithms Edwin Abbott: Flatland (1884)

Data Structures Divide&Conquer construction of convex hulls - Merge Convex hull of a few points in 3D Data structure: e.g. circular linked list (for each node: predecessor + successor) Data structure for polyhedral boundary representation: e.g. winged edges, quad edges, DCELs Minimum information for each face: Indices of vertices (3 items) Neighboring information (3 items) Dimension: 2 Dimension: 3

Data Structure: DCEL Goal: Store topological information about a 2d surface located in 3d Doubly connected edge list (DCEL): Data elements: nodes, halfedges, facettes Store for each edge: origin node twin edge next halfedge Left face Store for each node: one of adjacent halfegdes Store for each face: one of adjacent halfedges Supported operations on DCELs (e.g.): Find all halfedges of a facette counterclockwise Find all halfedges of a node clockwise Find all facettes of a node clockwise Drawbacks: Too much overload (too complex) Limited domain (only for manifold meshes)

Signed Volume and Orientations Signed area computation Tetrahedron at origin Determinant evaluation for triangle (Function: counterclockwise) Dimension: 2 Signed volume and orientation determination Dimension: 3

Volume Overflow Exact volume evaluation requires integer arithmetics. Floating-point coordinates => comparison of volume to zero could be in error for certain nearly coplanar quadruples of points. Even integer volume computation is not certain due to overflow. Signed integers between -2 31 and 2 31-1. Exceeding the bounds => integer overflow. Numbers that exceed 2 31-1 slightly wrap around to negative integers. No program crash. Sample critical volume computation Volume computation of a regular tetrahedron Floating point arithmetics Integer arithmetics results in wrapping around

Strategies to Managing Volume Overflow Report integer overflows. Use C++-classes that report overflow. Bignums. Arbitrary precision arithmetic in languages like LISP, Mathematica. Bignum packages in C/C++ incur heavy overhead. Higher precision arithmetic: e.g. 64-bit integer operations. Compare with doubles: Compute volume with ints and doubles When they are close, probably no overflow. When they are significantly different, notify the user (or it makes sense to continue with the double volume). Approach in CGAL: Use doubles, in doubt change to unlimited precision

Delaunay-Tetrahedrization Example for an algorithm in two, three and higher dimensions Lifting: project onto paraboloid Construct convex hull in R d+1 Project simplices of lower hull into R d

MATLAB-Implementation / Tetrahedrization Short code (most work is done in quickhull) Geometry knowledge results in short, efficient, easy-towrite program

Quickhull in 2D Find extreme points (2,3 or 4 on the bounding box) Eliminate all points which are inside the convex hull of the extreme points (inner elimination) Divide remaining points into groups Repeat the algorithm for each group Build the created hulls together Practical, efficient (also in MATLAB available) O(nlongn) time complexity, O(n 2 ) in worst case, in practical cases one of the fastest Inner elimination and grouping remaining points

General Tetrahedrizations in 3D Decomposition of polygons into triangles (in 2D): Always solvable (<=every simple polygon has a diagonal) Unique number of triangles Decomposition of polyherons into tetrahedons (in 3D): Not always solvable Number of tetrahedrons is not unique Ear of a polygon Two different decompositions into tetrahedrons Rotate upper triangle of pyramid No decomposition into tetrahedrons possible

Convex Hulls - Gift Wrapping Gift wrapping in two dimensions

Convex Hulls - Gift Wrapping in 3d Gift wrapping in three dimensions is a generalization of the two dimensional algorithm: Creation of a new face G through edge e and a point p

Divide&Conquer for Convex Hulls Two dimensions: Merging step of Divide-and-Conquer

Divide&Conquer for Convex Hulls in 3d Lower bound for convex hulls in two and in three dimensions: O( nlog n) Divide-and-Conquer: the only algorithm in three dimensions to achieve the optimum. Prototypes prior to merge Dark edges show shadow boundary : the boundary of the newly added faces Merging step of Divide-and-Conquer

Divide&Conquer for Convex Hulls in 3d

Incremental Construction of Convex Hull Sort points lexicographically Insert points one after the other into the partial hull Find lower and upper tangential point: Update partial convex hull Incremental construction algorithm in two dimensions

Incremental Construction of Convex Hull in 3D Before and after adding a point in corner Incremental algorithm, three dimensions

Complexity of Hull Algorithms in 2D and 3D Two dimensional convex hulls: Time complexity Sorting O(n log n) Construction in linear time Space complexity: linear Lower boundary of time complexity Reduction of sorting to hull Space complexity in 3D: Euler s formula V-E+F=2 Verify this for cube: V=8, E=12, F=6 In 3D, E and F are linear in n Consequence: Linearity in space complexity of triangulations Cube V=8,F=6

Complexity in 4 and higher dimensions Complexity issues are summarized in the Upper Bound Theorem. Convex polytopes can have strange behavior: In 4D, there are n points in general position so that the edge joining every pair of points is on the convex hull. Consequence: a 4D convex hull of n points can have O(n 2 ) edges. Cyclic polytops: Discovered in 1900 s, importance comes from Upper Bound Theorem (1971) Normal curves: A point is given by the single parameter u. Consider n values:. Let be corresponding points on normal curve. Then any k-tuple of points with is a face of their convex hull. Four points in general position with their connecting lines Normal curve

Curve: Fix any two i, j. Consider polynomial The polynomial can be written as 4D Example P(t) is nonnegative and the only zeros are at But: is the equation of a hyperplane. This equation evaluates to zero only when. For all other points, the polynomial evaluates to nonnegative, the normal curve lies on the same side of this plane. This plane shows that is on the convex hull.

Upper Bound Theorem Among all d-dimensional convex polytopes with n vertices, the cyclic polytope has the maximum number of faces of each dimension. A d-dimensional convex polytope with n vertices has at most facets. A d-dimensional convex polytope with n vertices has at most faces in total. Asymptotically, a d-dimensional convex polytope has faces.

An Algorithm that Works in Any Dimension Smallest enclosing circle for a point set Smallest enclosing ring for a point set Generalizations: Smallest enclosing ellipse Smallest enclosing sphere, ellipsoid in any dimension Time complexity: linear