Quadratic and cubic b-splines by generalizing higher-order voronoi diagrams

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

Monotone Paths in Geometric Triangulations

Voronoi diagram and Delaunay triangulation

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Manifolds. Chapter X. 44. Locally Euclidean Spaces

Surfaces, meshes, and topology

CAT(0)-spaces. Münster, June 22, 2004

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

Computational Geometry

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

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

6.854J / J Advanced Algorithms Fall 2008

08 - Designing Approximating Curves

Pebble Sets in Convex Polygons

Geometric Modeling in Graphics

Lecture 0: Reivew of some basic material

Improved Results on Geometric Hitting Set Problems

Approximating Polygonal Objects by Deformable Smooth Surfaces

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

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Lecture 3 Randomized Algorithms

Parameterization of triangular meshes

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

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Scientific Computing WS 2018/2019. Lecture 12. Jürgen Fuhrmann Lecture 12 Slide 1

Surfaces Beyond Classification

Computation of Voronoi Diagrams and Delaunay Triangulation via Parametric Linear Programming

Bezier Curves, B-Splines, NURBS

The Borsuk-Ulam theorem- A Combinatorial Proof

Delaunay Triangulations

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

Simplicial Complexes: Second Lecture

PTAS for geometric hitting set problems via Local Search

Lecture 1 Discrete Geometric Structures

Outline of the presentation

consisting of compact sets. A spline subdivision scheme generates from such

Computer Graphics Curves and Surfaces. Matthias Teschner

9 Bounds for the Knapsack Problem (March 6)

Computational Geometry

Integral Geometry and the Polynomial Hirsch Conjecture

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions

Parameterization. Michael S. Floater. November 10, 2011

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

Basics of Combinatorial Topology

COMPUTATIONAL GEOMETRY

Intro to Curves Week 1, Lecture 2

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions

Geometric structures on manifolds

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

Computational Geometry Lecture Delaunay Triangulation

A Grid-Based Approximation Algorithm for the Minimum Weight Triangulation Problem

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example).

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

Lecture notes for Topology MMA100

The Game of Hex and Brouwer s Fixed-Point Theorem. Michael Cao

2D Geometry. Pierre Alliez Inria Sophia Antipolis

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

The Graphs of Triangulations of Polygons

Lecture 2 - Introduction to Polytopes

Simplicial Global Optimization

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Computergrafik. Matthias Zwicker. Herbst 2010

Geometric structures on 2-orbifolds

Dirichlet Voronoi Diagrams and Delaunay Triangulations

INTRODUCTION TO FINITE ELEMENT METHODS

CAD & Computational Geometry Course plan

Planarity. 1 Introduction. 2 Topological Results

Voronoi Diagram. Xiao-Ming Fu

Voronoi Diagrams, Delaunay Triangulations and Polytopes

arxiv: v1 [cs.cg] 7 Oct 2017

Elementary Combinatorial Topology

Properties of Blending Functions

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

3D Modeling Parametric Curves & Surfaces

Lecture 17: Continuous Functions

Part 3. Topological Manifolds

The Cyclic Cycle Complex of a Surface

6. Concluding Remarks

Introduction to Voronoi Diagrams and Delaunay Triangulations

Lecture 2 September 3

A PROOF OF THE LOWER BOUND CONJECTURE FOR CONVEX POLYTOPES

Figure 1: A positive crossing

Lifting Transform, Voronoi, Delaunay, Convex Hulls

Rigidity of ball-polyhedra via truncated Voronoi and Delaunay complexes

CLASSIFICATION OF ORDERABLE AND DEFORMABLE COMPACT COXETER POLYHEDRA IN HYPERBOLIC SPACE

Reflection groups 4. Mike Davis. May 19, Sao Paulo

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

Sperner and Tucker s lemma

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

Classifications in Low Dimensions

arxiv: v1 [cs.cg] 8 Jan 2018

SPERNER S LEMMA MOOR XU

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

Linear Programming in Small Dimensions

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

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

FACES OF CONVEX SETS

Finite Element Methods

Transcription:

