Parameterization of triangular meshes

Similar documents
Parameterization. Michael S. Floater. November 10, 2011

Generalized barycentric coordinates

Parameterization for curve interpolation

Surface Parameterization

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

An introduction to interpolation and splines

Lecture 2.2 Cubic Splines

On the deviation of a parametric cubic spline interpolant from its data polygon

ECE 600, Dr. Farag, Summer 09

Comparison and affine combination of generalized barycentric coordinates for convex polygons

Digital Geometry Processing Parameterization I

Curve and Surface Basics

Sung-Eui Yoon ( 윤성의 )

Parameterization of Triangular Meshes with Virtual Boundaries

Curves and Surfaces 1

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

CHAPTER 6 Parametric Spline Curves

3D Modeling Parametric Curves & Surfaces

INF3320 Computer Graphics and Discrete Geometry

A new 8-node quadrilateral spline finite element

arxiv: v1 [math.na] 20 Sep 2016

Background for Surface Integration

Parameterization of Triangulations and Unorganized Points

On the Parameterization of Catmull-Rom Curves. Cem Yuksel Scott Schaefer John Keyser Texas A&M University

Interpolation & Polynomial Approximation. Cubic Spline Interpolation II

2D Spline Curves. CS 4620 Lecture 18

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

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

Lecture notes for Topology MMA100

Approximating Point Clouds by Generalized Bézier Surfaces

Generalized Barycentric Coordinates

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

Lecture IV Bézier Curves

Spline Methods Draft. Tom Lyche and Knut Mørken

For each question, indicate whether the statement is true or false by circling T or F, respectively.

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Curves and Surfaces Computer Graphics I Lecture 9

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Spline Methods Draft. Tom Lyche and Knut Mørken

Interpolation by Spline Functions

Curves, Surfaces and Recursive Subdivision

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

Central issues in modelling

7. The Gauss-Bonnet theorem

CS-9645 Introduction to Computer Vision Techniques Winter 2019

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

MOTION OF A LINE SEGMENT WHOSE ENDPOINT PATHS HAVE EQUAL ARC LENGTH. Anton GFRERRER 1 1 University of Technology, Graz, Austria

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

Tripod Configurations

274 Curves on Surfaces, Lecture 5

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

CS 4620 Final Exam. (a) Is a circle C 0 continuous?

Intro to Curves Week 1, Lecture 2

Shape Control of Cubic H-Bézier Curve by Moving Control Point

Shape Modeling. Differential Geometry Primer Smooth Definitions Discrete Theory in a Nutshell. CS 523: Computer Graphics, Spring 2011

2D Spline Curves. CS 4620 Lecture 13

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

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

Discrete Cubic Interpolatory Splines

THE MORTAR FINITE ELEMENT METHOD IN 2D: IMPLEMENTATION IN MATLAB

Shape Modeling and Geometry Processing

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics

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

Geometric approximation of curves and singularities of secant maps Ghosh, Sunayana

Def De orma f tion orma Disney/Pixar

INTRODUCTION TO FINITE ELEMENT METHODS

