Parametrization and smooth approximation of surface ... › ~misha › Fall09 ›...

17
Parametrization and smooth approximation of surface triangulations Michael S. Floater * Departamento de Matem´atica Aplicada, Universidad de Zaragoza, Spain December 1995, revised June 1996 Abstract. A method based on graph theory is investigated for creating global parametrizations for surface triangulations for the purpose of smooth surface fitting. The parametrizations, which are planar triangulations, are the solutions of linear systems based on convex combinations. A particular parametrization, called shape-preserving, is found to lead to visually smooth surface approximations. §1. Introduction A standard approach to fitting a smooth parametric curve c(t) through a given sequence of points x i =(x i ,y i ,z i ) IR 3 , i =1,...,N is to first make a parametrization,a corresponding increasing sequence of parameter values t i . By finding smooth functions x, y, z :[t 1 ,t N ] IR 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. Two commonly used parametrizations are the uniform and chord length ones, in which (t i+1 t i )/(t i t i1 )=1, (1) and (t i+1 t i )/(t i t i1 )= x i+1 x i /x i x i1 , (2) respectively [2], [6]. In this paper we investigate, by way of numerical examples, a method for making parametrizations for a surface triangulation S (having triangular facets and a boundary), based on a method proposed by Tutte [25] for making straight line drawings of planar graphs. The nodes x i IR 3 of S are mapped to points u i =(u i ,v i ) D, for some convex D IR 2 , in such a way that the image of S is a planar triangulation P . The basic idea is to set each u i to be a convex combination of its neighbours. By considering certain particular convex combinations, three particular parametrizations are introduced: uniform, weighted least squares, and shape-preserving. The first generalizes (1) and the second and third both generalize (2). The name ‘shape-preserving’ is chosen because this parametrization has a reproduction property (Proposition 6). Using a suitable scattered data method [11], smooth functions x, y, z : D IR, can be constructed independently to satisfy x(u i )= x i , y(u i )= y i , z (u i )= z i . (3) A parametric surface s : D IR 3 satisfying s(u i )= x i then results from setting s(u)=(x(u),y(u),z (u)), u D. (4) * The author was partly supported by the EU project CHRX-CT94-0522. 1

Transcript of Parametrization and smooth approximation of surface ... › ~misha › Fall09 ›...

Page 1: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Parametrization and smooth approximationof surface triangulations

Michael S. Floater *Departamento de Matematica Aplicada, Universidad de Zaragoza, Spain

December 1995, revised June 1996

Abstract. A method based on graph theory is investigated for creating global parametrizations

for surface triangulations for the purpose of smooth surface fitting. The parametrizations, which are

planar triangulations, are the solutions of linear systems based on convex combinations. A particular

parametrization, called shape-preserving, is found to lead to visually smooth surface approximations.

§1. Introduction

A standard approach to fitting a smooth parametric curve c(t) through a given sequenceof points xi = (xi, yi, zi) ∈ IR3, i = 1, . . . , N is to first make a parametrization, acorresponding increasing sequence of parameter values ti. By finding smooth functionsx, y, z : [t1, tN ] → IR for which x(ti) = xi, y(ti) = yi, z(ti) = zi, an interpolatory curvec(t) = (x(t), y(t), z(t)) results. Two commonly used parametrizations are the uniform andchord length ones, in which

(ti+1 − ti)/(ti − ti−1) = 1, (1)

and(ti+1 − ti)/(ti − ti−1) = ‖xi+1 − xi‖/‖xi − xi−1‖, (2)

respectively [2], [6].In this paper we investigate, by way of numerical examples, a method for making

parametrizations for a surface triangulation S (having triangular facets and a boundary),based on a method proposed by Tutte [25] for making straight line drawings of planargraphs. The nodes xi ∈ IR3 of S are mapped to points ui = (ui, vi) ∈ D, for some convexD ⊂ IR2, in such a way that the image of S is a planar triangulation P.

The basic idea is to set each ui to be a convex combination of its neighbours. Byconsidering certain particular convex combinations, three particular parametrizations areintroduced: uniform, weighted least squares, and shape-preserving. The first generalizes(1) and the second and third both generalize (2). The name ‘shape-preserving’ is chosenbecause this parametrization has a reproduction property (Proposition 6).

Using a suitable scattered data method [11], smooth functions x, y, z : D → IR, canbe constructed independently to satisfy

x(ui) = xi, y(ui) = yi, z(ui) = zi. (3)

A parametric surface s : D → IR3 satisfying s(ui) = xi then results from setting

s(u) = (x(u), y(u), z(u)), u ∈ D. (4)

* The author was partly supported by the EU project CHRX-CT94-0522.

1

Page 2: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Though many surface triangulations cannot be mapped into IR2 without considerable de-formation, it has been found that surface interpolants s based on the shape-preservingparametrization are visually smooth. Moreover choosing D to be the unit square andusing a two phase method of scattered data approximation [11], the entire surface tri-angulation can be smoothly approximated by a single tensor-product spline surface s′, apopular surface type in applications.

