Cubic Mean Value Coordinates, Summaries of Computer Graphics

We present a new method for interpolating both boundary values and gradients over a 2D polygonal domain. Despite various pre-.

Typology: Summaries

2022/2023

Uploaded on 03/01/2023

sheela_98
sheela_98 🇺🇸

4.2

(12)

234 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Cubic Mean Value Coordinates
Xian-Ying Li1Tao Ju2Shi-Min Hu1
1Tsinghua National Laboratory for Information Science and Technology, Tsinghua University, Beijing
2Department of Computer Science and Engineering, Washington University in St. Louis
Figure 1: Applications using cubic mean value coordinates. Left: shape deformation using curved cage networks, (a,b): input images, (c,d):
deformed results. Right: an adaptive gradient mesh (g) created from a given gradient mesh (e), and (f,h) are the rasterized images of (e,g).
Abstract
We present a new method for interpolating both boundary values
and gradients over a 2D polygonal domain. Despite various pre-
vious efforts, it remains challenging to define a closed-form inter-
polant that produces natural-looking functions while allowing flexi-
ble control of boundary constraints. Our method builds on an exist-
ing transfinite interpolant over a continuous domain, which in turn
extends the classical mean value interpolant. We re-derive the inter-
polant from the mean value property of biharmonic functions, and
prove that the interpolant indeed matches the gradient constraints
when the boundary is piece-wise linear. We then give closed-form
formula (as generalized barycentric coordinates) for boundary con-
straints represented as polynomials up to degree 3 (for values) and
1 (for normal derivatives) over each polygon edge. We demonstrate
the flexibility and efficiency of our coordinates in two novel appli-
cations, smooth image deformation using curved cage networks and
adaptive simplification of gradient meshes.
CR Categories: G.1.1 [Interpolation]: Interpolation formulas;
I.3.5 [Computer Graphics]: Computational Geometry and Object
Modeling—Geometric algorithms, languages, and systems;
Keywords: interpolation, cubic, mean value, biharmonic, cage-
based deformation, gradient mesh simplification
Links: DL P DF WE B
1 Introduction
Generalized barycentric coordinates are a simple yet powerful way
to interpolate values on a polygonal domain. Interpolation at an
arbitrary point vinvolves a weighted combination of values asso-
ciated with the polygon vertices, where the weights are referred to
as coordinates of v. Among many possible choices of coordinates,
mean value coordinates [Floater 2003] are particularly popular as
they possess simple closed forms and produce natural-looking in-
terpolations in arbitrary convex or non-convex domains. For this
reason, mean value coordinates have been widely used for applica-
tions ranging from cage-based shape deformation [Ju et al. 2005] to
approximation of PDEs [Farbman et al. 2009].
Oftentimes both values and gradients (i.e., normal derivatives) on
the boundary need to be interpolated. For example, when deform-
ing a shape using a network of cages, enforcing common defor-
mation gradient along shared cage edges is necessary to achieve a
globally smooth warp. In patch-based representation of a vector im-
age, the color at a particular point is often evaluated based on both
colors and gradients on a patch boundary [Sun et al. 2007]. Coor-
dinates for these applications should have the following properties:
1. They should accommodate continuously varying values and
gradients (i.e., at least linear on each edge).
2. They should have a closed-form that allows efficient compu-
tation.
3. The resulting interpolation should be smooth and intuitive.
Several coordinates have been proposed for Hermite interpola-
tion, most notably the biharmonic coordinates [Weber et al. 2012]
and the moving least square coordinates [Manson and Schaefer
2010]. However, neither coordinates possess all the properties
above. While biharmonic coordinates yield shape-aware interpo-
lation (as a biharmonic function), their closed forms only approx-
imate the true solution and are restricted to discontinuous, piece-
wise constant gradients. Moving least square coordinates possess
exact closed forms and accommodate continuous, high-order gra-
dient constraints, but they tend to produce unnatural undulations in
non-convex domains (see Figures 2 and 4).
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Cubic Mean Value Coordinates and more Summaries Computer Graphics in PDF only on Docsity!

Cubic Mean Value Coordinates

Xian-Ying Li^1 Tao Ju^2 Shi-Min Hu^1

1 Tsinghua National Laboratory for Information Science and Technology, Tsinghua University, Beijing

2 Department of Computer Science and Engineering, Washington University in St. Louis

Figure 1: Applications using cubic mean value coordinates. Left: shape deformation using curved cage networks, (a,b): input images, (c,d): deformed results. Right: an adaptive gradient mesh (g) created from a given gradient mesh (e), and (f,h) are the rasterized images of (e,g).

Abstract

