Computational Geometry

Similar documents
Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Other Voronoi/Delaunay Structures

Lifting Transform, Voronoi, Delaunay, Convex Hulls

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :

Voronoi Diagrams. A Voronoi diagram records everything one would ever want to know about proximity to a set of points

Computational Geometry

Voronoi diagram and Delaunay triangulation

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Three-Dimensional α Shapes

6.854J / J Advanced Algorithms Fall 2008

Optimal Compression of a Polyline with Segments and Arcs

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

274 Curves on Surfaces, Lecture 5

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

CS133 Computational Geometry

Lecture 1 Discrete Geometric Structures

Outline of the presentation

Introduction to Voronoi Diagrams and Delaunay Triangulations

Voronoi Diagram. Xiao-Ming Fu

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

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

Simplicial Complexes: Second Lecture

The Farthest Point Delaunay Triangulation Minimizes Angles

Notes in Computational Geometry Voronoi Diagrams

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

Fortune s Algorithm. Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf

Approximating a set of points by circles

Topology Homework 3. Section Section 3.3. Samuel Otten

2 Delaunay Triangulations

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

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Delaunay Triangulations

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

Lines That Intersect Circles

Computational Geometry Lecture Delaunay Triangulation

Voronoi Diagrams, Delaunay Triangulations and Polytopes

CAD & Computational Geometry Course plan

VoroCrust: Simultaneous Surface Reconstruction and Volume Meshing with Voronoi cells

1 Appendix to notes 2, on Hyperbolic geometry:

Möbius Transformations in Scientific Computing. David Eppstein

Motion Planning. O Rourke, Chapter 8

Lesson 2: Basic Concepts of Geometry

66 III Complexes. R p (r) }.

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

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

We have already studied equations of the line. There are several forms:

notes13.1inclass May 01, 2015

CS S Lecture February 13, 2017

Surface Mesh Generation

COMPUTING CONSTRAINED DELAUNAY

2D Geometry. Pierre Alliez Inria Sophia Antipolis

Topological Data Analysis - I. Afra Zomorodian Department of Computer Science Dartmouth College

Math 3315: Geometry Vocabulary Review Human Dictionary: WORD BANK

Computational Geometry. Definition, Application Areas, and Course Overview

We have already studied equations of the line. There are several forms:

The Medial Axis of the Union of Inner Voronoi Balls in the Plane

Topological estimation using witness complexes. Vin de Silva, Stanford University

Computational Geometry Lecture Duality of Points and Lines

Polygon Triangulation

GEOMETRY CCR MATH STANDARDS

Inversive Plane Geometry

Week 8 Voronoi Diagrams

Definition 1 (Hand-shake model). A hand shake model is an incidence geometry for which every line has exactly two points.

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

COMPUTATIONAL GEOMETRY

2 Geometry Solutions

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

Midpoint Routing algorithms for Delaunay Triangulations

Molecular Shapes and Surfaces *

Common Core Cluster. Experiment with transformations in the plane. Unpacking What does this standard mean that a student will know and be able to do?

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

Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College

District 200 Geometry (I, A) Common Core Curriculum

Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013

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

Basic tool: orientation tests

Spectral Surface Reconstruction from Noisy Point Clouds

Geometry. Cluster: Experiment with transformations in the plane. G.CO.1 G.CO.2. Common Core Institute

Grade 9, 10 or 11- Geometry

Chapter 4 Concepts from Geometry

Dual Complexes of Cubical Subdivisions of R n

Topology 550A Homework 3, Week 3 (Corrections: February 22, 2012)

Standards to Topics. Common Core State Standards 2010 Geometry

Common Core Specifications for Geometry

Simulations of the quadrilateral-based localization

The aim is to find an average between two objects Not an average of two images of objects but an image of the average object!

Lecture 3 Randomized Algorithms

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Approximating Polygonal Objects by Deformable Smooth Surfaces

Lecture Tessellations, fractals, projection. Amit Zoran. Advanced Topics in Digital Design

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Further Graphics. A Brief Introduction to Computational Geometry

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

CSE 5311 Notes 13: Computational Geometry