Most existing methods for approximating surface triangulations fit one or more piece-wise polynomial patches to each triangular facet so that the overall geometric continuityis Gk, for some k. Such methods are surveyed by Lounsberry, Mann and DeRose [15].However this will generate a large amount of data when the number of triangles is high.If the triangulation is a single patch it may be preferable to approximate it with a singleparametric surface, for example a tensor-product spline. Milroy et al. [18] have made suchapproximations directly via a non-linear minimization.

Techniques for mapping and transforming triangulations have been proposed by Mail-lot et al. [16] and Li et al. [14]. The method in [16] is to minimize an energy functionalbased on the theory of elasticity, while that in [14] is a numerical approximation, usingfinite elements or finite differences of elliptic equations.

§2. Graphs and triangulations

We shall draw some standard definitions from graph theory; see [17]. A (simple) graphG = G(V,E) is a set of nodes V = {i : i = 1, . . . , N} and a set of edges E, a subset ofthe set of all unordered pairs of nodes (i, j), (i 6= j). A node j is a neighbour of node i if(i, j) ∈ E. The degree di of the i-th node is the number of its neighbours. A graph H is asubgraph of a graph G if both its nodes and edges belong to G.

A graph G is said to be planar if it can be embedded in the plane such that(a) each node i is mapped to a point in IR2,(b) each edge (i, j) ∈ E is mapped to a curve whose endpoints are i and j,(c) the only intersections between curves are at common endpoints.

Such a planar embedding of G is referred to by Nishizeki [19] as a plane graph. A planegraph partitions the plane into connected regions called faces. In particular the unboundedface is called the outer face. Different embeddings of a planar graph may partition theplane in different ways and this justifies the separate term plane graph.

The subsequent definitions have been chosen to suit the particular applications wehave in mind. Let G be a plane graph and define ∂G as the subgraph consisting of allnodes and edges which are incident on the outer face. If ∂G is a simple planar curve thenwe shall say that G is simply connected and that ∂G is the boundary of G.

We shall say that a plane graph is triangulated if all its bounded faces are triangular,i.e. have three edges (no demand is placed on the outer face).

In this paper G will always be a simply-connected triangulated plane graph, withN ≥ 3. An example is shown in Figure 1. Though the methods to be discussed cancertainly be generalized to a wider range of graphs, including many having faces with morethan three edges, this might complicate the exposition unduly and moreover triangulatedgraphs enjoy some particularly nice properties (see Proposition 4).

We can now describe the triangulations we are interested in.

2

Page 3: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

x

y

z

S

G

u

v P

Fig. 1. A graph, a surface triangulation, and parametrization.

Definition 1. A planar triangulation P is a simply-connected triangulated plane graphwhose edges are straight lines.

Let F be the set of bounded (triangular) faces of G and we write G = G(V,E, F ).

Definition 2. A surface triangulation S = S(G,X) is an embedding in IR3 of a simply-connected triangulated plane graph G(V,E, F ), V = {i : i = 1, . . . , N}, with node setX = {xi ∈ IR3 : i = 1, . . . , N}, and with straight lines for edges and triangular facets forfaces.

Figure 1 shows an example. We remark that our surface triangulation is less generalthan the triangulations discussed by Schumaker [23] where the topology can be arbitrary.

§3. Parametrizations

Since the boundary ∂G of a simply-connected plane graph G is a simple closed planar curveit has a well-defined orientation, which we will take as the anticlockwise direction.

Definition 3. Two simply-connected triangulated plane graphs G1 and G2 are isomor-

phic if there is a 1-1 correspondence between their nodes, edges, and faces in a such away that: corresponding edges join corresponding points; corresponding faces join corre-sponding points and edges; and the two anticlockwise sequences of nodes in ∂G1 and ∂G2

correspond.

We are now ready to formulate our notion of a parametrization for a surface triangu-lation; see Figure 1.

Definition 4. A parametrization of a surface triangulation S(G,X) is any planar trian-gulation P which is isomorphic to G.

In this paper we are concerned with finding a parametrization P for a given surfacetriangulation S for the purpose of approximating S by a smooth parametric surface. Wenote from Definition 4 that P need not in general depend on the geometry of S, definedby the points in X. However our numerical examples will demonstrate that in order toapproximate S by a smooth surface, the local geometry of P ought to mimic the localgeometry of S.

3

Page 4: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Example 1. Let u1, . . . ,uN , N ≥ 3, be arbitrary pairwise distinct points in IR2, not allcolinear, and let z1, . . . , zN ∈ IR be arbitrary. Let P be any triangulation, for example theDelaunay triangulation [20], [21], of the ui and set xi = (ui, vi, zi), for i = 1, . . . , N , whereui = (ui, vi). Then P is a planar triangulation and S(P,X) is a surface triangulation withparametrization P.

In Example 1, a natural parametrization P is provided for approximating S. If zi =f(ui, vi) for some unknown C1 function f : IR2 → IR, it is usual to approximate f bya spline function g : IR2 → IR. Yet, especially if f has steep gradients, a much betterresult might be obtained by approximating S and hence the surface (u, v) 7→ (u, v, f(u, v))by a parametric surface s : IR2 → IR3. This allows the possibility of choosing otherparametrizations of S which may yield smoother surface approximations.