We present a new method for interpolating both boundary values and gradients over a 2D polygonal domain. Despite various pre- vious efforts, it remains challenging to define a closed-form inter- polant that produces natural-looking functions while allowing flexi- ble control of boundary constraints. Our method builds on an exist- ing transfinite interpolant over a continuous domain, which in turn extends the classical mean value interpolant. We re-derive the inter- polant from the mean value property of biharmonic functions, and prove that the interpolant indeed matches the gradient constraints when the boundary is piece-wise linear. We then give closed-form formula (as generalized barycentric coordinates) for boundary con- straints represented as polynomials up to degree 3 (for values) and 1 (for normal derivatives) over each polygon edge. We demonstrate the flexibility and efficiency of our coordinates in two novel appli- cations, smooth image deformation using curved cage networks and adaptive simplification of gradient meshes.

CR Categories: G.1.1 [Interpolation]: Interpolation formulas; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—Geometric algorithms, languages, and systems;

Keywords: interpolation, cubic, mean value, biharmonic, cage- based deformation, gradient mesh simplification

Links: DL PDF WEB

1 Introduction

Generalized barycentric coordinates are a simple yet powerful way to interpolate values on a polygonal domain. Interpolation at an arbitrary point v involves a weighted combination of values asso- ciated with the polygon vertices, where the weights are referred to as coordinates of v. Among many possible choices of coordinates, mean value coordinates [Floater 2003] are particularly popular as they possess simple closed forms and produce natural-looking in- terpolations in arbitrary convex or non-convex domains. For this reason, mean value coordinates have been widely used for applica- tions ranging from cage-based shape deformation [Ju et al. 2005] to approximation of PDEs [Farbman et al. 2009].

Oftentimes both values and gradients (i.e., normal derivatives) on the boundary need to be interpolated. For example, when deform- ing a shape using a network of cages, enforcing common defor- mation gradient along shared cage edges is necessary to achieve a globally smooth warp. In patch-based representation of a vector im- age, the color at a particular point is often evaluated based on both colors and gradients on a patch boundary [Sun et al. 2007]. Coor- dinates for these applications should have the following properties:

  1. They should accommodate continuously varying values and gradients (i.e., at least linear on each edge).
  2. They should have a closed-form that allows efficient compu- tation.
  3. The resulting interpolation should be smooth and intuitive.

Several coordinates have been proposed for Hermite interpola- tion, most notably the biharmonic coordinates [Weber et al. 2012] and the moving least square coordinates [Manson and Schaefer 2010]. However, neither coordinates possess all the properties above. While biharmonic coordinates yield shape-aware interpo- lation (as a biharmonic function), their closed forms only approx- imate the true solution and are restricted to discontinuous, piece- wise constant gradients. Moving least square coordinates possess exact closed forms and accommodate continuous, high-order gra- dient constraints, but they tend to produce unnatural undulations in non-convex domains (see Figures 2 and 4).

We introduce a new type of coordinates for Hermite interpolation that possess these desirable properties in this paper. Our coordi- nates are based on the transfinite interpolant introduced by Floater and Schulz [2008] for Hermite constraints defined continuously over the boundary. The interpolant is an extension of mean value interpolation and enjoys similar theoretical properties, such as be- ing well-defined and smooth over both convex and non-convex domains. Experiments demonstrate that the interpolant matches the boundary gradients while exhibiting a naturally varying shape. Since the interpolant reproduces cubic functions, we shall refer to it in this paper as the cubic mean value (CMV) interpolant.

We first reveal, in the transfinite setting, a new connection between mean value interpolant and the CMV interpolant: while the former is derived from the mean value property of harmonic functions, the latter can be similarly derived from the mean value property of bi- harmonic functions. We also prove that, for polygonal boundaries, the CMV interpolant exactly matches the boundary gradients. We next present the cubic mean value coordinates, a discrete closed- form coordinates for evaluating the interpolant over a polygonal domain. The CMV coordinates allow fast and exact interpolation of continuously varying values and gradients represented respectively as cubic and linear functions over each polygon edge.

We introduce two novel applications that showcase the flexibility and efficiency of CMV coordinates. In the first application, we perform smooth shape deformation with a network of cages made up of both straight and curved edges (Figure 1 Left). In the second application, we propose a variation of the gradient meshes [Lai et al. 2009] for representing vector images that supports irregular patches and adaptive coarsening (Figure 1 Right).

2 Related works

Coordinates for interpolating values Classical forms of co- ordinates, such as Wachspress coordinates [Wachspress 1975; Meyer et al. 2002] and discrete harmonic coordinates (or cotan- gent weights) [Pinkall and Polthier 1993], are well-defined within a convex polygon. However, these coordinates are not always de- fined outside the polygon or in a non-convex polygon. Floater in- troduced mean value cooridnates [2003], which is well defined ev- erywhere in the plane given arbitrary polygonal domains [Hormann and Floater 2006]. These three types of coordinates all have simple closed forms, and in fact belong to a one-parameter family of co- ordinates [Floater et al. 2006]. More recently, several coordinates have been introduced to achieve stronger properties, such as posi- tivity within a non-convex shape, including harmonic coordinates [Joshi et al. 2007], maximum entropy coordinates [Hormann and Sukumar 2008] and positive Gordon-Wixom coordinates [Manson et al. 2011]. However, they either lack analytical form or require numerical integrations.