Quadratic and cubic b-splines by generalizing higher-order voronoi diagrams Yuanxin Liu and Jack Snoeyink Joshua Levine April 18, 2007 Computer Science and Engineering, The Ohio State University 1 / 24

Background Motivation Desire a way to a define a function of arbitrary degree by piecewise polynomials. Can give lots of useful guarantees, like Smoothness, Partition of unity, and Compact support. Often used to interpolate other functions. Also used in the context of defining curves/surfaces that fit through a set of points. Computer Science and Engineering, The Ohio State University 2 / 24

Univariate B-Splines Basic Definition A (univariate) degree k B-spline is a smooth degree k piecewise polynomial function defined over a set K of k + 2 reals called knots. From an arbitrary set K R of knots, we construct a basis for the degree k B-spline by forming a B-spline for each sequence of k + 2 consecutive knots in K. See example at http://ibiblio.org/e-notes/splines/basis.htm. Computer Science and Engineering, The Ohio State University 3 / 24

Multivariate Splines A Challenge Univariate B-splines work well, but we also would like to have splines which are multivariate, or have domain R s for some s. Why is this hard? In R, the knots have a total ordering on them, so we can easily select subsets to build the spline bases. We desire an s-variate analogue that has the following properties: 1. Each spline is define as a piecewise polynomial for a partition of the space determined by K. 2. Splines are smooth. 3. (Polynomial Reproducibility) Can reproduce all polynomials of degree k. 4. (Specialization) For s = 1, the formulation reduces to the univariate case. Of these, 3. and 4. are the most challenging. Computer Science and Engineering, The Ohio State University 4 / 24

Multivariate Splines One solution: Simplex Splines A degree k simplex-spline is a smooth, degree k, piecewise-polynomial function defined over a set of k + s + 1 points X R s called knots. Geometric interpretation: The shadow of some simplex [Y ] in R k+s, projecting the vertices onto X. How to choose the right simplices? Computer Science and Engineering, The Ohio State University 5 / 24

Neamtu s Solution Higher-Order Voronoi Diagrams The Voronoi diagram of order K of the set P is the subdivision of R s into regions, called Voronoi cells (of degree k) such that each cell contains the same k nearest points from K. (Alternatively) let X K be such that X = k. The Voronoi cell, c(x ) is defined as c(x ) := {x R s d(x, X ) d(x, Y ), Y K, Y = k}. Computer Science and Engineering, The Ohio State University 6 / 24

Neamtu s Solution Higher-Order Voronoi Diagrams The Voronoi diagram of order K of the set P is the subdivision of R s into regions, called Voronoi cells (of degree k) such that each cell contains the same k nearest points from K. (Alternatively) let X K be such that X = k. The Voronoi cell, c(x ) is defined as c(x ) := {x R s d(x, X ) d(x, Y ), Y K, Y = k}. Computer Science and Engineering, The Ohio State University 6 / 24

Neamtu s Solution Delaunay Configurations In a knot set K R s, a k + s + 1-subset X K is a degree k Delaunay configuration iff X can be partitioned into two sets, an s + 1-set t and a k-set I such that the circumsphere of t has, of all points in K, exactly I inside. These are connected to the k-th order Voronoi diagram. Computer Science and Engineering, The Ohio State University 7 / 24

Neamtu s Solution Formulation of the spline A set of k + s + 1 knots X R s defines a degree k, s-variate simplex spline M( X ) as follows. Let π( ) : R k+s R s be the vertical projection map. Let Y be any set of points in R k+s such that π(y ) = X. Then the simplex spline is the shadow cast by the simplex [Y ], assumed to be uniformly dense: M(x X ) := vol k{y y Y, π(y) = x}. vol k+s [Y ] Each subset X is called a configuration of degree k w.r.t. K. A set Γ of configurations defines a simplex spline of degree k by span{m( X ) X Γ}. Computer Science and Engineering, The Ohio State University 8 / 24