Example 2. Let s : [0, 1]× [0, 1] → IR3 be a smooth surface and let u1, . . . ,uN , N ≥ 3, bearbitrary pairwise distinct points in [0, 1]×[0, 1], not all colinear. Let P be any triangulationof the ui. If xi = s(ui), X = {xi : i = 1, . . . , N} then S(P,X) is a surface triangulationand P is a parametrization of it.

We remark that S in Example 2 need not be injectively projectable onto the plane asin Example 1.

Surface triangulations also arise as crude approximations of various kinds of non-explicit data sets such as cross-sectional data [22], [9] and densely scattered data sampledfrom three-dimensional objects [13], provided the topology is suitable. In these casesusually no parametrization is available and it is especially important to be able to constructone.

§4. Method for parametrization

Finding any parametrization P for a given surface triangulation S can be seen to beequivalent to finding a planar triangulation (with straight line edges) isomorphic to agiven triangulated plane graph G. In the language of graph theory this is a matter ofconstructing a straight line drawing of a plane graph. It was first shown by Fary [8], usinga proof by induction, that every (simple) plane graph has a straight line drawing.

Later, in [24,25], Tutte gave a constructive proof employing a method known as the‘barycentric mapping’ for making such a drawing. The boundary nodes of G are mappedto the boundary of any convex polygon and every internal node in the drawing is definedto be the centre of mass of its neighbours, their barycentre; see Figure 2. The readeris referred to Chiba et al. [3] and Nishizeki [19] for discussions and further methods forconstructing straight line drawings of planar graphs.

Tutte’s barycentric mapping is the start point for the remainder of this paper. In thefollowing pages we will proceed by

(i) first observing that the barycentric mapping can be made much more general byallowing each internal node to be any convex combination of its neighbours, and

(ii) provide an algorithm for choosing the convex combinations so that P locallypreserves the shape of S.

Let S(G,X), with G = G(V,E, F ), be a surface triangulation with node set X = {xi =(xi, yi, zi)}, 1 ≤ i ≤ N . Assume, by relabelling nodes if necessary, that x1, . . . ,xn are the

4

Page 5: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Fig. 2. The barycentric mapping.

internal nodes and xn+1, . . . ,xN are the boundary nodes in any anticlockwise sequencewith respect to the boundary of G. Let K = N − n. Consider the following definitions.

(1) Chooseun+1, . . . ,uN , (5)

to be the vertices of any K-sided convex polygon D ⊂ IR2 in an anticlockwisesequence.

(2) For each i ∈ {1, . . . , n}, choose any set of real numbers λi,j for j = 1, . . . , N suchthat

λi,j = 0, (i, j) 6∈ E, λi,j > 0, (i, j) ∈ E,N

j=1

λi,j = 1, (6)

and define u1, . . . ,un to be the solutions of the linear system of equations,

ui =N

j=1

λi,juj , i = 1, . . . , n. (7)

Finally let

P = P(G, Ub,Λ), with Ub = {un+1, . . . ,uN}, and Λ = (λi,j)i=1,...,n, j=1,...,N ,(8)

be the embedding of G(V,E, F ) in IR2 with nodes u1, . . . ,un, straight lines foredges, and triangles for faces.

Note that the equations in (7) demand that every internal point ui be a strict convexcombination of its neighbours.

We wish to show that P is a parametrization of S. From Definitions 3 and 4 we see,provided P is well-defined, that since P is isomorphic to G, P is a parametrization providedit is a valid planar triangulation. It is thus only necessary to show that the nodes ui ∈ Pare well-defined, distinct and that no two edges intersect except at common end points.

Tutte [25] was interested in a method of making a straight line drawing of a planargraph. For a large class of plane graphs G, including triangulated ones, he proposedequations (7) in the special case when λi,j = 1/di for all (i, j) ∈ E, i = 1, . . . , n (i.e.ui is the barycentre of its neighbours). He proved in this case that they have a unique

5

Page 6: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

solution and that P is a straight line drawing, that is to say that u1, . . . ,un are unique,distinct and no two edges of P intersect except at common end points. In our case Gis a simply-connected triangulated plane graph. Thus P is a parametrization of S(G,X)whenever λi,j = 1/di for all (i, j) ∈ E, i = 1, . . . , n.

We now consider the case of general λi,j in (6). The important thing is to show that(7) has a unique solution. To this end, note that it can be rewritten in the form

ui −

n∑

j=1

λi,juj =

N∑

j=n+1

λi,juj , i = 1, . . . , n. (9)

By considering the two components ui and vi of ui separately this is equivalent to the twomatrix equations

Au = b1, Av = b2. (10)

Here u and v are the column vectors (u1 . . . un)T and (v1 . . . vn)T respectively. The matrixA is n × n having elements

ai,i = 1, ai,j = −λi,j , j 6= i.