UNM - PNM STATEWIDE MATHEMATICS CONTEST XLI. February 7, 2009 Second Round Three Hours

Geometric Computations for Simulation

Geometry Definitions and Theorems. Chapter 9. Definitions and Important Terms & Facts

Transcription:

Computational Geometry 600.658

Convexity A set S is convex if for any two points p, q S the line segment pq S. S p S q Not convex Convex?

Convexity A set S is convex if it is the intersection of (possibly infinitely many) half-spaces. S p S q Not convex Convex?

Convex Hull Given a finite set of points P = {p 1,, p n } the convex hull of P is the smallest convex set C such that P C. C p 1 p 1 p n

Convex Hull In 2D, the convex hull of a set of points is made up of line segments with endpoints in P. C p 1 p 1 p n

Convex Hull In 3D, the convex hull is a (triangle) mesh with vertices in P.

Computing the Convex Hull Brute Force (2D): Given a set of points P, test each line segment to see if it is an edge on the convex hull. p 1 p 1 Otherwise the segment is not on the hull If the rest of the points are on one side, the segment is on the hull p n

Computing the Convex Hull Brute Force (2D): Given a set of points P, test each line segment to see if it is an edge on the convex hull. If the rest of the points are on one side, the segment is on the hull p 1 p 1 Otherwise the segment is not on the hull Computational complexity is O(n 3 ): O(n) tests for each of p n O(n 2 ) edges. In d-dimensional space, the complexity is complexity is O(n d+1 )

Computing the Convex Hull Quick Hull: Key idea in general, it s easy to identify internal points, so discard those quickly and focus on points nearer to the boundary.

Computing the Convex Hull Quick Hull: Observation a point falling within any triangle has to be internal and can be discarded.

Computing the Convex Hull QH(S): Choose a, b S with min/max x-coordinate. A points to the right of ab. B points to the left of ab. return QH(A,a,b) QH(B,b,a)

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. B points to the right of cb. return QH(A,a,c) QH(B,c,b)

Computing the Convex Hull QH(S): Choose a, b S with min/max x-coordinate. A points to the right of ab. B points to the left of ab. return QH(A,a,b) QH(B,b,a) a b

Computing the Convex Hull QH(S): Choose a, b S with min/max x-coordinate. A points to the right of ab. B B points to the left of ab. return QH(A,a,b) QH(B,b,a) a A b

Computing the Convex Hull QH(S): Choose a, b S with min/max x-coordinate. A points to the right of ab. B points to the left of ab. return QH(A,a,b) QH(B,b,a) a A b

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. a b B points to the right of cb. return QH(A,a,c) QH(B,c,b) c

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. a b B points to the right of cb. return QH(A,a,c) QH(B,c,b) A c B

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. a b B points to the right of cb. return QH(A,a,c) QH(B,c,b) A c

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. a B points to the right of cb. return QH(A,a,c) QH(B,c,b) b

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. a b B points to the right of cb. return QH(A,a,c) QH(B,c,b) c B

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. b B points to the right of cb. return QH(A,a,c) QH(B,c,b) a c

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. B points to the right of cb. return QH(A,a,c) QH(B,c,b) a A c b B

Computing the Convex Hull QH(S,a,b): if S is empty, return ab. else c point furthest from ab. A points to the right of ac. B points to the right of cb. return QH(A,a,c) QH(B,c,b) a A c b B

Computing the Convex Hull QH(S): Choose a, b S with min/max x-coordinate. A points to the right of ab. B B points to the left of ab. return QH(A,a,b) QH(B,b,a) a b

Computing the Convex Hull QH(S): Choose a, b S with min/max x-coordinate. A points to the right of ab. B points to the left of ab. return QH(A,a,b) QH(B,b,a) Worst-case complexity O(n 2 ) In practice runs in O(n logn)

Voronoi Diagrams Given a finite set of points P the Voronoi Diagram of P is a partition of space into regions R p such that the points in R p are closer to p P than to any other q P.

Voronoi Diagrams Claim: The Voronoi regions, R p, are convex. Proof: Given any other point q P, we can define the half-space H pq of points closer to p than q. q p