Several coordinates are designed to minimize the angle distortion during deformation. Green coordinates [Lipman et al. 2008] and Cauchy coordinates [Weber et al. 2009] produce holomorphic map- pings, while Hilbert coordinates [Weber and Gotsman 2010] pro- duce holomorphic mappings with no zero derivatives (i.e., the map- pings are conformal). Note that these methods lack exact boundary interpolation. This deficiency is addressed by the MAGIC complex barycentric coordinates proposed by Weber et al. [2011], which strictly interpolate boundary values.

Variational approaches seek smooth blendings or propagations by solving partial differential equations, e.g., higher order Laplacian weights [Botsch and Kobbelt 2004], heat diffusion weights [Baran and Popovi´c 2007], bounded biharmonic weights [Jacobson et al. 2011], etc. These methods in general do not have close-form solu- tions. For an in-depth survey of these variational methods, readers

may refer to [Botsch et al. 2010].

Coordinates for interpolating values and derivatives Langer and Seidel [2008] gave a method to convert any barycentric coor- dinates to higher order ones. However, these converted coordinates interpolate derivatives only at the vertices and lack derivative con- trol over the rest of the boundary.

Floater and Schulz [2008] introduced a general method to inter- polate value and derivative constraints defined continuously over closed boundaries in any dimensions. To interpolate derivatives up to order k, the method constructs univariate interpolants along straight rays from the evaluation location v to each boundary point, and seeks the value at v that minimizes the integral of squared k+1- st derivative over all rays. It turns out that the method yields mean value interpolation for k = 0. For k = 1, the authors show that the minimizer uniquely exists (a.k.a. the CMV interpolant), and can be expressed in an integral over the boundary.

Dyken and Floater introduced the transfinite Hermite mean value interpolant [2009], which extends the well-known 1D cubic Her- mite interpolation to a continuous 2D boundary by replacing the linear Lagrange component in 1D with mean value interpolation in 2D. However, evaluating the interpolant requires double integration over the boundary, which makes derivation of closed-form coordi- nates much more challenging than the cubic mean value interpolant.

Moving least square coordinates [Manson and Schaefer 2010] pro- vide a powerful framework for interpolating value and derivative (of any order) constraints on both open and closed polygons. The value is determined by the best-fitting polynomial in the least square sense, where the fitting error is weighted by 1 over distance to the boundary raised to the power of 2 α for some user-specified value α. The coordinates possess exact closed forms for boundary val- ues and gradients expressed as polynomials on each polygon edge. The authors observed experimentally that gradient interpolation is achieved by α ≥ 2 , but no proof was given. Moreover, in our ex- periments we observed that interpolating gradient constraints using moving least square coordinates with α = 2 (or greater) tend to exhibit unnatural “ripples” in a non-convex domain (see more dis- cussion in Section 3.2).

Recently, Weber et al. introduced biharmonic coordinates [Weber et al. 2012], an extension of harmonic coordinates to approximate the unique biharmonic function that interpolates Hermite boundary constraints. Using the boundary element method, the coordinates are presented as closed forms. However, the closed forms are de- rived assuming a constant gradient along each edge, which is not continuous across vertices. In terms of efficiency, evaluation of the biharmonic coordinates at a point requires O(n^2 ) time for a polygon with n edges, which can be prohibitive for a finely tes- sellated curve. In contrast, evaluation of both moving least square coordinates and our cubic mean value coordinates take O(n) time. Finally, biharmonic interpolation is only defined in the interior of the boundary, whereas Hermite mean value interpolation, moving least square interpolation, and our CMV interpolation are all de- fined both inside and outside the domain.

3 Transfinite interpolation

We start with a discussion on the transfinite CMV interpolant, in- troduced by Floater and Schulz [2008], upon which our coordinates are constructed. We first describe an alternative derivation of the CMV interpolant that is guided by the same “mean value” principle from which the original mean value interpolation was derived. We then discuss the properties of the interpolant and compare it with other Hermite interpolants.

(a) CMV (b) BF (c) HMV (d) MLS (α = 1) (e) MLS (α = 2)

Figure 2: Comparing different transfinite Hermite interpolation methods in a convex (top) and non-convex (bottom) domain.

(a) CMV coordinate ai (b) CMV coordinate b+ i (c) CMV coordinate c+ i (d) interpolated surfaces

Figure 3: (a,b,c): CMV coordinates at a marked vertex for a convex polygon (top) and a non-convex polygon, plotted using both color and iso-lines (at j/ 10 for j = 1, 2 , ..., 9 and at ± 1 / 100 ). Regions with negative values are noted by “N”. (d): Surface rendering of interpolation using CMV coordinates for each polygon given mixed types of gradient constraints (constant on two incident edges of the marked vertex and linear on other edges).