The existence and uniqueness of a solution to (7) is thus equivalent to the non-singularity ofthe matrix A. The proof of the following result is based on a proof in [1] of the invertibilityof a matrix occuring from a finite difference approximation of Poisson’s equation ∆u = fin two dimensions.

Proposition 1. The matrix A is non-singular.

Proof. That A is non-singular is equivalent to the property that the only solution of theequation Aw = 0 is w = 0 [1]. From (7) the equation Aw = 0 can be written as

wi =N

j=1

λi,jwj , i = 1, . . . , n, (11)

where wn+1 = · · · = wN = 0.Let wmax be the maximum of the w1, . . . , wn and suppose that wmax = wk. Consider

any neighbouring node j of the node k. Since wk = wmax and because of (6), the only waythat (11) can be satisfied is if wj = wmax. In a similar way every neighbour j of a neighbourof k must satisfy wj = wmax and so on. Eventually, since G is connected, a boundary nodemust be reached with the result that wj = wmax for some j ∈ {n+1, . . . , N}. This impliesthat wmax = 0. A similar argument shows that wmin = 0 and therefore that w = 0. ⊳

It remains to show that P is a triangulation. The proof in [25] that P is a straight linedrawing when λi,j = 1/di for (i, j) ∈ E, depends on only one self-explanatory propertyof barycentres. This property is that if a point w ∈ IR2 is the barycentre of any pointsw1, . . . ,wd ∈ IR2 and l is any line passing through w, then either (a) all the wi lie on l

or (b) there is at least one wi on either side of l. Since this property evidently still holdswhen w is any strict convex combination of its neighbours, the theorem in [25] also appliesfor the most general λi,j in (6). We conclude as follows.

6

Page 7: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

wD

u i

D

lS

Fig. 3. Fig. 4.

Corollary 2. Let S(G,X) be a surface triangulation and let P = P(G, Ub,Λ) be anembedding of G as in (8). Then P is a parametrization of S.

The proof in [25] involves a considerable amount of graph theory. We provide here asimple proof that all the internal ui ∈ P (i = 1, . . . , n) belong to D, even though it is aconsequence of Corollary 2, as it emphasises the importance of the convexity of D.

Proposition 3. Every internal node ui of P, i ∈ {1, . . . , n}, belongs to D.

Proof. By Proposition 1, u1, . . . ,un are well-defined.

To obtain a contradiction suppose that there is at least one internal node of P notbelonging to D. Let ui be any such node whose shortest distance to D is maximal and,since D is convex, let w be the unique point in ∂D nearest to it. The point w may beeither a vertex of D or a point on one of its edges, as in Figure 3.

Passing through ui is an infinite line l, perpendicular to the vector ui −w. It dividesIR2 into two open half spaces and no point uj lies in the half space S not containing w.

Now, since ui is a strict convex combination of its neighbours and none of them belongto S, they must all lie on l. By the same reasoning, the neighbours of the neighbours ofui must lie on this line too, and so on. Eventually, since G is connected, this implies thata boundary node, which is a point in ∂D, lies on l which is a contradiction. ⊳

The convexity of D is also a necessary condition for all solutions of (7) satisfying (6)to belong to D. Even though the single internal node in Figure 4 is a convex combinationof its neighbours it nevertheless lies outside D (though not outside the convex hull of D).

The class of parametrizations of the form (8) is very large as we will now see.

Proposition 4. Let P (S) be the class of all parametrizations, according to Definition 4,of a given surface triangulation S. Define T (S) ⊂ P (S) to be those parametrizations ofthe form (8) and let C(S) ⊂ P (S) be those parametrizations whose boundary nodes arethe vertices of a convex polygon in an anticlockwise sequence. Then T (S) = C(S).

Proof. Due to (5) and Corollary 2, T (S) ⊂ C(S). Now suppose P ∈ C(S). Then sinceP is a planar triangulation, every internal node lies strictly inside the convex hull of itsneighbours. Indeed, otherwise one of the faces incident on the node would not be a convexpolygon and so could not be a triangle. Consequently every node can be expressed as astrict convex combination of its neighbours, i.e. in the form (7). Since moreover D is aconvex polygon, P ∈ T (S). ⊳

7

Page 8: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Condition (5) demands that (ui+1 − ui) × (ui+2 − ui+1) > 0 for all i = n + 1, . . . , N ,where we define (a1, a2) × (b1, b2) = a1b2 − a2b1 and uN+k = un+k, for k = 1, 2. In thenumerical examples we have relaxed this to (ui+1 − ui) × (ui+2 − ui+1) ≥ 0. In this wayD can be taken to be the unit square, with several boundary nodes lying along each of thefour sides. This relaxation caused no problems in practice.

§5. Specific parametrizations

Tutte’s barycentric mapping (λi,j = 1/di, for (i, j) ∈ E) could be regarded as a general-ization of uniform parametrization for point sequences. In this section we wish to discussthis and some further specific parametrizations. In order to motivate these, let us reviewparametrizations for point sequences.

