Hermite mean value interpolation Christopher Dyken and Michael Floater Centre of Mathematics for Applications, Department of Informatics, University of Oslo In this talk: 1. What is mean value interpolation? 2. Proving that the mean value interpolant really interpolates! 3. Hermite interpolation 4. Applications: smooth mappings, web-splines. Mean value interpolation p (x , θ ) Ω ⊂ R2 convex. Given values of a function f on ∂Ω. θ Ω x dΩ The mean value interpolant to f is ,Z Z 2π 2π f (p(x, θ)) 1 g (x) = dθ dθ, kp(x, θ) − xk kp(x, θ) − xk 0 0 Linear precision: if f is linear in Ω then g = f . Mean value property at x. x ∈ Ω. Examples MV interpolation on a polygon p i+1 Ω αi Suppose Ω is a polygon with vertices p1 , . . . , pn and f is piecewise linear on ∂Ω. pi α i−1 x p i−1 dΩ Then g (x) = n X λi (x)f (pi ), i=1 where λi (x) = wi (x)/ Pn 1 wi (x) = kpi − xk j=1 wj (x), tan and αi−1 (x) 2 + tan αi (x) 2 . Non-convex domains: use same formula (Hormann & F. 2006) Boundary integrals: Ju, Schaefer, and Warren (2005) c (t ) Let c : [a, b] → R2 be a parametric representation of ∂Ω, oriented anticlockwise. θ Ω x dΩ Then dθ (c(t) − x) × c0 (t) = , dt kc(t) − xk2 and so Z g (x) = , b w (x, t)f (c(t)) dt φ(x), Z φ(x) = a b w (x, t) dt. a where w (x, t) = (c(t) − x) × c0 (t) . kc(t) − xk3 Shows that g ∈ C ∞ (Ω). Non-convex domains: use same formula! Non-convex domains p 2(x ,θ) p 3(x ,θ) p 1(x ,θ) x Z g (x) = 0 2π n(x,θ) X j=1 θ (−1)j−1 f (pj (x, θ)) dθ kpj (x, θ) − xk , where Z φ(x) = 0 2π n(x,θ) X j=1 (−1)j−1 dθ > 0. kpj (x, θ) − xk φ(x), References 1. A. Belyaev, On transfinite barycentric coordinates (2006). 2. M. S. Floater, Mean value coordinates (2003). 3. M. S. Floater, G. Kos, and M. Reimers, Mean value coordinates in 3D (2005). 4. M. S. Floater, K. Hormann, and G. Kos, A general construction of barycentric coordinates over convex polygons (2006). 5. W. J. Gordon and J. A. Wixom, Pseudo-harmonic interpolation on convex domains (1974). 6. T. Ju, S. Schaefer, and J. Warren, Mean value coordinates for closed triangular meshes (2005). 7. K. Hormann and M. S. Floater, Mean value coordinates for arbitrary planar polygons (2006). 8. M. Sabin, Transfinite surface interpolation (1994). 9. S. Schaefer, T. Ju, and J. Warren, A unified integral construction for coordinates over closed curves, to appear. Interpolation property Let ME be the exterior medial axis of Ω. Theorem If 1. f is continuous, 2. supx∈Ω sup0≤θ≤2π n(x, θ) < ∞, 3. and d(ME , ∂Ω) > 0 then g interpolates f . Sketch of proof With c(s) ∈ ∂Ω and x ∈ Ω, , Z b g (x) − f (c(s)) = w (x, t) f (c(t)) − f (c(s)) dt φ(x). a Rb R R For small γ > 0 split the integral: a = I + J , where I = [s − γ, s + γ] and J = [a, b] \ I . Then, , Z |g (x) − f (c(s))| ≤ max |f (c(t)) − f (c(s))| |w (x, t)| dt φ(x) t∈I I , Z |w (x, t)| dt + 2M φ(x). J Then show Z |w (x, t)| dt ≤ I C1 , d(x, ∂Ω) Z and use continuity of f and c. b w (x, t) dt ≥ and φ(x) = a C2 d(x, ∂Ω) Cubic Hermite interpolation Given data f (x0 ), f 0 (x0 ), f (x1 ), f 0 (x1 ), the cubic p ∈ π3 such that p (k) (xi ) = f (k) (xi ), i = 0, 1, k = 0, 1, can be expressed as p(x) = g0 (x) + ψ(x)g1 (x), where x − x0 x1 − x f (x0 ) + f (x1 ), x1 − x0 x1 − x0 (x − x0 )(x1 − x) ψ(x) = , x1 − x0 x1 − x x − x0 g1 (x) = m0 + m1 , x1 − x0 x1 − x 0 g0 (x) = and mi = f 0 (xi ) − g00 (xi ) , ψ 0 (xi ) i = 0, 1. Equivalently: (for x ∈ (x0 , x1 )) X 1 1 X f (xi ) g0 (x) = |xi − x| |xi i=0 i=0 X 1 1 ψ(x) = 1 , |xi − x| i=0 X 1 1 X mi g1 (x) = |xi − x| |xi i=0 i=0 1 , − x| 1 . − x| Idea: in 2D replace g0 and g1 by mean value interpolants and ψ by a mean value weight function, i.e., replace sums by integrals over θ. Hermite mean value interpolation We can interpolate the data f and ∂f ∂n on ∂Ω, by the function p(x) = g0 (x) + ψ(x)g1 (x), x ∈ Ω, where Z 2π f (p(x, θ)) dθ kp(x, θ) − xk g0 (x) = 0 ψ(x) = 1 φ(x), φ(x), Z 2π m(p(x, θ)) dθ kp(x, θ) − xk g1 (x) = 0 Z φ(x) = 0 2π φ(x), 1 dθ. kp(x, θ) − xk and m(y) = ∂f ∂g0 ∂ψ (y) − (y) (y), ∂n ∂n ∂n y ∈ ∂Ω. To use this construction we need to find ∂ψ ∂n (y) and ∂g0 ∂n (y). Theorem If d(ME , ∂Ω) > 0 and d(MI , ∂Ω) > 0 and y ∈ ∂Ω then ∂ψ (y) = ∂n ∂g0 (y) = ∂n 1 , 2 Z 1 b w (y, t) f (c(t)) − f (y) dt. 2 a Hermite examples Application I: Smooth mappings Reference shape Computational domain (extended Gordon & Hall) MV-Lagrange MV-Hermite Conjecture: Lagrange interpolation from convex sets to convex sets is always injective. Application II: web-splines [Höllig, Reif, Wipper 2001] Idea: Use ψ as a weight function for web-splines Parametric circle Two nested ellipses Polygon Piecwise cubic Bézier curve Solution to Poisson’s equation using bicubic web-splines Using implicit weight function Grid 10 × 8 20 × 16 40 × 32 80 × 64 L2 error 7.3e-02 2.9e-02 1.6e-03 4.4e-05 order 1.31 4.21 5.17 Using MV weight function Grid 10 × 8 20 × 16 40 × 32 80 × 64 L2 error 9.5e-02 4.1e-02 2.4e-03 1.4e-04 order 1.21 4.12 4.01