A General Construction of Barycentric Coordinates
over Convex Polygons
Michael S. Floater
Kai Hormann∗
Department of Informatics
University of Oslo
Department of Informatics
Clausthal University of Technology
Géza Kós
Computer and Automation Research Insitutue
Hungarian Academy of Sciences
Abstract
Barycentric coordinates are unique for triangles, but there are many possible generalizations to convex polygons. In this paper we derive sharp upper and lower bounds on all barycentric coordinates
over convex polygons and use them to show that all such coordinates have the same continuous
extension to the boundary. We then present a general approach for constructing such coordinates
and use it to show that the Wachspress, mean value, and discrete harmonic coordinates all belong to
a unifying one-parameter family of smooth three-point coordinates. We show that the only members
of this family that are positive, and therefore barycentric, are the Wachspress and mean value ones.
However, our general approach allows us to construct several sets of smooth five-point coordinates,
which are positive and therefore barycentric.
1
Introduction
There are many applications of triangular barycentric coordinates. They are the starting point for the
representation of Bernstein-Bézier polynomials over triangles, leading to both parametric triangular
Bézier patches in computer-aided design and to piecewise polynomials (splines) over triangulations,
used in terrain modelling and the finite element method. Barycentric coordinates are also useful for
simply representing a point in a triangle as a convex combination of the vertices, and frequently occur
in computer graphics when modelling geometry with triangular meshes.
In many of these applications, it would be useful to generalize barycentric coordinates to convex
polygons and this is the topic of this paper. Let Ω be a convex polygon in the plane, regarded as a
closed set, with vertices v1 , v2 , . . . , vn , n ≥ 3, in an anticlockwise ordering, see Figure 1. We will call
any set of functions λi : Ω → R, i = 1, . . . , n, barycentric coordinates if they satisfy, for all v ∈ Ω, the
three properties
λi (v) ≥ 0,
i = 1, 2, . . . , n,
(1)
n
X
λi (v) = 1
(2)
λi (v)vi = v.
(3)
i=1
and
n
X
i=1
∗ The
author was supported by the German Research Foundation (DFG) under grant HO-2457/1-1.
1
vn
vn
v1
vi+1
°i
v
®i
¯i¡1
v
Ai
®i¡1
Ai¡1
vi+1
v1
ri
Bi
Ci
¯i
°i¡1 v
i
vi
vi¡1
vi¡1
Figure 1: Notation for convex polygons.
This definition does indeed generalize triangular barycentric coordinates, for in the case n = 3, Ω is
the triangle [v1 , v2 , v3 ], and the properties (2) and (3) alone determine the three coordinates uniquely,
namely
A(v1 , v, v3 )
A(v1 , v2 , v)
A(v, v2 , v3 )
,
λ2 (v) =
,
λ3 (v) =
,
λ1 (v) =
A(v1 , v2 , v3 )
A(v1 , v2 , v3 )
A(v1 , v2 , v3 )
where A(u1 , u2 , u3 ) denotes the signed area of the triangle [u1 , u2 , u3 ]. For example, with v = (x, y) and
vi = (xi , yi ), we have
1 1
1 1 A(v, v2 , v3 ) = x x2 x3 .
2
y y 2 y3 The functions λ1 , λ2 , λ3 : Ω → R are thus linear polynomials and non-negative and have the Lagrange
property, λi (vj ) = δij .
Until very recently, much if not all work on generalizations to arbitrary n was restricted to what are
often now called the Wachspress coordinates [14],
wi (v)
λi (v) = Pn
,
j=1 wj (v)
(4)
with
wi (v) = A(vi−1 , vi , vi+1 )
Y
A(v, vj , vj+1 ).
(5)
j6=i−1,i
While Wachspress’s application was finite elements methods, Charrot and Gregory [2] and Loop and
DeRose [9] wanted coordinates for building n-sided Bézier patches for computer-aided design (see also
Goldman [8]). Independently of Wachspress’s work, Loop and DeRose [9] proposed the coordinates λi
of (4) but with (5) replaced by
Y
wi (v) =
A(v, vj , vj+1 ),
(6)
j6=i−1,i
and showed that they are barycentric (i.e. they satisfy the linear precision property (3)) in the case
that Ω is a regular polygon. We note that the coordinates defined by (6) are equivalent to Wachspress’s
when Ω is a regular polygon because the areas A(vi−1 , vi , vi+1 ) in that case are equal. Charrot and
Gregory [2] used the same coordinates with Ω a regular pentagon (n = 5).
Later, Warren [15] brought Wachspress’s work to light and also generalized some of Wachspress’s
constructions to higher dimensions. However, we first learned about Wachspress’s coordinates through
2
the paper by Meyer, Lee, Barr, and Desbrun [10], who independently proved that these coordinates
have the linear precision property (3) using the equivalent local form,
wi (v) =
A(vi−1 , vi , vi+1 )
.
A(v, vi−1 , vi )A(v, vi , vi+1 )
(7)
Recently, Warren, Schaefer, Hirani, and Desbrun [17] have generalized this latter approach to convex
polyhedra in arbitrary dimensions.
Wachspress coordinates have many nice properties, such as being affine invariant; they are unchanged
when any affine transformation T : R2 → R2 is applied simultaneously to the points v1 , . . . , vn and v.
Specifically, if we express λi as λi (v; v1 , . . . , vn ) to indicate the dependency on the vertices of Ω, we have
λi (T v; T v1 , . . . , T vn ) = λi (v; v1 , . . . , vn ).
(8)
Wachspress coordinates are clearly smooth (C ∞ ) and also rational polynomials in the coordinates x
and y of the point v = (x, y) with degree at most n − 2. Warren [16] has shown that this is the least
possible degree.
Then recently some new, smooth barycentric coordinates were constructed in [6]. With λi as in (4),
these so-called mean value coordinates are defined by
wi (v) =
tan(αi (v)/2) + tan(αi−1 (v)/2)
.
kvi − vk
(9)
Here, αi (v) denotes the angle in the triangle [v, vi , vi+1 ] at the vertex v; see Figure 1. Though these
coordinates are not affine invariant, they have the invariance (8) whenever T is a similarity, i.e. a combination of translation, rotation, or uniform scaling. The motivation and advantage of these coordinates
is that they allow a vertex of a planar triangulation to be expressed as a convex combination of its
neighbouring vertices, i.e., they allow Ω to be non-convex, specifically star-shaped, provided v belongs
to the kernel of Ω. Mean value coordinates have been applied to surface parameterization in [6] and
to morphing of triangulations and polygons in [13]. Of course, under our assumption that Ω is convex,
the kernel of Ω is the whole of its interior Int(Ω), so the mean value coordinates are well defined for all
v in Int(Ω), but, as we will see, these coordinates extend in a natural way to the boundary ∂Ω as well.
The fact that we now had two different sets of smooth barycentric coordinates for convex polygons
prompted us to investigate barycentric coordinates in more generality: both to explore their general
properties and to try to construct more coordinates with desirable properties.
We begin in Section 2 by deriving sharp upper and lower bounds on each coordinate function λi and
use them to show that all barycentric coordinates which are continuous in the interior Int(Ω), such as
in (9), extend continuously to the boundary ∂Ω.
In Section 3 we give a general method for constructing barycentric coordinates. Then specializing
to 3-point coordinates, we show in Section 4 that the Wachspress, mean value, and discrete harmonic
coordinates [11, 4] are all related in the sense that they all belong to an interesting one-parameter
family of functions. We show, however, that the only members of this family which are true barycentric
coordinates (i.e. positive) are the Wachspress and mean value ones. This motivates us to widen our
net and to consider 5-point coordinates in Section 5, and we succeed in constructing several new sets
of smooth barycentric coordinates. Some, like the Wachspress coordinates, have affine invariance and
others, like the mean value coordinates, extend to the kernels of star-shaped polygons. We complete
the paper with some illustrative numerical examples.
2
General properties
An important and easily derived property which Wachspress’s coordinates inherit from barycentric
coordinates over triangles is that they are linear along each edge [vj , vj+1 ] of Ω and satisfy the Lagrange
property λi (vj ) = δij at the vertices. In what follows we will show that all barycentric coordinates
which are continuous in Int(Ω) extend continuously to these same boundary values. We achieve this by
3
1
1
0
0
0
0
0
0
0
0
0
0
(a)
(b)
Figure 2: Upper bound (a) and lower bound (b).
deriving upper and lower bounds on each coordinate function λi over Ω, which agree on the boundary
∂Ω. We also show that these two bounds are sharp and we think this makes them interesting in their
own right.
For each i ∈ {1, . . . , n}, let Li : Ω → R be the continuous piecewise linear function which is linear
on each triangle of the form [vj , vj+1 , vi ], j 6= i − 1, i, and has the values Li (vj ) = δij at the vertices of
Ω; as in Figure 2a.
Conversely, let `i : Ω → R be the function which is linear on the triangle [vi−1 , vi , vi+1 ] and zero on
Ω \ [vi−1 , vi , vi+1 ], with `i (vj ) = δij at the vertices; see Figure 2b.
Proposition 2.1. Let D be any subset of Ω and suppose the functions λ1 , . . . , λn : D → R satisfy the
three defining properties of barycentric coordinates, (1), (2) and (3), for v ∈ D. Then, for i = 1, . . . , n,
0 ≤ `i (v) ≤ λi (v) ≤ Li (v) ≤ 1,
v ∈ D.
(10)
Proof. Any point v ∈ D, being a point in Ω, belongs to at least one triangle [vi , vj , vj+1 ], j 6= i − 1, i.
The two properties (2) and (3) imply linear precision and since A(v, vj , vj+1 ) is linear in v,
A(v, vj , vj+1 ) =
n
X
λk (v)A(vk , vj , vj+1 ) ≥ λi (v)A(vi , vj , vj+1 ),
k=1
the latter inequality due to the positivity property (1). This implies that
λi (v) ≤ A(v, vj , vj+1 )/A(vi , vj , vj+1 ) = Li (v).
The opposite inequality, `i (v) ≤ λi (v), is trivial if v is outside the triangle [vi−1 , vi , vi+1 ], for then
`i (v) = 0. So suppose v ∈ [vi−1 , vi , vi+1 ]. Then, since A(v, vi+1 , vi−1 ) is linear in v,
A(v, vi+1 , vi−1 ) =
n
X
λk (v)A(vk , vi+1 , vi−1 )
k=1
= λi (v)A(vi , vi+1 , vi−1 ) −
X
λk (v)A(vk , vi−1 , vi+1 )
k6=i−1,i,i+1
≤ λi (v)A(vi , vi+1 , vi−1 )
which implies that
λi (v) ≥ A(v, vi+1 , vi−1 )/A(vi , vi+1 , vi−1 ) = `i (v).
4
Letting D = Ω, and noting that Li and `i agree on the boundary ∂Ω, we have the following consequence.
Corollary 2.2. If λ1 , . . . , λn : Ω → R is any set of barycentric coordinates then, for i = 1, . . . , n,
`i (v) ≤ λi (v) ≤ Li (v),
v ∈ Ω.
(11)
`i (v) = λi (v) = Li (v),
v ∈ ∂Ω,
(12)
and
and therefore λi is linear on each edge [vj , vj+1 ] and satisfies λi (vj ) = δij .
A further consequence is that it is sufficient to define barycentric coordinates only in the interior of Ω.
Corollary 2.3. Suppose λ1 , . . . , λn : Int(Ω) → R are continuous and satisfy the three properties (1),
(2) and (3) on Int(Ω). Then they are continuous barycentric coordinates in the sense that they have a
unique continuous extension to Ω and therefore satisfy (1), (2) and (3) on the whole of Ω.
Proof. If w is any point in ∂Ω and w1 , w2 , . . ., is any sequence of points in Int(Ω) such that limk→∞ wk =
w, then since
`i (wk ) ≤ λi (wk ) ≤ Li (wk ),
and
lim `i (wk ) = lim Li (wk ) = `i (w),
k→∞
k→∞
we have
lim λi (wk ) = `i (w) = Li (w).
k→∞
Thus from now on, if we construct continuous functions λ1 , . . . , λn satisfying the three basic properties
(1), (2) and (3) in Int(Ω), we are justified in viewing them as continuous barycentric coordinates on the
whole of Ω.
The reader might now be wondering whether the functions L1 , . . . , Ln themselves form a set of
barycentric coordinates and the same for `1 , . . . , `n . However, a little thought shows that this is not
the case for n > 3. For example with
and v its centre, we have Li (v) = 1/2 and
P n = 4, Ω a square,P
`i (v) = 0 for all i = 1, 2, 3, 4 and so i Li (v) = 2 > 1 and i `i (v) = 0 < 1.
Nonetheless, for each i = 1, . . . , n, the functions Li and `i are special because, as we will show
next, they are themselves i-th barycentric coordinates. We will call any function λi : Ω → R an i-th
barycentric coordinate if it is the i-th member of some set of barycentric coordinates λ1 , . . . , λn : Ω → R.
This immediately implies that Li and `i are the least upper bound and greatest lower bound on λi
in inequality (11).
Proposition 2.4. The functions Li and `i are i-th barycentric coordinates Ω → R.
Proof. To see that Li is an i-th barycentric coordinate, let Ti be the triangulation consisting of the
n − 2 triangles [vj , vj+1 , vi ], j 6= i − 1, i. Then let Li,1 , . . . , Li,n : Ω → R be the continuous piecewise
linear functions which are linear on each triangle in Ti and satisfy Li,k (vj ) = δkj . Then Li,1 , . . . , Li,n
are clearly a set of barycentric coordinates, because in each triangle [vj , vj+1 , vi ], j 6= i − 1, i, only Li,j ,
Li,j+1 , and Li,i are non-zero and these three functions are themselves barycentric coordinates with
respect to [vj , vj+1 , vi ]. Thus Li = Li,i is an i-th barycentric coordinate.
Conversely, let Si be any triangulation of Ω in which one of the triangles is [vi−1 , vi , vi+1 ], and
let `i,1 , . . . , `i,n : Ω → R be the associated continuous piecewise linear functions, i.e., which are linear
on each triangle in Si and such that `i,k (vj ) = δkj . Then `i,1 , . . . , `i,n are also a set of barycentric
coordinates and so `i = `i,i is therefore an i-th barycentric coordinate.
In fact all functions between the upper and lower bounds are i-th barycentric coordinates.
5
Proposition 2.5. A function λi : Ω → R is an i-th barycentric coordinate if and only if
`i (v) ≤ λi (v) ≤ Li (v),
v ∈ Ω.
(13)
Proof. We have already shown that inequality (13) is necessary for λi to be an i-th barycentric coordinate. To show that the inequality is also sufficient, note that it implies that
λi = (1 − α)`i + αLi
for some function α : Ω → R with 0 ≤ α ≤ 1. But now, referring to the proof of Proposition 2.4, let
λi,j = (1 − α)`i,j + αLi,j
for j = 1, . . . , n. It is easy to check that λi,1 , . . . , λi,n form a set of barycentric coordinates and since
λi = λi,i , this means that λi is indeed an i-th barycentric coordinate.
The above results lead to one further interesting property of barycentric coordinates for convex polygons.
Since the function `i is clearly convex as well as satisfying `i (vj ) = δij , a result of Dahmen and Micchelli
[3] (see also [1]) shows that `i is the pointwise maximum of all convex functions f on Ω which satisfy
f (vj ) = δij . Conversely, Li is concave and the pointwise minimum of all concave functions f on Ω such
that f (vj ) = δij . Therefore
Proposition 2.6. Suppose λ1 , . . . , λn : Ω → R are barycentric coordinates. For each i, if λi is convex
then λi = `i and if λi is concave then λi = Li . So if λi is differentiable in Int(Ω) then it is neither
convex nor concave.
This last result confirms what we have seen in all our numerical examples. We tend to see coordinate
functions which are “saddle-like”, i.e. at each point the Hessian is indefinite. This suggests letting λi be
the unique solution to the Laplace equation
∆λi = 0,
subject to the Dirichlet boundary condition
λi |∂Ω = `i |∂Ω .
Using the maximum principle [12] and the fact that linear bivariate functions are harmonic, it is easy to
show that these harmonic coordinates λ1 , . . . , λn constitute a set of smooth barycentric coordinates with
similarity invariance. Moreover, they clearly extend to any polygon. However, since it appears that no
explicit formula for these coordinates is known, they are less attractive for computational purposes.
We make one final remark in this section. Though we are primarily concerned with smooth coordinates, it can easily be checked that the piecewise linear functions
n
λi :=
1X
Lk,i ,
n
k=1
where the functions Li,j were defined in the proof of Proposition 2.4, are the shape-preserving coordinates of [5], which are only C 0 .
3
Construction of coordinates
We will now describe a general method of constructing smooth barycentric coordinates, and in particular
show that there are many sets of smooth barycentric coordinates other than the Wachspress and mean
value coordinates. We will only consider barycentric coordinates λi which are invariant to similarities.
In fact Wachspress coordinates are special in that they have full affine invariance, i.e. they are in
6
addition invariant to non-uniform scalings (e.g. a scaling in just the x coordinate). However, in many
applications, uniform scale invariance is usually sufficient.
First we note that due to Corollary 2.3, we have only to find continuous functions λi satisfying (1),
(2) and (3) for points v in the interior of Ω, in order to construct continuous barycentric coordinates on
the whole of Ω. However, we wish to find coordinates which are as smooth as possible in the interior.
Next, we note that the normalization in (4) is a common feature of many sets of barycentric coordinates.
Clearly, if we can find functions wi : Int(Ω) → R such that
wi (v) > 0,
and
n
X
i = 1, 2, . . . , n,
(14)
wi (v)(vi − v) = 0,
(15)
i=1
then the normalized functions λi in (4) are well-defined and satisfy (1), (2) and (3). For convenience, we
will call any set of functions wi : Int(Ω) → R satisfying (15) homogeneous coordinates. Our approach is
to first give a very general formula for homogeneous coordinates. Later we will search for special cases
in which the coordinates are also positive. In what follows we will define the three signed triangle areas
Ai (v) = A(v, vi , vi+1 ),
Bi (v) = A(v, vi−1 , vi+1 ),
Ci = A(vi−1 , vi , vi+1 ).
(16)
We note that
Ai−1 (v) + Ai (v) = Bi (v) + Ci ,
(17)
and that due to the convexity of Ω, we have Ai (v) > 0 for all v in Int(Ω), and Ci > 0, but the sign of
Bi (v) depends on which side of the line segment [vi−1 , vi+1 ] the point v is located; see Figure 1.
Proposition 3.1. Let c1 , c2 , . . . , cn : Int(Ω) → R be any real functions. Then the functions
wi =
ci+1 Ai−1 − ci Bi + ci−1 Ai
,
Ai−1 Ai
(18)
are homogeneous coordinates, i.e., satisfy Equation (15).
Proof. By expressing v ∈ Int(Ω) as a barycentric combination of vi−1 , vi , vi+1 , we have
Ai (v)(vi−1 − v) + Ai−1 (v)(vi+1 − v) − Bi (v)(vi − v) = 0,
(19)
or alternatively,
Di (v) :=
Bi (v)
vi−1 − v vi+1 − v
+
−
(vi − v) = 0.
Ai−1 (v)
Ai (v)
Ai−1 (v)Ai (v)
(20)
Thus any linear combination of the Di is also zero, i.e.,
n
X
ci (v)Di (v) = 0.
i=1
But this equation can be rearranged, by two changes of summation index, to be Equation (15) with
weights wi given by (18).
We have now further simplified our task. No matter which functions c1 , . . . , cn we choose, the functions
w1 , . . . , wn in (18) will be homogeneous coordinates. It remains to choose c1 , . . . , cn to ensure that the
wi are also positive in Int(Ω).
As we will see later, the point about the particular form of (18) is that if each function ci is chosen
to depend only on vi and one or more neighbours on either side of vi (e.g. vi−1 and vi+1 ), then the
function wi will also have a local dependence. However, there is really nothing special about the form
of the functions wi in (18); they can all be expressed in this way.
7
Corollary 3.2. Any set of homogeneous coordinates w1 , . . . , wn : Int(Ω) → R can be expressed in the
form of (18).
Proof. Let c1 and c2 be arbitrary functions Int(Ω) → R and define c3 , . . . , cn recursively by
ci+1 = (Ai−1 Ai wi + ci Bi − ci−1 Ai )/Ai−1 ,
i = 2, . . . , n − 1.
(21)
Now set
ci+1 Ai−1 − ci Bi + ci−1 Ai
,
i = 1, . . . , n,
(22)
Ai−1 Ai
and we claim that ŵi = wi for i = 1, . . . , n. That this holds for i = 2, . . . , n − 1 follows immediately
from (21). Moreover, Proposition 3.1 shows that the ŵi satisfy (15) and so
ŵi =
ŵ1 (v)(v1 − v) + ŵn (v)(vn − v) = −
n−1
X
ŵi (v)(vi − v)
i=2
=−
n−1
X
wi (v)(vi − v) = w1 (v)(v1 − v) + wn (v)(vn − v).
i=2
Since v1 − v and vn − v are linearly independent vectors, we can equate coefficients, yielding ŵ1 = w1
and ŵn = wn .
Note that there is an alternative way of expressing wi in (18) which may be useful at times. If we let
ri (v) = kv − vi k,
and recall that αi (v) denotes the angle in the triangle [v, vi , vi+1 ] at v, then we have
Ai (v) = ri (v)ri+1 (v) sin αi (v)/2,
Bi (v) = ri−1 (v)ri+1 (v) sin(αi−1 (v) + αi (v))/2,
and it follows that
2
wi =
ri
ci+1
ci sin(αi−1 + αi )
ci−1
−
+
ri+1 sin αi
ri sin αi−1 sin αi
ri−1 sin αi−1
(23)
or, letting ai = ci /ri ,
2
wi =
ri
4
ai+1 − ai cos αi
ai−1 − ai cos αi−1
+
sin αi
sin αi−1
.
(24)
Three-point coordinates
Let us begin by setting ci = rip in (18), where p is any real number (positive or negative). We then
obtain an interesting one-parameter family of homogeneous coordinates
wi,p =
p
p
ri+1
Ai−1 − rip Bi + ri−1
Ai
,
Ai−1 Ai
which are C ∞ in Int(Ω), and associated normalized functions
wi,p
λi,p = Pn
,
j=1 wj,p
(25)
(26)
which are valid whenever the numerator is non-zero. Since each coordinate wi,p depends only on vi−1 ,
vi , and vi+1 , we call the wi,p three-point coordinates. It is easy to see that the functions λi,p are invariant
to similarities. It may at times be helpful to use the angle formulation (24) which gives
!
p−1
p−1
p−1
ri−1
− rip−1 cos αi−1
2 ri+1 − ri cos αi
wi,p =
+
.
(27)
ri
sin αi
sin αi−1
8
We next see how the Wachspress and mean value coordinates are two members of this one-parameter
family.
Proposition 4.1. The functions λi,0 are the Wachspress coordinates and the functions λi,1 are the mean
value coordinates.
Proof. Recalling identity (17), if we let p = 0 in (25), we get
wi,0 =
Ci
Ai−1 Ai
,
(28)
which is equivalent to (7). If on the other hand we let p = 1, then Equation (27) implies
1 − cos αi−1
2 1 − cos αi
+
,
wi,1 =
ri
sin αi
sin αi−1
(29)
which is equivalent to (9) up to the factor 2 that cancels out in the normalization (4).
We have now seen two choices of the exponent p which lead to barycentric coordinates λi,p . An obvious
question is whether there are other such choices. Before treating this general question, consider next a
third interesting choice, namely p = 2. From Equation (27), we have
ri+1 − ri cos αi
ri−1 − ri cos αi−1
wi,2 = 2
+
,
(30)
ri sin αi
ri sin αi−1
and using a little trigonometry, we find
wi,2 = 2(cot γi + cot βi−1 ),
(31)
where βi−1 is the angle in the triangle [v, vi−1 , vi ] at corner vi−1 and γi the angle in the triangle
[v, vi , vi+1 ] at corner vi+1 ; see Figure 1. We recognize these homogeneous coordinates, once normalized,
as the discrete harmonic coordinates arising from the standard piecewise linear finite element approximation to the Laplace equation studied by Pinkall and Polthier [11] and Eck et al. [4]. We have therefore
shown
Proposition 4.2. The functions λi,2 are the discrete harmonic coordinates.
However, as is well known, these coordinates are rarely barycentric coordinates for they are rarely
positive for an arbitrary convex polygon Ω. In fact, using the fact that cot γi + cot βi−1 is positive if
and only if γi + βi−1 < π (see [7]), we establish the following:
Proposition 4.3. If Ω is a convex polygon such that the discrete harmonic coordinates λi,2 are positive
at all points in its interior then all its vertices v1 , . . . , vn lie on a circle.
Proof. It is enough to show that every sequence of four vertices vi−1 , vi , vi+1 , vi+2 arePco-circular.
n
Let Q denote the quadrilateral formed by vi−1 , vi , vi+1 , vi+2 . From [7] we know that j=1 wj,2 (v)
is positive for any v ∈ Int(Ω). Therefore, since λi,2 (v) is positive, so is wi,2 (v) and so γi + βi−1 < π.
Letting v converge to vi+2 , this means that the sum of the two opposite interior angles of Q at the
vertices vi−1 and vi+1 is at most π. Conversely, since λi+1,2 (v) > 0, letting v → vi−1 shows that the
sum of the two other interior angles of Q is also less than or equal to π. But this is only possible if both
pairs of opposite angles sum to exactly π in which case vi−1 , vi , vi+1 , vi+2 are co-circular.
Somewhat curiously, it turns out that in this special circle case, the discrete harmonic coordinates are
in any case the same as the Wachspress coordinates. We first observed this equivalence numerically but
later found the following proof. As far as we know, this has not been noticed before.
Proposition 4.4. If the vertices v1 , . . . , vn lie on the unit circle around the origin, then
wi,2 (v) = (1 − kvk2 )wi,0 (v),
and therefore λi,2 = λi,0 .
9
v ∈ Int(Ω),
(32)
Proof. Fix v ∈ Int(Ω) and let r = kvk. By rotational invariance we may assume that v = (r, 0) and
using polar coordinates we have
vi = (cos ϕi , sin ϕi )
for some ϕ1 , . . . , ϕn . Then
ri2 = kvi − vk2 = (cos ϕi − r)2 + (sin ϕi )2 = 1 + r2 − 2r cos ϕi .
(33)
In this particular representation we can write the triangle areas from (16) as
Ai = (cos ϕi − r) sin ϕi+1 − sin ϕi (cos ϕi+1 − r) /2
Bi = (cos ϕi−1 − r) sin ϕi+1 − sin ϕi−1 (cos ϕi+1 − r) /2
and establish the identity
cos ϕi+1 Ai−1 − cos ϕi Bi + cos ϕi−1 Ai = r(Ai−1 − Bi + Ai ).
(34)
Equations (25), (33) and (34) now imply
2
2
wi,2 Ai Ai−1 = ri+1
Ai−1 − ri2 Bi + ri−1
Ai
= (1 + r2 )(Ai−1 − Bi + Ai ) − 2r(cos ϕi+1 Ai−1 − cos ϕi Bi + cos ϕi−1 Ai )
= (1 + r2 )(Ai−1 − Bi + Ai ) − 2r2 (Ai−1 − Bi + Ai )
= (1 − r2 )wi,0 Ai Ai−1
which is equivalent to (32).
We have now seen that the coordinates λi,0 and λi,1 are barycentric, i.e., positive, for all convex polygons
Ω while the coordinates λi,2 are in general not. We will next prove the somewhat remarkable result that
the exponents p = 0 and p = 1 are the only exponents for which the coordinates λi,p are positive for
all convex polygons. To this end it will help to consider for the moment the more general three-point
coordinates
f (ri+1 )Ai−1 − f (ri )Bi + f (ri−1 )Ai
wi,f =
(35)
Ai−1 Ai
where f : (0, ∞) → R is an arbitrary function. We give a classification of all C 2 functions f for which
the coordinates wi,f are positive inside all convex polygons.
Proposition 4.5. Suppose f belongs to C 2 (0, ∞). Then the homogeneous coordinates wi,f in (35) are
positive in Int(Ω) if and only if f satisfies the conditions
(i) positivity: f (r) > 0,
(ii) monotonicity: f 0 (r) ≥ 0,
(iii) sublinearity: f (r) ≥ rf 0 (r),
(iv) convexity: f 00 (r) ≥ 0.
Proof. Assume first that f satisfies conditions (i) to (iv). Using the two Taylor series
f (ri±1 ) = f (ri ) + (ri±1 − ri )f 0 (ri ) + (ri±1 − ri )2 f 00 (η± )/2,
with η± some point between ri and ri±1 , we find
wi,f = wi,0 (f (ri ) − ri f 0 (ri )) + wi,1 f 0 (ri )
+ (ri+1 − ri )2 Ai−1 f 00 (η+ ) + (ri−1 − ri )2 Ai f 00 (η− ) /(2Ai−1 Ai )
≥ wi,0 (f (ri ) − ri f 0 (ri )) + wi,1 f 0 (ri )
10
which clearly is positive because wi,0 and wi,1 are always positive in (35) and the two factors cannot
both be zero at the same time.
We will now show that conditions (i) to (iv) are necessary by creating a series of counter-examples.
Let ri = r, ri−1 = s, ri+1 = t be positive and αi−1 = αi = α for some α ∈ (0, π). Then we have
Ai−1 = rs sin(α)/2, Ai = rt sin(α)/2, and Bi = st sin(2α)/2 and the convexity condition Ci > 0 holds
as long as
r 1 1
+
.
(36)
cos α <
2 s
t
We further see that wi,f ≤ 0 is equivalent to
r f (s) f (t)
f (r) cos α ≥
+
.
(37)
2
s
t
If f does not satisfy (i), then there exists an r > 0 with f (r) ≤ 0 and (36) and (37) hold for s = t = r
and any α. If f does not satisfy (ii), then there exist some s > r with f (s) < f (r). Now we choose
t = s and α such that cos α = (1 − )r/s. Then, (36) and (37) hold if is sufficiently small. Condition
(iii) is equivalent to the property (∂/∂r)(f (r)/r) ≥ 0. Thus if f does not satisfy (iii), then there exist
some r > s with f (r)s > f (s)r and (36) and (37) hold for t = s if α is sufficiently small.
Consider now the function g(r) = rf (1/r) with g 00 (r) = f 00 (1/r)/r3 . If f does not satisfy (iv)
then there exists an r > 0 with f 00 (r) < 0 and g 00 (1/r) < 0. There also exists an h > 0 such that
g(1/r) > (g(1/r − h) + g(1/r + h))/2, or equivalently,
1 f (s) f (t)
f (r)
>
+
r
2
s
t
with s = r/(1 − rh) and t = r/(1 + rh). Clearly, (36) and (37) hold for this choice of r, s, and t and
sufficiently small α.
We now use the necessity conditions (i) to (iv) to show the uniqueness of the Wachspress and mean
value coordinates.
Corollary 4.6. The only members of the one-parameter family of homogeneous coordinates wi,p which
are positive for all convex polygons are the Wachspress and mean value coordinates.
Proof. We show that the only choices of p for which f (r) = rp satisfies conditions (i) to (iv) of Proposition 4.5 are p = 0 and p = 1. We must have p ≥ 0 in order that f 0 (r) ≥ 0. We cannot have 0 < p < 1
because we need f 00 (r) ≥ 0. Thus either p = 0 or p ≥ 1. But we cannot have p > 1 for this would
violate the condition that f (r) ≥ rf 0 (r).
It follows that the Wachspress coordinates are the only ones from the one-parameter family wi,p which
are both positive and affine invariant in any convex polygon and that the mean value coordinates are
the only ones which are positive in the kernel of any star-shaped polygon.
There are other choices of functions f that satisfy the conditions of Proposition 4.5, such as the
function f (r) = 1 + r. However, it appears to us that the only choice of f which gives coordinates
with uniform scale invariance is f (r) = rp . Without this invariance we do not think the coordinates
would have much value. We are not able to prove this but it seems to us that the only way to get scale
invariance is when we have homogeneity, i.e.
f (αr) = g(α)f (r),
(38)
for some function g. Then if both functions f and g are differentiable, we can differentiate this equation
with respect to α and let α = 1, giving
rf 0 (r) = g 0 (1)f (r).
This first order differential equation has the general solution
f (r) = µrp ,
with p = g 0 (1) and µ an arbitrary constant which would cancel out in the normalization (4).
11
5
Five-point coordinates
We have now seen that the Wachspress and mean value coordinates are the only barycentric coordinates
among the three-point coordinates of the previous section. But somewhat surprisingly it turns out that
there are whole families of barycentric five-point coordinates, i.e. for which wi depends on the five
vertices vi−2 , . . . , vi+2 . Such coordinates result from functions ci in (18) which depend only on the
three vertices vi−1 , vi , vi+1 . In order to show the positivity of these coordinates, recall from (18) that
wi > 0 if and only if
ci Bi < ci+1 Ai−1 + ci−1 Ai
(39)
and that this inequality is trivially satisfied if Bi ≤ 0, provided ci > 0.
Proposition 5.1. For any real value µ with 0 ≤ µ ≤ 1, the choice
c1i,µ = 1 + µ
Ci
Ai−1 + Ai
(40)
1
gives positive homogeneous coordinates wi,µ
.
Proof. For any admissible µ we have 1 ≤ c1i,µ ≤ 1 + Ci /(Ai−1 + Ai ) for all i = 1, . . . , n and
c1i+1,µ Ai−1 + c1i−1,µ Ai − c1i,µ Bi ≥ Ai−1 + Ai − 1 +
Ci
Ai−1 + Ai
Bi =
Ci2
>0
Ai−1 + Ai
if Bi > 0.
Note that the associated barycentric coordinates λ1i,µ have full affine invariance and generalize the Wachspress coordinates because λi,0 = λ1i,0 . Moreover, these coordinates are clearly rational polynomials and
it is easy to show that their degree is at most 2n − 1 but in agreement with [16] greater or equal to
n − 2.
We further remark that the constant µ could be replaced for each i = 1, . . . , n by any function
µi : Int(Ω) → [0, 1]. For example, all three choices
2Ai−1 Ai
Ai−1 Ai
Ci
µi =
,
µ
=
sin
π
,
µi =
(41)
i
(Ai−1 + Ai )2
(Ai−1 + Ai )2
1 + Ci
depend only on the three vertices vi−1 , vi , vi+1 . So all of them yield 5-point barycentric coordinates and
the first two have full affine invariance.
Two further families of five-point coordinates are based on the following sufficient condition for the
positivity of homogeneous coordinates.
Lemma 5.2. Suppose that the functions ci in (18) satisfy ci ≥ ri for all i = 1, . . . , n and
ci <
ri+1 Ai−1 + ri−1 Ai
Bi
(42)
for all i for which Bi > 0. Then all the homogeneous coordinates w1 , . . . , wn in (18) are positive in
Int(Ω).
Proof. If Bi > 0 then (39) is clearly implied by ci+1 ≥ ri+1 and ci−1 ≥ ri−1 and (42).
In what follows it will be more convenient to rewrite (42) in terms of the angles αi ,
ci < ri
sin αi−1 + sin αi
sin(αi−1 + αi )
and remember that Bi > 0 is equivalent to αi−1 + αi < π.
12
(43)
Proposition 5.3. For any real value µ with 0 ≤ µ ≤ 1, the choice
c2i,µ = ri
(1 + µ)(sin αi−1 + sin αi )
sin αi−1 + sin αi + µ sin(αi−1 + αi )
2
gives positive homogeneous coordinates wi,µ
.
Proof. Since
sin(αi−1 + αi ) < sin αi−1 + sin αi ,
it is easy to show that
c2i,µ
≥ ri for all i, and
c2i,µ < ri
sin αi−1 + sin αi
sin(αi−1 + αi )
for αi−1 + αi < π.
Proposition 5.4. For any real value µ with 0 ≤ µ ≤ 1, the choice
c3i,µ = ri
cos(µ(αi−1 − αi )/4)
,
cos(µ(αi−1 + αi )/4)
3
gives positive homogeneous coordinates wi,µ
.
Proof. A simple calculation shows that if
c(µ) = ri
then
c0 (µ) = ri
cos(µ(αi−1 − αi )/4)
,
cos(µ(αi−1 + αi )/4)
αi sin(µαi−1 /2) + αi−1 sin(µαi /2)
≥0
4 cos2 (µ(αi−1 + αi )/4)
with strict positivity for µ > 0. Therefore, c(µ) ≥ c(0) = ri and
c(µ) < c(2) = ri
sin αi−1 + sin αi
sin(αi−1 + αi )
in the case that αi−1 + αi < π.
Note that both families generalize the mean value coordinates since λi,1 = λ2i,0 = λ3i,0 and likewise
extend to the kernels of star-shaped polygons. Again we could replace µ for each i = 1, . . . , n by any
function µi : Int(Ω) → [0, 1], for example, any of the three choices in (41).
6
Examples
Let us now study some numerical examples for the different barycentric coordinates that we have
discussed in this paper. We compare on the one hand the affine invariant Wachspress coordinates λi,0
and their generalization λ1i,1 and on the other the mean value coordinates λi,1 and their generalizations
λ2i,1 and λ3i,1 . In all the examples we visualized the contour lines of the coordinate functions at intervals
of 0.05, ranging from 0 to 1.
The first example in Figure 3 shows the results for some regular polygons. The different coordinate
functions are very much alike except that the affine invariant coordinates tend to have more densely
spaced contours near the corresponding vertex, i.e. their derivative is larger. This behaviour becomes
even more apparent in the top row of Figure 4. This second example displays two coordinate functions
for the irregular hexagon with vertices v1 = (4, 2), v2 = (3.6, 4), v3 = (0, 3), v4 = (1, 0.5), v5 = (3.2, 0),
v6 = (4, 1).
13
Wachspress
5-point Wachspress
mean value
5-point
mean value I
5-point
mean value II
λi,0
λ1i,1
λi,1
λ2i,1
λ3i,1
Figure 3: Coordinate functions for some regular convex polygons.
From both examples we conclude that this phenomenon occurs for a coordinate function λi whenever
the angle of the polygon at the corresponding vertex vi is very obtuse. We studied this effect by taking
as a polygon the square with vertices v1 = (−1, 1), v2 = (−1, −1), v3 = (1, −1), v4 = (1, 1) and
one additional vertex v5 , first at (0, 1.1), then at (0, 1.01). The top two rows of Figure 5 show the
coordinate functions for v5 in both cases. It seems that the Wachspress coordinate λ5,0 converges to
the lower bound `5 (see Section 2) as the angle at v5 approaches π and that the derivatives of λ5,0 near
v5 thus become arbitrarily large. The latter also seems to be the case for the generalized Wachspress
coordinate λ15,1 . On the other hand, the mean value coordinates and their generalizations are more
robust against obtuse angles and their derivatives seem to be bounded. Both statements also seem to
hold for the neighbouring coordinate functions as shown in the bottom two rows of Figure 5.
References
[1] J. M. Carnicer and M. S. Floater. Piecewise linear interpolants to Lagrange and Hermite convex
scattered data. Numerical Algorithms, 13(3–4):345–364, 1996.
14
Wachspress
5-point Wachspress
mean value
5-point
mean value I
5-point
mean value II
λ1,0
λ11,1
λ1,1
λ21,1
λ31,1
λ2,0
λ12,1
λ2,1
λ22,1
λ32,1
Figure 4: Coordinate functions for an irregular convex polygon.
[2] P. Charrot and J. Gregory. A pentagonal surface patch for computer aided geometric design.
Computer Aided Geometric Design, 1(1):87–94, 1984.
[3] W. Dahmen and C. Micchelli. Convexity of multivariate Bernstein polynomials and box spline
surfaces. Studia Scientiarum Mathematicarum Hungarica, 23(1–2):265–287, 1988.
[4] M. Eck, T. D. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, and W. Stuetzle. Multiresolution
analysis of arbitrary meshes. In Proceedings of SIGGRAPH ’95, pages 173–182, 1995.
[5] M. S. Floater. Parameterization and smooth approximation of surface triangulations. Computer
Aided Geometric Design, 14(3):231–250, 1997.
[6] M. S. Floater. Mean value coordinates. Computer Aided Geometric Design, 20(1):19–27, 2003.
[7] M. S. Floater. One-to-one piecewise linear mappings over triangulations. Mathematics of Computation, 72(242):685–696, 2003.
[8] R. Goldman. Pyramid Algorithms: A Dynamic Programming Approach to Curves and Surfaces for
Geometric Modeling. Morgan Kaufmann, 2002.
[9] C. T. Loop and T. D. DeRose. A multisided generalization of Bézier surfaces. ACM Transactions
on Graphics, 8(3):204–234, 1989.
[10] M. Meyer, H. Lee, A. H. Barr, and M. Desbrun. Generalized barycentric coordinates on irregular
polygons. Journal of Graphics Tools, 7(1):13–22, 2002.
[11] U. Pinkall and K. Polthier. Computing discrete minimal surfaces and their conjugates. Experimental
Mathematics, 2(1):15–36, 1993.
[12] M. H. Protter and H. F. Weinberger. Maximum principles in differential equations. Springer, third
edition, 1999.
[13] V. Surazhsky and C. Gotsman. Intrinsic morphing of compatible triangulations. In Proceedings of
4th Bi-National Israel-Korea Conference on Geometric Modelling and Computer Graphics, pages
45–50, 2003.
15
Wachspress
5-point
Wachspress
mean value
5-point
mean value I
5-point
mean value II
λ5,0
λ15,1
λ5,1
λ25,1
λ35,1
λ1,0
λ11,1
λ1,1
λ21,1
λ31,1
Figure 5: Effect of obtuse angles.
[14] E. L. Wachspress. A Rational Finite Element Basis. Academic Press, New York, 1975.
[15] J. Warren. Barycentric coordinates for convex polytopes. Advances in Computational Mathematics,
6(2):97–108, 1996.
[16] J. Warren. On the uniqueness of barycentric coordinates. In Contemporary Mathematics, Proceedings of AGGM ’02, pages 93–99, 2003.
[17] J. Warren, S. Schaefer, A. N. Hirani, and M. Desbrun. Barycentric coordinates for convex sets.
Technical report, Rice University, 2003.
16
© Copyright 2026 Paperzz