Suppose X = {x1, . . . ,xN} is a sequence of points in IR3. Then any increasing se-quence of values T = {t1 < t2 < · · · < tN} is called a parametrization for X. It is usual tochoose t1 arbitrarily, appropriate positive values L1, . . . , LN−1, a constant µ > 0, and thendefine ti+1 = ti +µLi recursively, i = 1, . . . , N − 1. For example, when Li is constant, T iscalled a uniform parametrization, while if Li = ‖xi+1 − xi‖ then it is called chord length[6].

It is well known that choosing parameter values by chord length tends to lead tosmoother curve approximations than using uniform especially when the data points areunevenly distributed; see Foley and Nielson [10]. For this reason we search for somethinganalogous for surface triangulations. First observe that there are other ways of determiningthe ti from the Li.

Proposition 5. Suppose t1 < t2 < · · · tN , ti ∈ IR and L1, L2, . . . , LN−1 > 0, Li ∈ IR. Thefollowing statements are equivalent:

(i) ti+1 = ti + µLi, for i = 1, . . . , N − 1, some µ > 0,

(ii) if s1 = t1, sN = tN , then t2, . . . , tN−1 minimize the functional F (s2, . . . , sN−1) =∑N−1

i=1 wi(si+1 − si)2, where wi = 1/Li,

(iii) ti = λi,1ti−1 + λi,2ti+1, for i = 2, . . . , N − 1, where λi,1 = Li/(Li−1 + Li) andλi,2 = Li−1/(Li−1 + Li).

Proof. We first show that (ii) implies (iii). Since F is convex, it is minimized when∂F/∂si = 0, for all i. These equations are precisely those in (iii). Conversely, (iii) implies(ii) since the minimum is unique. To see that (i) and (iii) are equivalent, one can easilyshow that they are both rearrangements of the equation (ti+1 − ti)/(ti − ti−1) = Li/Li−1.⊳

Thus if Li is constant, ti = (ti−1 + ti+1)/2, i.e. ti is the barycentre of its neighbours.This justifies the term uniform parametrization for P when λi,j = 1/di, for (i, j) ∈ E.When Li = ‖xi+1 − xi‖, Proposition 5 suggests two ways of generalizing the chord lengthparametrization to surface triangulations: by minimizing squares of lengths of edges as in(ii); and by choosing the λi,j directly in a similar way to (iii). We now briefly considerthe first of these, treating the other, which is much more effective, more thoroughly in thenext section.

8

Page 9: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Suppose the boundary points un+1, . . . ,uN have been chosen and are fixed. Then onecould let the internal ui be chosen to minimize the functional

F (u1,u2, . . . ,un) =∑

(i,j)∈E

wi,j‖ui − uj‖2,

where wi,j = wj,i > 0 for all (i, j) = (j, i) ∈ E. Since F : IR2n → IR is convex, ithas a global minimum which is attained when ∂F/∂ui = ∂F/∂vi = 0 for all i. Since‖ui − uj‖

2 = (ui − uj)2 + (vi − vj)

2, we find

∂F

∂ui

= 2∑

j:(i,j)∈E

wi,j(ui − uj),∂F

∂vi

= 2∑

j:(i,j)∈E

wi,j(vi − vj),

and consequently, ui =∑

j:(i,j)∈E wi,juj/∑

j:(i,j)∈E wi,j . This is equivalent to solving (7)

with λi,j = wi,j/∑

j:(i,j)∈E wi,j . In particular when wi,j is constant for all (i, j) ∈ E, then

λi,j = 1/di. Thus Tutte’s barycentric mapping, or uniform parametrization, minimizes thesum of the squares of lengths of edges in P, with respect to a fixed boundary.

Surface approximations were computed based on the parametrizations obtained bysetting wi,j = 1/‖xi − xj‖

q, for several values of q including 1. Though the surfaces weregenerally smoother than when using the uniform parametrization they still suffered fromunwanted oscillations. This is probably due to the degrees of freedom being restricted bythe condition wi,j = wj,i.

§6. Shape-preserving parametrization

The chord length parametrization for a sequence of points x1, . . . ,xN ∈ IR3 has the prop-erty that if the xi lie on a straight line then there is some affine mapping φ : IR3 → IR3

such that ti = φ(xi) (where we identify ti with the point (ti, 0, 0)). It is a property ofthis kind we wish to retain in the bivariate case and we now describe a shape-preserving

parametrization.Let S(G,X), where G = G(V,E, F ), be a surface triangulation and suppose that every

triangular facet is non-degenerate (has affinely independent vertices). For each i, let Gi bethe subgraph of G whose nodes are i and its neighbours in G, and whose edges are edgesin E which connect pairs of nodes in Gi. Further let xj1 , . . . ,xjdi

be the neighbours of xi

in any anticlockwise sequence, relative to G, and define Xi = {xi,xj1 , . . . ,xjdi}. Then,

referring to Figure 5, our basic idea is to(i) find a local shape-preserving parametrization Pi for Si = Si(Gi,Xi), mapping xi

into p ∈ IR2 and xj1 , . . . ,xjdiinto suitable p1, . . . ,pdi

∈ IR2 and,(ii) choose λi,j > 0, for j : (i, j) ∈ E to satisfy

p =

