Parameterization. Michael S. Floater. November 10, 2011

Similar documents
Parameterization of triangular meshes

Generalized barycentric coordinates

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

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

Parameterization for curve interpolation

ECE 600, Dr. Farag, Summer 09

An introduction to interpolation and splines

Surface Parameterization

Interpolation & Polynomial Approximation. Cubic Spline Interpolation II

Lecture 2.2 Cubic Splines

Curves and Surfaces 1

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

Comparison and affine combination of generalized barycentric coordinates for convex polygons

2D Spline Curves. CS 4620 Lecture 18

Spline Methods Draft. Tom Lyche and Knut Mørken

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

Spline Methods Draft. Tom Lyche and Knut Mørken

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

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

INF3320 Computer Graphics and Discrete Geometry

Curve and Surface Basics

Digital Geometry Processing Parameterization I

Parameterization of Triangular Meshes with Virtual Boundaries

Curves and Surfaces Computer Graphics I Lecture 9

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

2D Spline Curves. CS 4620 Lecture 13

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

u 0+u 2 new boundary vertex

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

Central issues in modelling

Lecture IV Bézier Curves

Background for Surface Integration

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

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

Sung-Eui Yoon ( 윤성의 )

Computational Geometry

Intro to Curves Week 1, Lecture 2

Shape Modeling and Geometry Processing

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Lecture 3.2 Methods for Structured Mesh Generation

274 Curves on Surfaces, Lecture 5

9. Three Dimensional Object Representations

Curves, Surfaces and Recursive Subdivision

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

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Introduction to Computer Graphics

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

3D Modeling Parametric Curves & Surfaces

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

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN

7. The Gauss-Bonnet theorem

Computational Physics PHYS 420

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

Discrete Cubic Interpolatory Splines

B-spline Curves. Smoother than other curve forms

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Curves and Surfaces Computer Graphics I Lecture 10

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

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

Splines. Connecting the Dots

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

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

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Discrete Coons patches

(Discrete) Differential Geometry

Approximating Point Clouds by Generalized Bézier Surfaces

Computational Geometry

Intro to Curves Week 4, Lecture 7

Bezier Curves, B-Splines, NURBS

A new 8-node quadrilateral spline finite element

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

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

Def De orma f tion orma Disney/Pixar

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

Adaptive and Smooth Surface Construction by Triangular A-Patches

High School Geometry. Correlation of the ALEKS course High School Geometry to the ACT College Readiness Standards for Mathematics

CHAPTER 6 Parametric Spline Curves

Course Number: Course Title: Geometry

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

February 2017 (1/20) 2 Piecewise Polynomial Interpolation 2.2 (Natural) Cubic Splines. MA378/531 Numerical Analysis II ( NA2 )

Parameterization of Triangulations and Unorganized Points

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

Computer Graphics I Lecture 11

Finite Element Methods

arxiv: v1 [math.na] 20 Sep 2016

Practical Linear Algebra: A Geometry Toolbox

Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

CS559 Computer Graphics Fall 2015

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Computergrafik. Matthias Zwicker. Herbst 2010

Lecture 9: Introduction to Spline Curves

CS-9645 Introduction to Computer Vision Techniques Winter 2019

Physically-Based Modeling and Animation. University of Missouri at Columbia

Textures and normals in ray tracing

Programming, numerics and optimization

Almost Curvature Continuous Fitting of B-Spline Surfaces

Digital convex fuzzy hull

Glossary of dictionary terms in the AP geometry units

Transcription:

Parameterization Michael S. Floater November 10, 2011 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 parameterization methods. 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 s : [t 0, t n ] R d such that and s(t i ) = x i, i = 0, 1,..., n, s (t i ) = m i, i = 0, n, (1) for some chosen vectors m 0, m n. By cubic spline curve we understand that s is a cubic polynomial curve in each interval [t i, t i+1 ], and that s has C 2 continuity at the break points t 1,...,t n 1. The end conditions (1) are sometimes 1

(a) uniform (b) chordal (c) centripetal Figure 1: Choice of parameterization for cubic spline interpolation. known as clamped end conditions, and this kind of spline interpolation is sometimes called complete spline interpolation. A typical way to choose parameter values is to set t 0 = 0 and recursively let t i+1 := t i + L i, (2) for some chosen interval lengths L 0, L 1,...,L n 1 > 0. The simplest choice is the uniform parameterization defined by L i = 1, so that the values t i are uniformly spaced; see Figure (1). But as early as 1967, Ahlberg, Nilson, and Walsh proposed using the chordal parameterization in which L i is taken to be the length of the line segment ( chord ) [x i,x i+1 ], i.e., L i := x i+1 x i, (3) where is the Euclidean norm in R d. The motivation behind this is that if the points x i are samples from some (typically unknown) curve and if that curve is smooth enough and the points are relatively densely sampled, then the chord length x i+1 x i is a good approximation to the arc length of the curve between x i and x i+1. 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 there is a lot of variation in the distances between the points x i. Later, it was observed that the uniform and chordal parameterizations are the special cases µ = 0 and µ = 1 of the more general parameterization L 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 and it has been found 2

that it tends to lead to a spline curve that stays close to the polygon defined by the x i. Consider now how we might generalize the incremental method (2) to points arranged in a triangular mesh, with a view to computing parameter points for surface fitting. One approach is to reformulate (2) as a linear system of equations, with t 0 and t n acting as boundary conditions. Since t i t i 1 = L i 1, t i+1 t i = L i, for i = 1,...,n 1, we have the equations ( ) ( ) 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 Thus, for general L i, these equations simply force the parameter value t i to be some convex combination of the neighbouring values t i 1 and t i+1, and therefore, lie between them. We also now see that the chordal parameterization has the linear precision property: if for any i, x i = (1 λ)x i 1 + λx i+1, for some λ, 0 < λ < 1, which means that x i 1, x i, and x i+1 lie in a straight line, then t i = (1 λ)t i 1 + λt i+1. This is a property that we can mimic in the surface case. 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 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 3

Figure 2: Triangular mesh in R 3 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. (4) 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. (5) 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 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. 4

(a) Figure 3: Parameterization (triangular mesh in R 2 ) (a) and resulting tensorproduct spline approximation (b) (b) 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. (6) w N v V I w N v V B This can be written as the matrix equation Ax = b, 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 (6), 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 (5) 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 5

Figure 4: Triangular mesh in R 3 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 1 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 spline approximation 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 practice it better to choose weights that share the linear precision property 6

(a) (b) Figure 5: Uniform parameterization (a) and spline approximation (b) of the chordal parameterization for curves. We would like weights λ vw that have the property that when v and its neighbours lie in a plane, then v = w N v λ vw w. (7) Weights that achieve this and are also positive are the mean value weights: λ vw = w vw / u N v w vu, where w vw = tan(α/2) + tan(β/2), 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 spline approximation 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 Fig. 8(b) on a circle. The mean value parameterization has turned out to be a successful and popular method for parameterizing triangular meshes, both for surface fitting and for texture mapping in computer graphics. 7

(a) (b) Figure 6: Mean value parameterization (a) and spline approximation (b) Figure 7: Triangular mesh in R 3 (a) (b) Figure 8: Mean value parameterizations of the mesh in Figure 7 8