4 Coordinates for closed polygons

We next consider a polygonal P , where the CMV interpolant guar- antees to match both values and gradients. We assume f, g are expressed as piece-wise polynomial functions over edges of P. For a useful class of polynomials, we will give closed-form formula for the integrals in A and b, and hence the CMV interpolant, as weighted sums of f, g and their derivatives at the vertices.

To achieve C^1 interpolation, both f and g need to be continuously defined on the polygon. This requires the use of at least linear func- tions on each edge. We found that representing f as a cubic func- tion and the outward normal component of g as a linear function on each edge offers sufficient flexibility for our applications. To define these functions, we need 5 scalars at each vertex pi of P :

  • fi: the value of f at pi.
  • f (^) i− , f (^) i+ : the derivatives of f at pi respectively along edges {pi− 1 , pi} and {pi, pi+1}.
  • h− i , h+ i : the outward normal components of g at pi respec- tively on edges {pi− 1 , pi} and {pi, pi+1}.

Note that, when the two edges at pi are not co-linear, the values of h± i are completely determined by f (^) i± for the gradient to be contin- uous at pi. However, we still leave them as separate inputs in case a continuous gradient is not desired or impractical (i.e., at a joint in a cage network, see next section).

With this setting, the functions f [t] and g[t] along each edge {pi, pi+1} can be represented as a weighted sum of the constraints at pi and pi+1, where the weights are polynomials of t (we use arc

(a) Source image (b) CMV coordinates (c) Biharmonic coordinates (d) HMV interpolant (e) MLS coordinates

Figure 4: Deforming a non-convex cage (a) using different Hermite interpolants and coordinates (b,c,d,e).

length parameterization). Substituting these expressions into Equa- tions 6 and 5 yields the following form of fˆ [v] as a weighted sum of all input constraints:

f^ ˆ [v] =

i

ai[v]fi +

i,s

bsi [v]f (^) is +

i,s

csi [v]hsi , (7)

where s ∈ {+, −} and coefficients a, b, c, the CMV coordinates, are integrals that can be written in closed forms using the geom- etry of P and v (see Appendix D). Examples of these coordinate functions are plotted in Figure 3 for a convex polygon (top) and a non-convex polygon (bottom).

The use of cubic f and linear g allows flexible control over the be- havior of the interpolant. As an example, the interpolations (using CMV coordinates) in the last column of Figure 3 are computed un- der the following setting: f is cubic along each edge, the normal component of g is constant on the two edges incident to the marked vertex and linear on all other edges. Let the marked vertex be pj , this setting is achieved by computing h− i , h+ i from f (^) i− , f (^) i+ for all

vertices i 6 = j and assigning h+ j = h− j+1 and h− j = h+ j− 1. Observe

that each interpolation, defined over the entire plane, is C^1 every- where on the polygon except at the marked vertex where it is C^0 (due to the discontinuity of gradient constraints there).

5 Applications

We show two applications, shape deformation and vector image representation, that harvest the flexible control over boundary con- straints allowed by CMV coordinates.

5.1 Shape deformation using curved cage networks

Interactive shape deformation using cages has gained popularity in recent years. Cage-based deformation can be formulated as a boundary value interpolation problem: given cage vertices pi and their deformed locations f [pi], compute the deformed location

f^ ˆ [v] for any point v. The problem can be efficiently solved using coordinates that interpolate boundary values, such as mean value

coordinates. However, without constraining the gradient of fˆ , the deformation is only C^0 at the cage boundary. As a result, when us- ing multiple abutting cages (or a cage network) to deform different portions of the shape, “seams” will become noticeable along shared cage boundaries (see Figure 5 (b)).

By specifying gradient constraints, we can ensure C^1 transition across shared edges between abutting cages. To do so, for each cage in the network, we set fi at a cage vertex pi to be the deformed lo- cation f [pi], and compute f (^) i± so that f is linear along every cage edge (because the deformed cage edges remain straight). If pi is

(a) input (b) MV (c) CMV

Figure 5: Deforming a cage network using mean value (MV) co- ordinates (b) and CMV coordinates (c).

incident to only two edges in the cage network (called a degree- vertex), h± i are fixed by f (^) i±. Otherwise, h± i are obtained by first computing the best fitting gradient to the derivative constraints of f along all incident edges at pi and projecting the gradient to the outward normal direction of the two edges incident to pi in the cur- rent cage. The above setting ensures abutting cages use the same location and gradient constraints along their shared edges and ver- tices. A deformation that matches these constraints is not only C^1 across cage edges, but also C^1 at any degree-2 cage vertex or a ver- tex whose 1-ring neighbors undergo an affine transformation. The deformation using CMV coordinates is shown in Figure 5 (c).