di∑

k=1

λi,jkpk,

di∑

k=1

λi,jk= 1. (12)

Step (i) There are different ways of mapping Si into the plane. The obvious approachis to project it onto the least squares plane through xi and its neighbours or onto the

9

Page 10: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

p

p

p6

x jix

x j2 3

5

1x j

x j4

x j

x j

1

2

34

6

5 p

p

pp

p

p

p

p

l

r(l)

r(l)+1

Fig. 5. The subtriangulation Si(Gi,Xi) and a local parametrization Pi.

plane whose normal is an average of the normals of the triangular facets in Si. Howeverboth these methods can be unstable when there are large angles between the triangularfacets in Si. We have adopted instead a neat method, due to Welch and Witkin [27],for making local parametrizations for surface triangulations which emulates the so-calledgeodesic polar map, a local mapping known in differential geometry which preserves arclength in each radial direction. The method requires only non-degenerate facets.

Let ang(a,b, c) denote the angle between the vectors a− b and c− b, signed if theyare in IR2. Welch and Witkin [27] choose any p ∈ IR2 and p1, . . . ,pdi

∈ IR2 satisfying, fork = 1, . . . , di,

‖pk − p‖ = ‖xjk− xi‖, ang(pk,p,pk+1) = 2π ang(xjk

,xi,xjk+1)/θi, (13)

where θi =∑di

k=1 ang(xjk,xi,xjk+1

) and xjdi+1= xj1 , pdi+1 = p1. One can see that p

and p1, . . . ,pdiare unique up to translations and rotations in IR2. In the implementation

we have set p = 0 and p1 = (‖xj1 − xi‖, 0) to use up the spare degrees of freedom andthen computed p2, . . . ,pdi

in sequence.

Step (ii) The points p1, . . . ,pdiare the vertices of a star-shaped polygon with p in its

kernel. We now wish to find suitable λi,jksatisfying (12). If di = 3 they are the unique

barycentric coordinates of p with respect to △p1p2p3:

λi,j1 =area(p,p2,p3)

area(p1,p2,p3), λi,j2 =

area(p1,p,p3)

area(p1,p2,p3), λi,j3 =

area(p1,p2,p)

area(p1,p2,p3). (14)

For di > 3 there is some choice. The following definition has been implemented and yieldsgood results in numerical examples. Regarding Figure 5, for each l ∈ {1, . . . , di}, thestraight line through pl and p intersects the polygon at a unique second point which iseither a vertex pr(l) or lies on a line segment with endpoints pr(l) and pr(l)+1. In eithercase, there is a unique r(l) ∈ {1, . . . , di} and unique δ1, δ2, δ3 such that δ1 > 0, δ2 > 0,δ3 ≥ 0, δ1 + δ2 + δ3 = 1 and

p = δ1pl + δ2pr(l) + δ3pr(l)+1.

Define µk,l, for k = 1, . . . , di, by µl,l = δ1, µr(l),l = δ2, µr(l)+1,l = δ3, and µk,l = 0otherwise. Then for each l we now find

p =

di∑

k=1

µk,lpk,

di∑

k=1

µk,l = 1, µk,l ≥ 0.

10

Page 11: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Finally define

λi,jk=

1

di

di∑

l=1

µk,l, k = 1, . . . , di. (15)

Since µl,l and µr(l),l are non-zero for every l we note that λi,jk> 0 for all k. One also finds

that

p =1

di

di∑

l=1

p =1

di

di∑

l=1

di∑

k=1

µk,lpk =

di∑

k=1

1

di

di∑

l=1

µk,lpk =

di∑

k=1

λi,jkpk,

anddi

k=1

λi,jk=

di∑

k=1

1

di

di∑

l=1

µk,l =1

di

di∑

l=1

di∑

k=1

µk,l =1

di

di∑

l=1

1 = 1.

Note also that when di = 3, r(l) = l + 1, and

λi,jk= µk,1 = µk,2 = µk,3,

and thus (15) conforms with (14). Further, since affine combinations are invariant undertranslations and rotations, the µk,l and therefore the λi,jk

are uniquely determined by (13)and hence also by Xi. Moreover each λi,jk

depends continuously (but not smoothly) on xi

and xj1 , . . . ,xjdi. One could also consider taking a weighted average in (15) but this has

not been implemented.The choice of λi,jk

in (15) provides the following reproduction property. In whatfollows we identify a point u = (u, v) ∈ IR2 with the point (u, v, 0) ∈ IR3.

Proposition 6. Suppose that S is planar and that its boundary nodes x1, . . . ,xN form aconvex polygon in the plane containing S. Let P(G, Ub,Λ) be a parametrization in whichΛ is defined in (15) and such that the boundary points xn+1, . . . ,xN are mapped affinelyinto un+1, . . . ,uN ∈ Ub. Then the parametrization P is an affine mapping of S.