Math (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines

EXTREME POINTS AND AFFINE EQUIVALENCE

SPIRAL TRANSITION CURVES AND THEIR APPLICATIONS. Zulfiqar Habib and Manabu Sakai. Received August 21, 2003

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

On Smooth Bicubic Surfaces from Quad Meshes

We have set up our axioms to deal with the geometry of space but have not yet developed these ideas much. Let s redress that imbalance.

Intro to Curves Week 4, Lecture 7

Parameterization of Meshes

Assignment 4: Mesh Parametrization

Finite Element Methods

(Discrete) Differential Geometry

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces

Geometric structures on manifolds

Introduction to Computer Graphics

Bezier Curves, B-Splines, NURBS

Interpolation and Splines

Computer Graphics Curves and Surfaces. Matthias Teschner

Conforming Vector Interpolation Functions for Polyhedral Meshes

Dual Interpolants for Finite Element Methods

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN

Splines. Connecting the Dots

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3

9. Three Dimensional Object Representations

u 0+u 2 new boundary vertex

Intersection of a Triangle and a Cone

Subdivision on Arbitrary Meshes: Algorithms and Theory

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Computer Graphics I Lecture 11

Adaptive and Smooth Surface Construction by Triangular A-Patches

Lecture 3: Art Gallery Problems and Polygon Triangulation

Transcription:

Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point cloud data. However, we often want a smoother surface representation, and hence the need arises to fit a smooth parametric surface through the vertices of the mesh. This requires making a suitable parameterization. Parameterizations are also useful for texture mapping and other processes in computer graphics. In this lecture we review some simple parameterization methods, including convex combination maps and discrete harmonic maps. 1 Parameterization of polygons A standard approach to fitting a smooth parametric curve c(t) through a sequence of points x i = (x i, y i, z i ) R 3, i = 0, 1,..., n, is to start by choosing a parameterization, a corresponding increasing sequence of parameter values t 0 < t 1 < < t n. Then by finding smooth functions x, y, z : [t 0, t n ] R for which x(t i ) = x i, y(t i ) = y i, z(t i ) = z i, an interpolatory curve c(t) = (x(t), y(t), z(t)) results, i.e., a curve c : [t 0, t n ] R 3 such that c(t i ) = x i for each i. In order to discuss different parameterization methods, we will use the example of C 2 cubic spline interpolation. There is a unique C 2 cubic spline curve σ : [t 0, t n ] R d such that σ(t i ) = x i, i = 0, 1,..., n, and σ (t i ) = m i, i = 0, n, (1) 1

for some chosen vectors m 0, m n. By cubic spline curve we understand that σ is a cubic polynomial curve in each interval [t i, t i+1 ], and that σ has C 2 continuity at the break points t 1,...,t n 1. The end conditions (1) are sometimes known as clamped end conditions, and this kind of spline interpolation is sometimes called complete spline interpolation. The first thing to note about parameterization is that applying a linear transformation to t 0,..., t n does not change the resulting spline curve. Provided we treat the end conditions (1) correctly, we simply get a reparameterization of σ. To be precise, if we define ˆt i := λt i + µ, i = 0, 1,..., n, for λ > 0 and we define the curve ˆσ : [ˆt 0, ˆt n ] R d by ˆσ(t) := σ((t µ)/λ), then ˆσ is clearly a C 2 cubic spline curve over the partition ˆt 0 < ˆt 1 < < ˆt n, satisfying the conditions and ˆσ(ˆt i ) = x i, i = 0, 1,..., n, ˆσ (ˆt i ) = m i /λ, i = 0, n. For this reason, we may as well set t 0 = 0 and we typically specify a parameterization by recursively setting t i+1 := t i + d i for some chosen interval lengths d 0, d 1,...,d n 1 > 0. Multiplying the interval lengths d i by a common factor λ will not change the intrinsic geometry of the spline curve σ as long as we divide the vectors m 0 and m n by the same factor λ. The simplest choice is the uniform parameterization defined by d i = 1, where the values t i are uniformly spaced. But as early as 1967, Ahlberg, Nilson, and Walsh proposed using the chordal parameterization in which d i := x i+1 x i, (2) and denotes the Euclidean norm in R d. The motivation behind this is that the distance between two points on a curve is a reasonable approximation to the length of the associated curve segment. Thus the hope is that the 2

speed σ (t) of the spline curve might be close to unity at all t [t 0, t n ]. In practice, the chordal parameterization often does a better job of avoiding the cusps and self-intersections that sometimes occur with the uniform parameterization when the distances between points varies a lot. Later, it was realized that the uniform and chordal parameterizations are the special cases µ = 0 and µ = 1 of the more general parameterization d i := x i+1 x i µ, with 0 µ 1 acting as a kind of blending parameter. The choice µ = 1/2 was termed by Lee the centripetal parameterization. He suggested that it typically leads to a spline curve that looks smoother than the uniform and chordal ones. Consider now how we might generalize some of these methods to triangular meshes. The following theorem provides some ideas. Theorem 1 Suppose t 0 < t 1 < < t n and L 0, L 1,...,L n 1 > 0. The following three statements are equivalent: 1. there is some µ > 0 such that t i+1 = t i + µl i for i = 0, 1,..., n 1, 2. t 1,...,t n 1 minimize F(t 1,...,t n 1 ) = n 1 i=0 (t i+1 t i ) 2 L i, 3. ( ) ( ) L i Li 1 t i = t i 1 + t i+1, i = 1,...,n 1. L i 1 + L i L i 1 + L i 2 Parameterization of triangular meshes We now describe a general method for constructing a parameterization of triangular mesh in R 3. We denote by S the set of triangles in the mesh and V its vertices and E its edges. We let Ω S R 3 be the union of the triangles in S. Then we define a parameterization of S as a continuous piecewise 3

(a) uniform (b) chordal (c) centripetal Figure 1: Choice of parameterization for cubic spline interpolation. linear mapping ψ : Ω S R 2. Then ψ maps each vertex, edge, and triangle of S to a corresponding vertex, edge, and triangle in R 2. Such a mapping is completely determined by the points ψ(v), v V. Let V I denote the interior vertices of S and V B the boundary ones. The boundary vertices of S form a polygon S in R 3 which we call the boundary polygon of S. Two distinct vertices v and w in S are neighbours if they are the end points of some edge in S. For each v V, let N v = {w V : [w,v] E}, the set of neighbours of v, where E = E(S) is the set of edges in S. The first step of the method is to choose any points ψ(v) R 2, for v V B, such that the boundary polygon S of S is mapped into a simple polygon ψ( S) in the plane. In the second step, for v V I, we choose a set of strictly positive values λ vw, for w N v, such that w N v λ vw = 1. (3) Then we let the points ψ(v) in R 2, for v V I, be the unique solutions of the linear system of equations ψ(v) = w N v λ vw ψ(w), v V I. (4) Since these equations force each point ψ(v) to be a convex combination of its neighbouring points ψ(w), we call ψ a convex combination mapping. Fig. 2 shows an example of a triangular mesh in R 3. Fig. 3 shows a convex 4

Figure 2: Triangular mesh in R 3 (a) Figure 3: Parameterization (triangular mesh in R 2 ) (a) and resulting tensorproduct spline approximation (b) (b) combination mapping of S into a planar mesh T, whose boundary was chosen to be a rectangle. Fig. 3 also shows a tensor-product spline approximation (in fact a least square approximation) to the vertices of S based on their parameter points, the vertices of T. Let us take a closer look at the linear system. We must show that it has a unique solution. To this end, note that it can be rewritten in the form ψ(v) λ vw ψ(w) = λ vw ψ(w), v V I. (5) w N v V I w N v V B This can be written as the matrix equation Ax = b, 5

where x = (ψ(w)) w VI is the column vector of unknowns in some arbitrary ordering, b is the column vector whose elements are the right hand sides of (5), and the matrix A = (a vw ) v,w VI has dimension n n, with n = V I, and elements 1, w = v, a vw = λ vw, w N v, 0, otherwise. The existence and uniqueness of the solution to (4) follows from the structure of the matrix A, namely that its off diagonal elements are either zero or negative and each row of A is diagonally dominant. Moreover every row corresponding to a vertex v V I which has at least one neighbour in V B is strictly diagonally dominant and every interior vertex can be connected to the boundary by a path of vertices. A standard result in linear algebra shows then that A is non-singular (in fact A is a so-called M-matrix, and such matrices frequently occur in numerical approximations to elliptic partial differential equations. An interesting question is whether ψ is one-to-one. It will not be one-toone in general but the following result gives a sufficient condition. The proof is beyond the scope of this course. We say that an interior edge of S is a dividing edge of S if both its end points are boundary vertices of S. Theorem 2 If ψ( Ω) is convex and no dividing edge [v, w] is mapped by ψ into Ω then ψ is injective. 3 Choosing the Weights A simple choice of weights λ vw is to take them to be uniform, i.e., constant for each vertex v, so that λ vw = 1/d(v), w N v where d(v) is the degree N v of v. Then every interior vertex ψ(v) of the solution to the linear system will be the barycentre of its neighbours. However, numerical examples show that this uniform parameterization usually leads to poor spline surfaces when used for approximation. Look for example at Figures 4 and 5. Figure 4 shows a mesh S and Figure 5 shows a uniform parameterization T of S together with a Clough-Tocher interpolant (a C 1 piecewise cubic interpolant) to S over the mesh T. Clearly the iso-curves are badly behaved. One reason for the bad behaviour of the surface approximation is that the weights λ vw are independent of the geometry of the vertices v of S. In 6

Figure 4: Triangular mesh in R 3 (a) (b) Figure 5: Uniform parameterization (a) and Clough-Tocher interpolant (b) 7

practice it better to choose weights for which the Euclidean distance v w N v λ vw w (6) between v and w N v λ vw w is as small as possible and in particular, when v and its neighbours lie in a plane, we should have v = w N v λ vw w. (7) This latter condition implies linear precision: if the whole mesh S lies in a plane and ψ S is an affine mapping then the whole convex combination mapping ψ is an affine mapping. A choice of weights that achieves this is the mean value weights: λ vw = w vw / u N v w vu, where tan(α/2) + tan(β/2) w vw =, w v and α and β are the angles at the vertex v of the two triangles adjacent to the edge [v,w]. Figure 6 shows the result of interpolating S of Figure 4 with a Clough-Tocher interpolant over the mean value parameterization of S. The surface approximation is clearly better than that of Figure 5, using uniform parameterization. The effect of choosing different boundary polygons ψ( S) is shown in Figures 7 and 8. In Fig. 8(a) the parameter points of the boundary vertices of the mesh in 7 were distributed by chord length on a rectangle and in in Fig. 8(b) on a circle. 4 Weighted Least Squares A special case of convex combination parameterizations arises from minimizing so-called spring energy. First, choose as before a convex polygon ψ( S). Secondly, for each interior edge [v,w] in S choose some value µ vw = µ wv > 0. Then let the points ψ(v), v V I, minimize the function F = µ vw ψ(v) ψ(w) 2. (8) [v,w] E 8

(a) (b) Figure 6: Mean value parameterization (a) and Clough-Tocher interpolant (b) Figure 7: Triangular mesh in R 3 9

(a) (b) Figure 8: Mean value parameterizations of the mesh in Figure 7 The normal equations for (8) are w N ψ(v) = v µ vw ψ(w), v V I w N v µ vw and so minimizing F is equivalent to solving (4) where λ vw = µ vw w N v µ vw, v V I, w N v. Notice that in general λ vw λ wv even though µ vw = µ wv. As an example one might choose µ vw = 1/ v w, but this method does not have linear precision. Currently it is not known whether it is possible to find positive coefficients µ vw that yield linear precision. A choice of coefficients which does have linear precision comes from the finite element discretization of the harmonic map, but the coefficients are not in general positive, and so Theorem 2 is no longer applicable, and the mapping in some cases is not injective. However, in practice this pararmeterization often is injective and yields results similar to that of the mean value parameterization. The discrete harmonic map is based on the fact that harmonic maps minimize the Dirichlet energy which is defined as E D (ψ) = ψ 2. Ω S A calculation shows that E D (ψ) can be expressed in the form (8) with µ vw = 1 (cotδ + cot γ), 4 10

where δ and γ are the angles opposite to [v, w] in the two triangles adjacent to it. Since sin(δ + γ) cot δ + cotγ = sin δ sin γ, this means that µ vw 0 if and only if δ + γ π. 11