We now compare the deformation produced by CMV coordinates with those created by other Hermite interpolants under the same gradient constraints over the cage boundary. As illustrated in Fig- ure 4, CMV coordinates achieve qualitatively similar results as bi- harmonic coordinates and Hermite mean value (HMV) interpolant. However, the latter two are much more costly to compute. HMV re- quires numerical integration over the boundary. Since biharmonic coordinates only work for constant gradients per edge, the cage has to be finely tessellated to approximate the linearly varying gradi- ent, effectively turning each evaluation into an integration over the boundary. Finally, although the moving least squares (MLS) coor- dinates have comparable efficiency as CMV coordinates, the defor- mation exhibits unnatural wiggles (e.g., near the top and right ends of “L”). This echoes our earlier observation on the MLS interpola- tion function in a non-convex domain (Figure 2).

To further exploit the space of constraints allowed by CMV coor- dinates, we introduce curved cages. In this scenario, the user has control not only over the locations of cage vertices but also two tangent vectors on the ends of each cage edge - similar to free- form curve design in popular tools like Adobe Illustrator. Since the two tangent vectors define a cubic Bezier curve, it can be captured exactly by our cubic model of boundary values (f (^) i± are now deter- mined from the tangent vectors). Curved cages allow creation of smooth deformations that precisely conform to user-defined curved

(a) initial mesh (b) simplified mesh (c) simplified mesh (d) initial mesh (e) simplified mesh (f) simplified mesh

Figure 8: Two examples of creation of adaptive gradient meshes. For each example, we show the initial (regular) gradient mesh, two simplified meshes at different thresholds, and the images rendered from each mesh.

mesh from an initial, fine mesh (e.g., created automatically from a raster image using [Lai et al. 2009]) by iterative node removal. At each step, our algorithm removes a node in the mesh and merges all incident patches into a large patch. The “cost” of removal is measured as the difference between the CMV interpolant in the merged patch and the original raster image (evaluated at sampled locations within the patch). The algorithm picks the removal op- eration with the least cost, and iterates until that cost exceeds a user-defined threshold. We then apply similar principle to simplify the boundaries of each patch by removing nodes and merging in- cident edges. Two examples are shown in Figure 8 (see the ac- companying video for the simplification process). Note that image regions with smoother color variations are represented with patches of larger sizes. Also, the patch boundaries are aligned with major curvlinear image features.

5.3 Implementation and performance

We have implemented CMV coordinates in C++ on a Windows 7 platform. Using their closed forms, the time complexity for com- puting the coordinates at each point is O(n) for a polygon with n edges. In our experiments, computing the CMV coordinates for 1 , 000 , 000 points within a quadrangle took less than 3.5 seconds using an Intel Xeon E5620 2.40GHz CPU, which is about 12× the time taken for computing mean value coordinates (using code pro- vided by authors of [Ju et al. 2005]).

Like other types of coordinates, computing CMV coordinates for a large set of points and can be fully parallelized. We used OpenMP on a 16-core machine for the two application tasks. For cage-based deformation, computing the coordinates for all 750 × 1000 pixels of the intermediate image in Figure 6 (b) took less than 0.5 second, af- ter which the deformation given new cages takes place in real time. For gradient mesh simplification, rasterizing a simplified mesh on a 1000 × 1000 resolution took less than 1 second, and the simpli- fication process from an initial mesh took less than 0.5 second, for all examples shown.

6 Conclusion and discussion

We introduced the cubic mean value coordinates for interpolating Hermite constraints over a 2D polygonal boundary. The coordi-

nates have closed-forms and yield natural interpolations that exactly match values and gradients expressed as cubic and linear functions over each edge. The coordinates are built upon a known transfinite interpolant [Floater and Schulz 2008], for which we give an alterna- tive derivation. We demonstrate the utility of the coordinates in two applications, shape deformation and vector image representation.

As in mean value coordinates (and many other coordinates that rely on Euclidean distances), a boundary constraint may have (often negative) impact on distant locations when interpolating with CMV coordinates in a non-convex polygon (see Figure 3 lower-left). On the other hand, biharmonic coordinates have the advantage of pro- ducing more “shape-aware” functions, since the impact of a bound- ary constraint is propagated only through the interior of the domain.

While this paper focuses on 2D domains, the techniques can be ex- tended to higher dimensions and possibly to matching higher order derivatives. In particular, [Floater and Schulz 2008] gives a gen- eral recipe for building transfinite interpolants in any dimensions matching derivatives of any order. While the cubic mean value in- terpolant has the same form in higher dimensions, the exact form of interpolants for higher order derivatives remain unknown. Sim- ilarly, our mean-value-based derivation of cubic mean value inter- polant can be conceptually extended to higher order derivatives, us- ing mean value properties for poly-harmonic functions [Goyal and Goyal 2012]. Whether the extensions of these two different deriva- tions would yield equivalent interpolants, and how to construct co- ordinates of these interpolants over discrete domains in both 2D and 3D, are interesting topics for future investigation.

7 Acknowledgement