Proof. Let φ : IR3 → IR3 be the affine mapping for which ui = φ(xi) for i = n + 1, . . . , N .It is required to show that also ui = φ(xi) for i = 1, . . . , n. Using vector and matrixnotation we can express φ as φ(x) = Mx + b for some non-singular 3 × 3 matrix M andvector b, such that the third coordinate of φ(x) is zero for all x in the plane containing S.Due to (13), since each Si is planar, each internal node xi and its neighbours are affinelymapped into p and its neighbours. It follows from (15) that the λi,j satisfy

xi −N

j=1

λi,jxj = 0, i = 1, . . . , n.

Therefore,

φ(xi) −N

j=1

λi,jφi(xj) = Mxi + b −N

j=1

λi,j(Mxj + b) = M

xi −N

j=1

λi,jxj

= 0.

Because the solutions to (7) are unique it follows that φ(xi) = ui for i = 1, . . . , n asrequired. ⊳

11

Page 12: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

The choice of the boundary ∂D should depend on the application and the kind ofapproximation. If one requires a tensor-product spline approximation the natural choiceis the unit square. One could use the unit circle if an approximation in the form of trian-gular patches or radial basis functions is desirable. When constructing a shape-preservingparametrization, numerical examples have suggested that a good placement of the bound-ary points un+1, . . . ,uN around ∂D is by chord length.

§7. Numerical examples

It was found after some experimentation that the matrix equations (10) can adequately besolved by LU decomposition [12] for n up to 500. Beyond that the structure of the matrixA suggests an iterative method would be better.

The matrix A in (10) is diagnonally dominant though not strictly diagonally dominantin any row i if all neighbours of xi are internal nodes. It is also sparse but it will not ingeneral be possible to arrange the non-zero entries in a diagonal band structure. Thiskind of matrix occurs frequently in the numerical solution of differential equations and itwas found that an iterative method called Bi-CGSTAB [26] was highly effective. This is avariant of the conjugate gradient method for non-symmetric matrices.

Bi-CGSTAB was used to solve each equation in (10) for n of the order of 25000,setting every internal ui = (ui, vi) to be a point in the centre of D as an initial guess. Thealgorithm could be stopped after only a few hundred iterations and no instabilities wereexperienced. A suitable data structure for the triangulations is that proposed by Clineand Renka [4] for efficient storage of triangulations.

Figure 6 shows a Delaunay triangulation of a set of 27 scattered data points in theplane. The points were mapped uniformly (λi,j = 1/di for (i, j) ∈ E) into the unit disc inFigure 7, placing the eight boundary nodes uniformly around the unit circle. In Figure 8,the same points were mapped into the unit square [0, 1] × [0, 1]. This time four chosen‘corner’ boundary points were mapped to the corners of the square and the remainingboundary points mapped uniformly along each side. The points were mapped using theshape-preserving parametrization (15) in Figure 9, the ‘sides’ being mapped by chordlength.

Figure 10 shows a surface triangulation S of 1000 points sampled from a salt dome,a geological object with an overhang. Three parametrizations P in the unit square aredisplayed in Figures 11, 13, and 15, using respectively (i) uniform, (ii) weighted leastsquares of edge lengths with wi,j = 1/‖xi − xj‖, and (iii) shape-preserving. As in theprevious example, four corner points were mapped to the corners of the square, and thesides were mapped uniformly in the first and by chord length in the second two. In eachcase three C1 piecewise-cubic interpolants x, y, z, satisfying (3), were then made for eachcomponent using the Clough Tocher split on P [7], [11]. The resulting interpolatory surfaces(u, v), of the form (4) was then sampled on a square 40×40 grid and interpolated by a C2

cubic tensor-product spline s′(u, v). These are shown in Figures 12, 14, and 16, respectively.It is very clear that the third surface, based on the shape-preserving parametrization, isvisually smoother than the first two.

Finally by retriangulating the ui ∈ P, with a new triangulation P, one obtains a newsurface triangulation S, parametrized by P, having the same nodes xi as S. If one chooses

12

Page 13: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

P to satisfy some desirable property, this property can be transmitted to S, providing aninteresting way of ‘optimizing’ surface triangulations. Such optimizations are usually basedon recursively swapping edges in an existing one according to some goodness criterion asdescribed by Schumaker [21], and Dyn, Levin, and Rippa [5].

Moreover replacing P by P may have a beneficial effect on the surface approximationwhen it is based on piecewise polynomials on P. In Figure 17 the Delaunay triangulationP, which maximizes the minimum angle of its triangles, was computed for the ui appearingin Figure 15. The tensor-product surface approximation s′ of S is displayed in Figure 18.The new surface appears to be somewhat smoother than that in Figure 16, benefitting frommore well-proportioned triangles. The corresponding surface retriangulation S is displayedin Figure 19 and it has as might be expected, less long thin triangles than the original inFigure 10. However note that any retriangulation of the parametrization depends on thechoice of the boundary.

§8. Final remarks

A method for making shape-preserving parametrizations of surface triangulations has beenpresented and used to generate well-behaved smooth surface interpolations and approxi-mations.

In this paper G was assumed to be a triangulated graph. Tutte’s barycentric map-ping applies to more general graphs, having faces with more than three edges, for ex-ample rectangular networks or the graph in Figure 2. With care, the shape-preservingparametrization could similarly be extended to various networks of points in IR3.