Neamtu s Solution Extension Neamtu s solution is elegant, but restrictive. All simplices must be Delaunay configurations. Why do we need this? One goal of the paper is generalizing his work to a broader class of triangulations, based on two observations: 1. For polynomial reproduction, we only require few properties of the Delaunay configurations: Degree 0 configurations form a triangulation Configurations of degree i and i + 1 match facets. 2. In two dimensions, the algorithm of Lee (for computing higher order Voronoi diagrams) may be generalized to iteratively compute configurations of successively higher degrees Computer Science and Engineering, The Ohio State University 9 / 24

Facet-Matching Some Notation In R s an n-dimensional simplex is the convex hull of a set of n + 1 affinely independent points (vertices). Often thought of as an ordered tuple [t 0,..., t n ] For a simplex t, the simplex defined by t \ {v} is the facet of t opposite v. We can drop vertices: i t := ( 1) i [t 0,..., t i 1, t i+1,..., t n ]. And add them: v f := [v, f 0,..., f n 1 ]. Or swap: v i t := [t 0,..., t i 1, v, t i+1,..., t n ]. Remark: And of course the usual combinatorial properties of summing simplices up and taking their boundary still apply. In their notation t := { i t i = 0,..., n}. Computer Science and Engineering, The Ohio State University 10 / 24

Facet-Matching Boundary-Interior Configurations In R s, a degree k boundary-interior configuration is a pair (t, I ) where t is a tuple of s + 1 points (representing an s-simplex) and I, the interior set, is a set of k points disjoint from t. A normalized simplex spline over (t, I ) is N( t, I ) := vol(t)m( t I ). Note the union t I. This makes the notion consistent with the Delaunay configuration used before. Much like facets of a simplex are constructed by dropping vertices, we construct facet configurations by dropping vertices, but maintaining the interior. For the configuration (t, I ), v t, I is the facet configuration opposite of v. For a set Γ of configurations, F (Γ) denotes all the facet configurations of Γ. Computer Science and Engineering, The Ohio State University 11 / 24

Facet-Matching Facet Matching Property Definition (3.1) Let Γ and Γ be two sets of configurations of degree k and k + 1, resp. Γ and Γ are said to match facets iff 1. for each facet configuration ( u s, I ) F (Γ), (a) there is either another facet configuration ( v t, J) F (Γ) s.t. v t = u s and I v = J u, (b) or there is a facet configuration ( v t, I ) F (Γ ) s.t. v t = u s and I v = I, 2. and for each facet configuration ( v t, I ) F (Γ ), (a) there is either another facet configuration ( u s, J ) F (Γ ) s.t. v t = u s and I = J, (b) or there is another facet configuration ( u s, I ) F (Γ) s.t. v t = u s and I = I v. Computer Science and Engineering, The Ohio State University 12 / 24

Facet-Matching Facet Matching Property (Example) Computer Science and Engineering, The Ohio State University 13 / 24

Facet-Matching Polynomial Reproduction Theorem Theorem (3.2) Let (Γ 0,..., Γ k ) be sets of configurations of degree 0 to k in R s. If Γ 0 is a triangulation of the space R s, and, for 0 i k 1, sets Γ i and Γ i+1 match facets, then the normalized simplex splines associated with Γ k reproduce all degree k polynomials. For a degree k polynomial p with polar form P, p = P(I )N( t, I ). (t,i ) Γ k The polar form P of a degree n, s-variate polynomial p is the unique function of n vector variables x 1,..., x n R s that is symmetric, affine in each of the n variables, and such that for every x R s the value p(x) is equal to P on the diagonal x 1 =... = x n = x, or p(x) = P(x 1,..., x n ). Computer Science and Engineering, The Ohio State University 14 / 24

Definition Preliminaries Theorem 3.2 tells us that all we need is a sequence of configurations (Γ 0,..., Γ k ) which match facets, but how do we find such a sequence? One method is the link triangulation procedure, which is a generalization of the (dual) construction for higher order Voronoi diagrams. Idea: For a configuration (t, I ) Γ i, we should be able to locally construct a configuration (s, J) for Γ i+1 which can ensure facet matching. Computer Science and Engineering, The Ohio State University 15 / 24