We thank all the reviewers for valuable comments. We thank pre- vious researchers for sharing their codes. We thank Song-Pei Du and Yu-Kun Lai for helpful discussion. This work was supported by National Basic Research Project of China (2011CB302202), Natural Science Foundation of China (61120106007), National High Technology Research and Development Program of China (2013AA013903), Tsinghua University Initiative Scientific Re- search Program, and National Science Foundation (IIS-0846072). Xian-Ying Li was partially supported by the New PhD Researcher Award from the Chinese Ministry of Education.

References

BARAN, I., AND POPOVI C´, J. 2007. Automatic rigging and ani- mation of 3d characters. ACM Transactions on Graphics 26, 3, 72:1–8.

BOTSCH, M., AND KOBBELT, L. 2004. An intuitive framework for real-time freeform modeling. ACM Transactions on Graphics 23 , 3, 630–634.

BOTSCH, M., KOBBELT, L., PAULY, M., ALLIEZ, P., AND L ´EVY, B. 2010. Polygon Mesh Processing. A. K. Peters, Natick.

DYKEN, C., AND FLOATER, M. S. 2009. Transfinite mean value interpolation. Computer Aided Geometric Design (CAGD) 26, 1, 117–134.

FARBMAN, Z., HOFFER, G., LIPMAN, Y., COHEN-OR, D., AND LISCHINSKI, D. 2009. Coordinates for instant image cloning. ACM Transactions on Graphics 28, 3, 67:1–9.

FERGUSON, J. 1964. Multivariable curve interpolation. Journal of the ACM 11, 2, 221–228.

FLOATER, M. S., AND SCHULZ, C. 2008. Pointwise radial mini- mization: Hermite interpolation on arbitrary domains. Computer Graphics Forum 27, 5, 1505–1512.

FLOATER, M. S., HORMANN, K., AND K ´OS, G. 2006. A general construction of barycentric coordinates over convex polygons. Advances in Computational Mathematics 24, 3, 311–331.

FLOATER, M. S. 2003. Mean value coordinates. Computer Aided Geometric Design (CAGD) 20, 1, 19–27.

GOYAL, S., AND GOYAL, V. B. 2012. Mean value results for second and higher order partial differential equations. Applied Mathematical Sciences 6, 77-80, 3941–3957.

HORMANN, K., AND FLOATER, M. S. 2006. Mean value co- ordinates for arbitrary planar polygons. ACM Transactions on Graphics 25, 4, 1424–1441.

HORMANN, K., AND SUKUMAR, N. 2008. Maximum entropy coordinates for arbitrary polytopes. Computer Graphics Forum 27 , 5, 1513–1520.

JACOBSON, A., BARAN, I., POPOVI C´, J., AND SORKINE, O.

  1. Bounded biharmonic weights for real-time deformation. ACM Transactions on Graphics 30, 4, 78:1–8.

JOSHI, P., MEYER, M., DEROSE, T., GREEN, B., AND SANOCKI, T. 2007. Harmonic coordinates for character articu- lation. ACM Transactions on Graphics 26, 3, 71:1–9.

JU, T., SCHAEFER, S., AND WARREN, J. 2005. Mean value co- ordinates for closed triangular meshes. ACM Transactions on Graphics 24, 3, 561–566.

LAI, Y.-K., HU, S.-M., AND MARTIN, R. R. 2009. Auto- matic and topology-preserving gradient mesh generation for im- age vectorization. ACM Transactions on Graphics 28, 3, 85:1–8.

LANGER, T., AND SEIDEL, H.-P. 2008. Higher order barycentric coordinates. Computer Graphics Forum 27, 2, 459–466.

LIPMAN, Y., LEVIN, D., AND COHEN-OR, D. 2008. Green coor- dinates. ACM Transactions on Graphics 27, 3, 78:1–10.

MANSON, J., AND SCHAEFER, S. 2010. Moving least squares coordinates. Computer Graphics Forum 29, 5, 1517–1524.

MANSON, J., LI, K., AND SCHAEFER, S. 2011. Positive Gordon- Wixom coordinates. Computer Aided Design 43, 11, 1422–

MEYER, M., LEE, H., BARR, A., AND DESBRUN, M. 2002. Gen- eralized barycentric coordinates on irregular polygons. Journal of Graphics Tools 7, 1, 13–22.

ORZAN, A., BOUSSEAU, A., WINNEM OLLER¨ , H., BARLA, P.,

THOLLOT, J., AND SALESIN, D. 2008. Diffusion curves: a vector representation for smooth-shaded images. ACM Transac- tions on Graphics 27, 3, 92:1–8.

PINKALL, U., AND POLTHIER, K. 1993. Computing discrete min- imal surfaces and their conjugates. Experimental Mathematics 2, 1, 15–36.

POLYANIN, A. D. 2002. Handbook of linear partial differential equations for engineers and scientists. Chapman & Hall / CRC, London.