Acknowledgement. I wish to thank Hermann Kellermann at SINTEF for help withthe implementation of the numerical examples. I am also grateful to Jesus Miguel Carnicerfor suggesting improvements to the layout of the paper.

§9. References

1. Atkinson K. E., An introduction to numerical analysis, Wiley, new York, 1989.2. de Boor C., A Practical Guide to Splines, Springer-Verlag, New York, 1978.3. Chiba N., K. Onoguchi, T. Nishizeki, Drawing plane graphs nicely, Acta Informatica

22 (1985), 187–201.4. Cline A. K., R. L. Renka, A storage-efficient method for construction of a Thiessen

triangulation, Rocky Mount. J. Math. 14 (1984), 119–139.5. Dyn N., D. Levin, S. Rippa, Data dependent triangulations for piecewise linear inter-

polation, IMA J. Numer. Anal. 10 (1990), 137–154.6. Farin G., Curves and surfaces for computer aided geometric design, Academic Press,

San Diego, 1988.7. Farin G., Triangular Bernstein-Bezier patches, Comp. Aided Geom. Design 3 (1986),

83–128.8. Fary I., On straight line representatation of planar graphs, Acta Sci. Math. Szeged

11 (1948), 229–233.9. Floater M., G. Westgaard, Smooth surface reconstruction from cross-sections using

implicit methods, preprint, SINTEF, Oslo.

13

Page 14: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

10. Foley T., G. Nielson, Knot selection for parametric spline interpolation, in Mathemat-ical Methods in Computer Aided Geometric Design II, T. Lyche and L. Schumaker(eds.), Academic Press, New York, 1992, 261–271.

11. Franke R., L. Schumaker, A bibliography of multivariate approximation, in Topics inMultivariate Approximation, C. Chui, L. Schumaker, and F. Uteras (eds.), AcademicPress, New York, 1986, 275–335.

12. Golub G. H., C. F. Van Loan, Matrix Computations, John Hopkins Univ. Press, 1989.13. Hoppe H., T. DeRose, T. DuChamp, J. McDonald, W. Stuetzle, Surface reconstruction

from unorganized points, Computer Graphics 26 (1992), 71–78.14. Li Z., C. Suen, T. Bui, Q. Gu, Harmonic models of shape transformations in digital

images and patterns, CVGIP: graph. models and imag. proc., 54 (1992), 198–209.15. Lounsberry M., S. Mann, T. DeRose, Parametric surface interpolation, IEEE Comp.

Graph. and App., (1992), 45–52.16. Maillot J., H. Yahia, A. Verroust, Interactive texture mapping, SIGGRAPH Comp.

Graph. Proc. (1993), 27–34.17. Marshall C. W., Applied Graph Theory, Wiley, New York, 1971.18. Milroy M., C. Bradley, G. Vickers, D. Weir, G1 continuity of B-spline surface patches

in reverse engineering, Comp. Aided Design 27 (1995), 471–478.19. Nishizeki T., Planar graph problems, Computing Supplementum 7 (1990), 53–68.20. Preparata F. P., M. I. Shamos, Computational geometry, Springer-Verlag, New York,

1985.21. Schumaker L. L., Triangulation methods, in Topics in Multivariate Approximation,

C. K. Chui, L. L. Schumaker, F. Utreras (eds.), Academic Press, New York (1987),219–232.

22. Schumaker L. L., Reconstructing 3D objects from cross-sections, in Computation ofCurves and Surfaces, W. Dahmen, M. Gasca, and C. Micchelli eds., Kluwer, Dordrecht(1990), 275–309.

23. Schumaker L. L., Triangulations in CAGD, IEEE Computer Graphics and Applica-tions (1993), 47–52.

24. Tutte W. T., Convex representations of graphs, Proc. London Math. Soc. 10 (1960),304–320.

25. Tutte W. T., How to draw a graph, Proc. London Math. Soc. 13 (1963), 743–768.26. van der Vorst H. A., Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG

for the solution of nonsymmetric linear systems, SIAMsci, 13 (1992), 631–644.27. Welch W., A. Witkin, Free-form shape design using triangulated surfaces, Computer

Graphics, SIGGRAPH 94 (1994), 247–256.

14

Page 15: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Fig. 6. Delaunay triangulation. Fig. 7. Uniform parametrization.

Fig. 8. Uniform parametrization. Fig. 9. Shape-preserving parametrization.

Fig. 10. Triangulated salt dome.

15

Page 16: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Fig. 11. Uniform parametrization. Fig. 12. Surface approximation.

Fig. 13. Weighted least squares parametrization. Fig. 14. Surface approximation.

Fig. 15. Shape-preserving parametrization. Fig. 16. Surface approximation.

16

Page 17: Parametrization and smooth approximation of surface ... › ~misha › Fall09 › Floater97.pdfParametrization and smooth approximation of surface triangulations Michael S. Floater

Fig. 17. Delaunay retriangulation. Fig. 18. Surface approximation.

Fig. 19. Surface retriangulation.

17