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