SUN, J., LIANG, L., WEN, F., AND SHUM, H.-Y. 2007. Image vectorization using optimized gradient meshes. ACM Transac- tions on Graphics 26, 3, 11:1–7.

WACHSPRESS, E. 1975. A Rational Finite Element Basis. London: Academic Press.

WEBER, O., AND GOTSMAN, C. 2010. Controllable conformal maps for shape deformation and interpolation. ACM Transac- tions on Graphics 29, 4, 78:1–11.

WEBER, O., BEN-CHEN, M., AND GOTSMAN, C. 2009. Com- plex barycentric coordinates with applications to planar shape deformation. Computer Graphics Forum 28, 2, 587–597.

WEBER, O., BEN-CHEN, M., GOTSMAN, C., AND HORMANN, K. 2011. A complex view of barycentric mappings. Computer Graphics Forum 30, 5, 1533–1542.

WEBER, O., PORANNE, R., AND GOTSMAN, C. 2012. Bihar- monic coordinates. Computer Graphics Forum 31, 8, 2409–

XIA, T., LIAO, B., AND YU, Y. 2009. Patch-based image vec- torization with automatic curvilinear feature alignment. ACM Transactions on Graphics 28, 5, 115:1–10.

A Proof of Equation 3

Proof: Given the boundary constraints F[θ] and G[θ] on the unit circle, the unique biharmonic solution of this Diriclet problem can be expressed analytically as follows (refer to [Polyanin 2002]):

B[v] =

(1 − r^2 )^2 2 π

∫ (^2) π

0

1 − r cos(θ − φ) (1 + r^2 − 2 r cos(θ − φ))^2

F[θ]dθ

(1 − r^2 )^2 4 π

∫ (^2) π

0

1 + r^2 − 2 r cos(θ − φ)

G[θ]dθ,

where 0 ≤ r ≤ 1 and 0 ≤ φ < 2 π are the polar coordinates of v.

The first equation in Equation 3 can be obtained by substituting the variable r in Equation 8 with 0.

where Li = |pi − pi+1|, ti = |p[t] − pi|/|pi+1 − pi|, ti = (tiX , tiY ) = (pi+1 −pi)/Li, and ni = (niX , niY ) is the outward unit normal vector of {pi, pi+1}.

For notational simplicity, we introduce the following integrals:

Zk,m,ni =

ti=

tki

umX unY |u|^3

dCv ,

where subscripts k ∈ { 0 , 1 , 2 , 3 }, m ∈ { 0 , 1 , 2 }, n ∈ { 0 , 1 , 2 }, m + n ≤ 2 , k + m + n ≤ 4. Note that Zk,m,ni are constants depending on the geometry of P and v.

The elements of matrix A can be now written as

A =

i

6 Z 0 i, 0 , 0 3 Z 0 i, 1 , 0 3 Z 0 i, 0 , 1 3 Z 0 i, 1 , 0 2 Z 0 i, 2 , 0 2 Z 0 i, 1 , 1 3 Z 0 i, 0 , 1 2 Z 0 i, 1 , 1 2 Z 0 i, 0 , 2

and the elements of the vector b can be written as the following weighted sums of the constraints fi, f (^) i± , h± i ,

b =

i

ai, 0 [v]fi ai, 1 [v]fi ai, 2 [v]fi

i,s

bsi, 0 [v]f (^) is + csi, 0 [v]hsi bsi, 1 [v]f (^) is + csi, 1 [v]hsi bsi, 2 [v]f (^) is + csi, 2 [v]hsi

where the coefficients ai,j , bsi,j , csi,j are:

ai,j = Uj (Z i 0 ,mj ,nj −^3 Z

i 2 ,mj ,nj + 2Z

i 3 ,mj ,nj )

  • 6Vj tiX /Li(Z i 2 ,mj +1,nj − Z

i 3 ,mj +1,nj )

  • 6Vj tiY /Li(Z i 2 ,mj ,nj +1 − Z

i 3 ,mj ,nj +1)

  • Uj (3Z i− 1 2 ,mj ,nj −^2 Z

i− 1 3 ,mj ,nj ) − 6 Vj ti− 1 X /Li− 1 (Zi 2 −,m^1 j +1,nj − Z 3 i−,m^1 j +1,nj )

− 6 Vj ti− 1 Y /Li− 1 (Z i− 1 2 ,mj ,nj +1 − Z

i− 1 3 ,mj ,nj +1), b+ i,j = Uj (LiZi 1 ,mj ,nj − 2 Z 2 i,mj ,nj + LiZ 3 i,mj ,nj )

− Vj tiX (Z 1 i,mj +1,nj − 4 Z 2 i,mj +1,nj + 3Z 3 i,mj +1,nj )

− Vj tiY (Z 1 i,mj ,nj +1 − 4 Zi 2 ,mj ,nj +1 + 3Zi 3 ,mj ,nj +1),