Voronoi Diagrams Claim: The Voronoi regions, R p, are convex. Proof: Doing this for all q P, we get R p as the intersection of half-spaces. q q p q q q

Voronoi Diagrams Properties: p R p for all p P.

Voronoi Diagrams Properties: Edges are equidistant to two points in P: We can center a circle on any point on a Voronoi edge whose interior is empty but is tangent to two points.

Voronoi Diagrams Properties: Vertices are equidistant to three points in P. We can center a circumscribing circle on any Voronoi vertex whose interior is empty but is tangent to three points.

Delaunay Triangulations We can construct the dual graph by: Adding edges between pairs of points defining a Voronoi edge Adding triangles between triplets of points defining a Vornoi vertex Need to show that this actually a triangulation: e.g. Edges don t cross

Delaunay Triangulations Properties: The DT is a triangulation of the convex hull. Each D-edge/triangle can be circumscribed by an empty circle. Note that the circle circumscribing a D-triangle does not have to be centered in the triangle. Note that the smallest circle circumscribing a D-edge does not have to be empty.

Computation Given a Voronoi diagram, we can obtain the Delaunay triangulation by computing the dual graph, w/ vertices at points p P. Given a Delaunay triangulation, we can obtain the Voronoi diagram by computing the dual graph, w/ vertices at circum-centers. How do we compute either?

Computation Claim: We can compute the Delaunay triangulation of a point set by lifting the points to a paraboloid: x, y (x, y, x 2 + y 2 ) and computing the lower convex hull. http://research.engineering.wustl.edu/~pless/506/l17.html

Computation Proof: Given a point (a, b, a 2 + b 2 ) on the paraboloid, The projection the tangent of the points plane of intersection is given onto by: the 2D z plane = 2ax is a circle + 2by with radius (a 2 r + around b 2 ) (a,b)! Shifting the plane up by r 2 we get the plane: z = 2ax + 2by a 2 + b 2 + r 2 The shifted plane intersect the paraboloid at: z = x 2 + y 2 = 2ax + 2by a 2 + b 2 + r 2 x a 2 + y b 2 = r 2

Proof: Computation If we have a triangle on the lower convex hull, we can pass a plane through the three vertices. We can drop the plane by r 2 so that it is tangent to the paraboloid. Then the projected vertices of the triangle must lie on a circle of radius r around the point (a, b). r 2 (a,a 2 ) r a

Proof: Computation Since the original plane was on the lower hull, all other points must be above. We can raise the plane until it intersects any other point. The distance from the projection of the point onto the 2D to (a, b) must be larger than r. The circle of radius r around (a, b) contains no other points. a r 2 + ε 2 r 2 (a,a 2 ) r 2 + ε 2 1 2

Definition Given a DT of a set of points, we set G α to be the simplices whose circum-spheres are empty and whose radii are smaller than α. We set the C α to be the α-complex, by taking the union of the elements in G α with simplices on the boundary. The α-shape, C α, is the union of all simplices in C α.

Alpha Shapes Can be comprised of triangles, as well as dangling edges and disconnected vertices. Provides a family of shapes ranging from the convex hull (α = ) to just the points (α = 0).

Contribution The paper presents a new approach for surface reconstruction. It extends earlier work on 2D alpha shapes, describing implementation in 3D.

Key Idea The Delauany Triangulation encodes the building blocks for tets/faces/edges of possible reconstructions. Select from a family of possible reconstructions by grading the simplices and keep those finer than a specified cut-off.

Limitations The method is not guaranteed to generate a manifold surface. The method implicitly assumes that sampling is uniform. It is not clear how well the method works for points sets sampled from a 2D manifold in 3D (can have sliver simplices with large radii).

Guarantees The family of shapes nest ( C α C β for all α < β).

Computational Complexity The single computation of the Delaunay Triangulation, O(n 2 ), can be used to define the whole family of shapes.

Generalizability The method can be extended to arbitrary dimensions. It can be applied to use weighted points (e.g. if sampling density is known)