Definition Facet Matching (Restated) The interior sets I (Γ) := {I (t, I ) Γ}. The vertices V (Γ) := {I {v} v t, (t, I ) Γ}. For a set of k points, I, the neighborhood nb(i, Γ) := {t (t, I ) Γ}. For a set of k + 1 points, J, The link lk(j, Γ) := { v t v J, (t, J \ {v}) Γ}. Lemma (4.1) Let Γ and Γ be two sets of configurations of degree k and k + 1. Then Γ and Γ match facets iff for any set of k + 1 points J, the boundary of the neighborhood of J in Γ is the sum of the edges in the link of J in Γ: nb(j, Γ ) = lk(j, Γ). Computer Science and Engineering, The Ohio State University 16 / 24

Definition Algorithm - Link Triangulation Procedure 1 LinkTriangulate(Γ i ) { 2 Γ i+1 3 4 FORALL J V (Γ i ) { 5 P lk(j, Γ i ) 6 IF (P ) { 7 T triangulate(p) 8 Γ i+1 Γ i+1 {(t, J)} t T 9 } 10 } 11 12 RETURN Γ i+1 13 } //end LinkTriangulate Computer Science and Engineering, The Ohio State University 17 / 24

Definition Remarks The link triangulation procedure is well defined if the links of the input configurations are simple polygons. Then there is flexibility in the algorithm as to how to triangulate the link, this gives local control over the construction The authors prove that this can be applied 3 times, starting with a triangulation Γ 0. Hence we can create a sequence of up to degree 3 configurations Computer Science and Engineering, The Ohio State University 18 / 24

Centroid Triangulations A Dual to order k Voronoi Diagrams By an observation of Aurenhammer, an order k Voronoi diagram has a dual triangulation: For each of the k sites defining a Voronoi cell, compute its centroid of the lifted points. The projection of the convex hull of the centroids is a triangulation that is dual. This triangulation can also be constructed by mapping each Delaunay configuration corresponding to the Voronoi vertices to a set of centroid triangles. We can apply the same construction to configurations made by the link triangulation procedure the result is a planar triangulation. Computer Science and Engineering, The Ohio State University 19 / 24

Centroid Triangulations Centroid Triangles For a set of points V R 2, let V denote the centroid of V. A triangle is an order k centroid triangle if 1. its vertices are centroids of k-sets and 2. for any of its edges {U, V }, U V = k 1. The type of an order k centroid triangle [U, V, W ] is the number U V W k. This value is always either 1 or 2. Computer Science and Engineering, The Ohio State University 20 / 24

Centroid Triangulations Connection to configurations For a set of knots K, there is a bijection between the set of all possible order k centroid triangles and the set of all possible degree k 1 and k 2 configurations in K. The following average maps map from a degree i configuration (t, I ) to an order i + 1 and i + 2 centroid triangle: A 1 (t, I ) := [I {t 0 }, I {t 1 }, I {t 2 }] A 2 (t, I ) := [I 0 t, I 1 t, I 2 t] Computer Science and Engineering, The Ohio State University 21 / 24

Centroid Triangulations Example One simple description of the link triangulation procedure: It triangulates the holes left after placing the triangles A 2 (Γ) on the plane. Computer Science and Engineering, The Ohio State University 22 / 24

Centroid Triangulations Example One simple description of the link triangulation procedure: It triangulates the holes left after placing the triangles A 2 (Γ) on the plane. Computer Science and Engineering, The Ohio State University 22 / 24

A Coarser Basis Collecting Splines Given Γ a set of degree k configurations, it makes sense to partition the simplex splines based on neighborhoods to form a coarser basis: {B I ( ) := N( t, I )} I I (Γ). t nb(i,γ) This doesn t break the two properties we were originally seeking. Computer Science and Engineering, The Ohio State University 23 / 24

Conclusions Conclusions Give a generalization of Neamtu s Delaunay configurations for multivariate B-splines that works for a larger class of triangulations. Able to prove some nice properties, but only for low orders. Experimented with reproducing the ZP-Element, a classic box spline. Computer Science and Engineering, The Ohio State University 24 / 24