b− i,j = Uj (Z 2 i−,m^1 j ,nj − Li− 1 Z 3 i−,m^1 j ,nj )

− Vj ti− 1 X (2Z 2 i−,m^1 j +1,nj − 3 Z 3 i−,m^1 j +1,nj )

− Vj ti− 1 Y (2Zi 2 −,m^1 j ,nj +1 − 3 Zi 3 −,m^1 j ,nj +1),

c+ i,j = Vj niX (Z 1 i,mj +1,nj − Z 0 i,mj +1,nj )

  • Vj niY (Z 1 i,mj ,nj +1 − Zi 0 ,mj ,nj +1),

c− i,j = −Vj ni− 1 X Z 1 i−,m^1 j +1,nj − Vj ni− 1 Y Z 1 i−,m^1 j ,nj +1,

where (m 0 , n 0 ) = (0, 0), (m 1 , n 1 ) = (1, 0), (m 2 , n 2 ) = (0, 1), and U 0 = 6, U 1 = U 2 = 3, V 0 = 3, V 1 = V 2 = 1.

Finally, the CMV coordinates ai, bsi , csi in Equation 7 have the form

ai = { 1 , 0 , 0 }A−^1 {ai, 0 , ai, 1 , ai, 2 }T bsi = { 1 , 0 , 0 }A−^1 {bsi, 0 , bsi, 1 , bsi, 2 }T

csi = { 1 , 0 , 0 }A−^1 {bsi, 0 , csi, 1 , csi, 2 }T^.

We next give closed-form expressions for integrals Zk,m,ni. To do so, we move to the complex plane and treat each vector as a com- plex number. Let ui = pi − v, j be the imaginary unit, z = (^) |uu| ,

μ = j 2 Im(u^ uiuii+1) , and κ = j 2 ui−ui+ Im(uiui+1). We have^

1 |u| =^ κz^ +^ κ^

1 z , ti = (μz + μ (^1) z )/(κz + κ (^1) z ).

Consider the following complex integrals:

Ck,m,n =

∫ (^) z i+

zi

zm^

jz

(μz + μ

z

)n(κz + κ

z

)k−ndz,

where zi = (^) |uuii| , zi+1 = ui+ |ui+1|.^ The integrals^ Z

i k,m,n can be reduced to Ck,m,n by

Z

i k, 0 , 0 =^ C 3 , 0 ,k Zk,i 1 , 0 = Re[C 2 , 1 ,k ] Zk,i 0 , 1 = Im[C 2 , 1 ,k ]

Z i k, 1 , 1 =

Im[C 1 , 2 ,k ]

Zk,i 2 , 0 =

(C 1 , 0 ,k + Re[C 1 , 2 ,k ])

Zk,i 0 , 2 =

(C 1 , 0 ,k − Re[C 1 , 2 ,k ]),

and Ck,m,n have the following closed-form expressions:

C 3 , 0 , 0 = 2Re[−j(κ^3 I 0 + 3κ^2 κI 1 )]

C 3 , 0 , 1 = 2Re[−j(κ 2 μI 0 + (κ 2 μ + 2κκμ)I 1 )] C 3 , 0 , 2 = 2Re[−j(μ 2 κI 0 + (μ 2 κ + 2μμκ)I 1 )] C 3 , 0 , 3 = 2Re[−j(μ^3 I 0 + 3μ^2 μI 1 )] C 2 , 1 , 0 = −j(κ^2 I 0 + 2κκI 1 + κ^2 I 2 ) C 2 , 1 , 1 = −j(κμI 0 + (κμ + μκ)I 1 + κμI 2 ) C 2 , 1 , 2 = −j(μ^2 I 0 + 2μμI 1 + μ^2 I 2 )

C 2 , 1 , 3 = −j( μ^3 κ

I 0 +

μ^3 κ

I 2 ) + (3μ^2 μ − μ^3 κ κ

)H 1

  • (3μμ^2 −

μ^3 κ κ

)H 0

C 1 , 0 , 0 = 2Re[−jκI 1 ] C 1 , 0 , 1 = 2Re[−jμI 1 ]

C 1 , 0 , 2 = 2Re[−j μ^2 κ

I 1 ] + 2(μμ − Re[ μ^2 κ κ

])H 0

C 1 , 2 , 0 = −j(κI 0 + κI 1 ) C 1 , 2 , 1 = −j(μI 0 + μI 1 )

C 1 , 2 , 2 = −j(

μ^2 κ

I 0 +

μ^2 κ

I 1 ) + 2(μμ − Re[

μ^2 κ κ

])H 1 ,

where I 0 = (z i^3 +1 − z^3 i )/ 3 , I 1 = zi+1 − zi, I 2 = −I 1 , and H 0 = (^) |^1 κ| (tan−^1 ( (^) |κκ| zi+1) − tan−^1 ( (^) |κκ| zi)), H 1 = (^) κ^1 I 1 − κκ H 0.