A O BJECTIVE T ENSOR F IELDS OF A RBITRARY O RDER
The definition of objective
vector fields given in Eq. 10 directlygen
eralizes to general rs tensor fields T ω 1 , . . . , ω r , x1 , . . . , xs ,5 with rcovector (1-form) arguments ω j , and s vector arguments xi , because T
is a multi-linear function of these arguments, and we can apply the definition for vectors argument-wise. We refer to App. N for an overview
of the necessary tensor notation. We define, in abbreviated notation,that T is objective if, under the group action Φ with g, it transforms asT∗ (ω 1 )∗ , . . . , (ω r )∗ , (x1 )∗ , . . . , (xs )∗ =
 (A.1)
T g · (ω 1 )∗ , . . . , g · (ω r )∗ , g−1 · (x1 )∗ , . . . , g−1 · (xs )∗ .
Giving the group actions precisely requires the pushforward and pullback of the diffeomorphism φg , corresponding to g ∈ G, and its inverse
φg−1 . Specifically, a tensor field T is objective if it transforms asT∗ (ω 1 )∗ , . . . , (ω r )∗ , (x1 )∗ , . . . , (xs )∗ =T φg∗ (ω 1 )∗ , . . . , φg∗ (ω r )∗ , dφg−1 (x1 )∗ , . . . , dφg−1 (xs )∗ .
(A.2)
We refer to App. U for details on pushforwards and pullbacks. In fact,
Eq. A.2 simply states that a tensor field T is objective, if it transforms asT∗ = φg∗−1 T, meaning as the pullback of T.6 That is, Eq. A.2 is identicalto the definition of the pullback of a tensor T. We also note that the
pullback φg∗ ω of a 1-form ω is defined via the pushforward dφg , i.e.,(φg∗ ω) v := ω dφg (v) .

(A.3)

1

For example, a 1 tensor field S, i.e., a multi-linear map that maps one
covector and one vector to a scalar, is objective if it transforms asS∗ (ω 1 )∗ , (x1 )∗ = S g · (ω 1 )∗ , g−1 · (x1 )∗ ,(A.4)

= S φg∗ (ω 1 )∗ , dφg−1 (x1 )∗ .
This is equivalent to Eq. 12, where the tensor S is equivalently interpreted as a linear transformation of vectors (or a vector-valued 1-form).
B A DDITIONAL R ESULTS
Although in the paper we focus on spheres, as the natural underlying manifold for 2D geophysical flows, our mathematical framework
applies to general curved (or flat) manifolds.
Cylinder example. As a simple example different from a sphere,
Fig. 10 shows our framework applied to a cylinder, defined as a 2D
manifold with boundary (the caps of the cylinder are not included in thegeometry). We use two overlapping charts in this example. Fig. 10 (a)shows the input flow field as seen by an arbitrary observer. The flow
field contains a vortex rotating around the cylinder. Although Line
Integral Convolution shows a vortex pattern, it is not placed at theobjective center of the vortex. Moreover, although the pathlines areseeded around the actual vortex, it is hard to see that they swirl arounda common center. Fig. 10 (b) shows the observer field that is computedby our optimization method. For this synthetic flow field, the solution
is an exact Killing field. Fig. 10 (c) shows the observed flow field. The
pathlines are seeded exactly at the same positions as in Fig. 10 (a).
They clearly show the swirling motion around the vortex center. The
observed LIC now correctly shows the objective vortex center.
Discussion of other manifolds. In principle, our framework applies
to arbitrary curved manifolds. However, in the completely generalcase, there are two separate major considerations: (1) Our optimization
framework to compute an observer field as an approximate Killing
vector field can, in fact, be used for arbitrary manifolds. (2) The concept
5 For brevity, we list the arguments in this order, but the analogous applies
for an argument list of contravariant and covariant arguments in any order.
6 In fact, this is only possible because φ is a diffeomorphism, which guarang
tees that it is invertible. For non-invertible maps, the pullback of tensors of mixed
variance is not defined. For diffeomorphisms, it is well-defined [41, p.321].

of objectivity with respect to isometries, however, is meaningful only
for manifolds that in fact do support non-trivial continuous isometries.
(1) For any 2D manifold, our optimization framework will computea meaningful approximate Killing field (see also the paper by Ben-Chenet al. [9]), even if the manifold does not support non-trivial exact Killingfields. The resulting observed field will be of practical use, because ourminimization of the observed time derivative will make the observed
field “as steady as possible,” even if the input field is unsteady.
(2) A second important consideration for flow fields on generalsurfaces is related to the question of what an observer (or frame ofreference) actually means. The most common concept of objectivity,
defined with respect to time-dependent distance-preserving spatialtransformations, requires reference frames between which there is acontinuous family of such isometries. Then, a tensor is objective if ityields the same result for any arbitrary pair of reference frames between
which such a continuous family of isometries exists. However, if theunderlying manifold does not support non-trivial (non-identity map)
continuous isometries, the concept of objectivity becomes extremely
restricted. In fact, many general curved surfaces do not have non-trivial(non-zero) Killing fields. To be precise, our framework—including all
equations referring to a general symmetry group G—are still correct forsuch manifolds, but if G is set to the isometry group of that manifold it
will consist of only the identity element. This can also be seen from thedimensionality of the Lie algebra of all Killing vector fields that are
possible on the manifold under consideration, as explained in App. K.
We note that Marsden and Hughes [45] also describe a conceptof objectivity with respect to arbitrary diffeomorphisms in elasticity.
However, this then yields a much more general notion of objectivity.
CG UIDE TO THE R EMAINING A PPENDIXES

We give a brief overview of the appendixes, to provide a guide to theirusage. We provide three different kinds of appendixes: Appendixes that
(1) are related to the core of the paper, covering additional details suchas derivations and proofs; (2) describe explicit computations to help
with implementing our approach; and (3) give summaries of importantconcepts from differential geometry that we build upon in the paper.
Regarding (1), the following appendixes correspond to the core partsof the paper: We first rewrite the standard Euclidean observer transformations from continuum mechanics, as defined and described, forexample, by Truesdell and Noll [65], Holzapfel [34], and Ogden [48], ina more general form in App. D, and then describe the accordingly generalized Observer transformations on general manifolds in App. E. It
is not straightforward to see that an approach such as the one presented
here is in fact objective. We therefore provide detailed Objectivity
proofs for our method in App. F. Regarding (2) and (3), see App. C.1
and C.2, respectively. Finally, App. V provides a table summarizing themathematical Notation used throughout the paper and the appendixes.
C.1

Guide to Reimplementation

In order to implement our approach for a curved manifold, such as thesphere, one needs to define coordinate charts. In each chart, our intrinsic
approach requires the corresponding metric tensor field (comprising a
2 × 2 matrix for each mesh vertex; due to symmetry, only three uniquevalues need to be stored), as well as the corresponding Christoffel
symbols (comprising a 2 × 2 × 2 set of values for each mesh vertex;
due to symmetry, only six unique values need to be stored). Using avery simple setup of six coordinate charts orthogonally projected onto
the (hemi)sphere, we give the explicit computation of the Metric andChristoffel symbols of the 2-sphere in App. Q. We note that all of thesequantities are computed analytically, and therefore do not contain any
numerical error. We also note that any other choice of charts for the
sphere (e.g., with less distortions than orthogonal projection) can easily
be used instead, and can be derived in the same way as done in App. Q.
We have used orthogonally projected charts solely for simplicity.
In addition to the above analytically computed intrinsic propertiesof the manifold under consideration, we also require numerically approximated partial derivatives of vector components that are given
numerically at mesh vertices. (Of the vector fields that we denote byv and u, respectively.) We use an icosahedral mesh that triangulates

(a)

(b)

(c)

Fig. 10. Cylinder. Our framework also applies to other curved manifolds, such as this cylinder with boundary. (a) A vortex moves around the cylinder.
The pathlines are seeded at the vortex core, but it is hard to see that they swirl around a common center. LIC also does not show the objective vortex
center. (b) Observer field computed by optimization. (c) Observed flow field. The pathlines are seeded exactly at the same positions as in (a). They
clearly show the swirling motion around the vortex center. Now LIC shows the objectively observed vortex center. Please zoom in for higher detail.

the sphere. Vector field components are given at the mesh vertices;via two components for a vector. App. R describes the corresponding
Numerical computation of partial derivatives, using a simple, precomputed least-squares approach. This results in filter stencil weights
for the 1-ring neighborhood of each vertex, i.e., weights for all vertices
connected to the center vertex via an edge, and a weight for the center.
App. H describes how we compute Lie derivatives in curved spaces,
which is necessary in order to compute observed time derivatives. As
derived in that appendix, they can be computed solely from partial
derivatives, which we estimate numerically as described in App. R.
C.2

E UCLIDEAN O BSERVER T RANSFORMATIONS

We repeat the spatial part of the reference frame transformation ofTruesdell and Noll [65, p.41], from our Eq. 4, which isx∗ = c(t) + Q(t) x.

x = φ (x,t).

x∗ (t) = φ (x(t),t).

(D.5)

x∗ (t) = φ (x(t),t),dd
t 7→ x∗ (t) = t 7→ φ (x(t),t),
dt
dt





d ∗
∂
d
d
x (t)
=
φ (x,t) ·x(t) +φ x(t), τ , (D.6)
dt
∂
x
dt
dτ
∗
x (t)
x=x(t)
τ=t
 ∗ 



dx (t)dx(t)d= (dφt )x(t)+φ x(t), τ .
dt
dt
dτ
∗
x (t)
τ=t
The map dφt is the pushforward of φt , i.e., (dφt )x : Tx M → Tx∗ N, withx∗ = φt (x). The transformation of v to v∗ , for any fixed t, is therefore dv∗ x∗ (t),t = (dφt )x(t) v x(t),t + φ x(t), τ .
dτ

(D.7)


But because Eq. D.7 is correct for any pair of positions x∗ (t), x(t) ,∗x (t) = φt (x(t)), we can drop the position-dependence on t again andwrite, for any corresponding pair of positions (x∗ , x) with x∗ = φt (x), dv∗ x∗ ,t = (dφt )x v(x,t) + φ x,t .
dt

(D.8)

We can further introduce a vector field w on N, i.e., in the frame x∗ , asw(x∗ ,t) :=dφ x,t , with x = φt−1 (x∗ ).
dtThis allows us to write the general transformation rule asv∗ x∗ ,t = (dφt )x v(x,t) + w x∗ ,t .
D.1

(D.2)

(D.9)

(D.10)

Euclidean Observer Motions as Killing Fields

For Euclidean spaces, we can write the general pushforward dφt as(dφt )x : Tx M → Tx∗ N,

We equivalently also write φ (x,t) := φt (x). This gives simply
∗

(D.4)

The map φt applies at any point x ∈ M, so in order to transform a curvet 7→ x(t) ∈ M into the corresponding curve t 7→ x∗ (t) ∈ N, we have

(D.1)

However, this transformation is specific to Euclidean space and hardto generalize directly. The reason for this is that a general notion oftime-dependent diffeomorphisms corresponding to the transformation
between the frames denoted by x∗ and x, respectively, is missing. In
order to prepare for—and be able to compare to—transformations on arbitrary manifolds, we introduce a one-parameter (i.e., time-dependent)
family of diffeomorphisms φt , mapping between the two frames, froma manifold M = Rn for the first frame (points labeled x), to a manifold
N = Rn for the second frame (points labeled x∗ ). That is, we defineφt : M → N,
x 7→ φt (x) =: x∗ .

φt (x) := c(t) + Q(t) x.

Taking the derivative with respect to time t on both sides, we derivethat a velocity field v := dx(t)/ dt transforms to v∗ := dx∗ (t)/ dt by

Guide to Basic Material

We provide summaries, written using the notation that we use in thepaper, of basic differential geometry concepts. These concepts are
standard in differential geometry and mathematical physics, but not allof them are well-known or often used in visualization. We describe
Tensors as multi-linear maps, and their bases in App. N, and describe
Metric tensor fields in App. P. App. G describes Lie derivatives, andApp. O describes Intrinsic covariant derivatives. App. T describes
the mathematical concept of The flow of a vector field, and App. U
describes the basic concepts of Pushforwards and pullbacks of a given
map (often a diffeomorphism) φ between manifolds.
Symmetry groups and Lie group actions are described in App. I, thecorresponding Lie algebra actions and induced vector fields in App. J,
and Lie algebras and the exponential map in App. M. More specifically,
we describe The Lie algebra of all Killing vector fields in App. K, andthe Isometry Group and Killing Fields of the 2-Sphere in App. L.
D

Below, we will obtain the special case of Eq. D.1 by simply defining φt
as the one-parameter family of Euclidean isometries (with M = N = Rn )


(D.3)

v 7→ (dφt )x (v) =∂
φ (x,t) · v.
∂x

(D.11)

The specific map φt of Eq. D.4, for each time t, corresponds to a general
isometry from Euclidean Rn to itself. The derivatives of this φt are then∂(dφt )x =φ (x,t) = Q(t),∂x∂φ (x,t) ∗ = ċ(t) + Q̇(t) x,∂tx= ċ(t) + Q̇(t) φt−1 (x∗ ),To understand the relationship of t 7→ W (t) with t 7→ g(t), we note thatthe derivative W (t) ∈ Te G maps to g0 (t) ∈ Tg(t) G via left-translation(Lg = g·) in G [22, p.399], i.e., W (t) = dLg−1 (t) g0 (t) . With this W (t),w(x∗ ,t) =(D.12)= ċ(t) + Q̇(t) QT (t) (x∗ − c(t)),= ċ(t) + Ω (t) (x∗ − c(t)),= ċ(t) − Ω (t) c(t) + Ω (t) x∗ ,where Ω := Q̇QT constitutes an anti-symmetric spin tensor. For brevity,
we now define t(t) := ċ(t) − Ω (t) c(t). We can then give Eq. D.8 asv∗ x∗ ,t = Q(t) v x,t + t(t) + Ω (t) x∗ .
(D.13)The expression t + Ω x∗ is the derivative of a translation and rotation,i.e., an infinitesimal isometry of Euclidean space. We now see that here
the vector field w (Eq. D.9) is w(x∗ ,t) = t(t) + Ω (t) x∗ , and finally getv∗ x∗ ,t = Q(t) v x,t + w x∗ ,t .
(D.14)=ddφ (x∗ ) =φ
φ (x) ,dτ τ=0 h(τ)
dτ τ=0 h(τ) g(t)
d
d
φ
(x) =
φ (x).
dτ τ=0 h(τ)g(t)dτ τ=t g(τ)

When G is the isometry group of M, g gives all infinitesimal isometriesof M, and every vector field w is a Killing vector field on M, for each t,
as already derived above specifically for the Euclidean case M = Rn ,i.e., compare Eq. D.20 with the second part of Eq. D.12 and below.
App. J describes Lie algebra actions and their induced vector fields indetail, and App. L describes our approach, described here for Euclidean
space, instead applied to the isometries of the sphere S2 .
E

O BSERVER T RANSFORMATIONS ON G ENERAL M ANIFOLDS

Similar to Eq. D.18 above, we define for general manifolds M and N,
φg(t) : M → N,

(D.15)

Here, w(x∗ ,t) is a Killing vector field, because the velocity gradienttensor ∇w is ∇w ≡ Ω , and thus it is anti-symmetric at all x∗ ∈ N.
In contrast to Eq. D.1, the notion of Killing fields is well-definedfor arbitrary (Riemannian) manifolds, not just for Rn . This inspires
building on Killing vector fields, determining infinitesimal isometries,
for a generalization of objectivity to isometric observer transformations.
D.2 Correspondence to Our General Approach
Our general approach is built on the group action Φ of a Lie group G
on a manifold M (see App. I for more details), given byΦ : G × M → M,(g, x) 7→ Φ(g, x).

(D.16)For brevity, in the following we assume that the path t 7→ g(t) ∈ G is
known, defining the time-dependent diffeomorphism φt := φg(t) , i.e.,φt : M → N,
x 7→ φt (x) =: x∗ .

x∗ (t) = φ (x(t),t).

x∗ (t) = φ (x(t),t),dd
t 7→ x∗ (t) = t 7→ φ (x(t),t),
dt
dt
 ∗ 



dx (t)dx(t)d= (dφt )x(t)+φ x(t), τ ,dtdtdτ τ=tx∗ (t) ∗ dx (t)dx(t)= (dφt )x(t)+ w x∗ (t),t .
dtdtx∗ (t)(E.4)

Here, we have introduced the vector field w, on the manifold N, asw(x∗ ,t) :=dφ x,t , with x = φt−1 (x∗ ).
dt

(E.5)

This gives us the general transformation rulev∗ (t) φ (x) = (dφt )x v(t) + w(t) φ (x) .
t

(E.6)

t

n

φg(t) : R → R ,x 7→ φg(t) (x) = c(t) + Q(t) x.

(D.18)

Given any Lie group G, we can consider its Lie algebra g, comprising
the derivatives of all paths t 7→ h(t) ∈ G through the identity element eof G, at the identity element e, i.e., the tangent space Te G. As describedin detail in App. J, the vector field w generated on M by a Lie algebra
element W ∈ g, from the curve t 7→ W (t) ∈ g, at a certain t, is given byw(x∗ ,t) :=(E.3)

Now, taking the derivative with respect to the time t on both sides, givesthat a velocity field v := dx(t)/ dt transforms to v∗ := dx∗ (t)/ dt by(D.17)

where c is a translation vector, and Q is a proper orthogonal tensor.
In our framework, an observer transformation is a smooth patht 7→ g(t) ∈ G, i.e., a one-parameter group of transformations. For
G = SE(n), this gives each individual transformation, for a fixed t, as
n

(E.2)

To consider a curve t 7→ x(t) ∈ M, transforming into the corresponding
curve t 7→ x∗ (t) ∈ N, we define φ (x,t) := φt (x) and write

For brevity, we denote the specific diffeomorphism corresponding to
the action Φ with an element g ∈ G by the map φg (x) := Φ(g, x).
We can now consider the symmetry groups of Euclidean space,comprising all isometries of Rn , which are often denoted as ISO(n) orE(n). However, these groups also include reflections. For our purposesof observer transformations, we want to restrict the allowed isometries
to translations and rotations only. We therefore choose the subgroup
G = SE(n), the special Euclidean group not including reflections. Eachφg generated by a group element g ∈ SE(n) is then given by
φg : Rn → Rn ,x 7→ φg (x) = c + Q x,

(E.1)

x 7→ φg(t) (x) =: x∗ .

Or, more briefly and analogously to Eq. D.1, but probably less clearly,v∗ = Q(t) v + w(t).

(D.20)dφ (x∗ ), with h(τ) := eτ W (t) .
dτ τ=0 h(τ)(D.19)FO BJECTIVITY P ROOFS

According to Eq. E.6, a velocity field v transforms under the group
action Φ with g(t) ∈ G, and corresponding diffeomorphism φg(t) , asv∗ (t) φg(t) (x)= (dφg(t) )x v(t) + w(t) φg(t) (x).

(F.1)

If, as above, we again define x∗ := φg(t) (x), we can also write this asv∗ (t) x∗ = (dφg(t) )φ −1 (x∗ ) v(t) + w(t) x∗ .
g(t)

(F.2)

The vector field w is determined by the φg(t) , and is (see also Eq. J.2),
w(t) φg(t) (x)=dτ 7→ φg(τ) (x).
dτ τ=t(F.3)

The vector field w is a Killing field if and only if φg(t) is an isometry.
Euclidean space. As above, when φg(t) is an isometry of Euclidean
space, the pushforward dφg(t) is the same proper orthogonal (rotation)
tensor Q, i.e., (dφg(t) )x = Q(t), at all x ∈ M. This is well-known, e.g.,
O’Neill [49, p.107]. In non-Euclidean spaces, however, this is not true.
F.1 Objectivity of Killing Operator
We first determine the transformation behavior of the tensor field Ku
under the group action Φ with g ∈ G, with φg an isometry. We evaluatefor (arbitrary) arguments related by x∗ = dφg (x), and y∗ = dφg (y). Fora velocity field u transforming as u∗ = dφg (u) + w (Eq. F.1), we get(Ku∗ )φg (x) (x∗ , y∗ ) = K(dφg (u) + w) φ (x) (x∗ , y∗ ) ,g= K(dφg (u)) φ (x) (x∗ , y∗ ) + (Kw)φg (x) (x∗ , y∗ ) ,g= K(dφg (u)) φ (x) (x∗ , y∗ ) ,g (F.4)= K(dφg (u)) φ (x) (dφg )x (x), (dφg )x (y) ,g= (Ku)x (x, y) .
In the first step, we have used the linearity of the operator K, and in thesecond step Kw = 0, because the Killing operator vanishes for a Killingfield w. Covariant derivatives (with the Levi-Civita connection) areinvariant under isometries [42, p.125], thus, from Eq. 21, the Killing
operator is also invariant, giving the last step above. According to
Eq. A.2, a tensor field T of type 02 is objective, if it transforms asT∗ (x∗ , y∗ ) = T dφg−1 (x∗ ), dφg−1 (y∗ ) .
(F.5)
From the transformation behavior given by Eq. F.4, we confirm thatKu∗ (x∗ , y∗ ) = Ku x, y ,= Ku dφg−1 (dφg (x)), dφg−1 (dφg (y)) ,
(F.6)

∗
∗
= Ku dφg−1 (x ), dφg−1 (y ) .
Thus, the tensor Ku (u arbitrary) transforms under the group action Φwith g ∈ G according to Eq. F.5, and is therefore objective.
F.2 Objectivity of Relative Velocity Fields
We first determine the transformation behavior of the (arbitrary) relative
velocity vector field v − u under the group action Φ with g ∈ G. Sinceboth velocity vector fields v, u transform as v∗ = dφg (v) + w, andu∗ = dφg (u) + w (Eq. F.1), respectively, we get the transformation(v∗ − u∗ )φg (x) = (v∗ )φg (x) − (u∗ )φg (x) ,= (dφg )x (v) + (w)φg (x) − (dφg )x (u) − (w)φg (x) ,= (dφg )x (v) − (dφg )x (u),= (dφg )x (v − u).

(F.7)

Thus, the relative velocity v − u (v, u arbitrary) transforms under thegroup action Φ with g ∈ G according to Eq. 10. Thus, it is objective.
F.3 Objectivity of Lie Derivatives of Objective Tensors
The time-dependent Lie derivative Lu x of an objective vector field x
is objective, even when the vector field u with respect to whose flow
the Lie derivative is taken is not objective. (Note that here x is not avelocity field, which would not be objective, but, e.g., the objective
relative velocity field x := v − u.) We prove below that under the group
action Φ with g ∈ G, Lu x transforms according to Eq. 10. We startfrom Eq. F.1 and Eq. 10. We then follow the general proof of Marsden
and Hughes [45, p.101], applied to our specific diffeomorphism φg(t) .

For the proof it is crucial to keep track of which variables (spatial
positions, times) are held fixed, and which are variable arguments forderivatives to be taken. We consider a fixed point x̄ at fixed time t¯,such that x̄ = φg (x) with the diffeomorphism φg := φg(t¯) . That is, thecorresponding fixed point x = φg−1 (x̄). Because we have to keep thepoint x̄ fixed for different times t, we introduce the “moving source”
t 7→ x(t) := φg−1 (t) (x̄). For the time-dependence of x, we write xt :=x(t). The proof of objectivity can then be given as (with Eq. F.9 below),(Lu∗ x∗ )x̄ = Ldφg (u)+w dφg (x) x̄ ,  ∂= Ldφg (u)+w dφg (x) x̄ +(dφg(t) )x(t) (xt ) ,
∂t
x̄

 ∂

= (dφg )x Lu x + Lw (dφg (x)) x̄ +(dφg(t) )x(t) (xt ) ,
∂t
x̄


= (dφg )x Lu x + Lw (dφg (x)) x̄ ,∂x,= (dφg )x Lu x + (dφg )x
∂t


(F.8)
∂x
= (dφg )x Lu x +,∂t= (dφg )x Lu x .
We have used that Ldφg (u) (dφg (x)) = dφg (Lu x) [45, p.98], and resolved the Lie derivative Lw as given below. For the latter, in the derivation below we insert the definition of the time-dependent Lie derivative(Eq. G.3) for Lw with flow ψt,t¯, with pullback ψt,∗t¯ : Tψt,¯t (x̄) M → Tx̄ M,
define x̃(t) := ψt,t¯(x̄), and define x̂(t) := φg−1 (t) (x̃(t)). We also usethat ψt,t¯ = φg(t) ◦ φg−1 (t¯) = φg(t)g−1 (t¯) , and rewrite, by definition, the∗pullback φg(t)g−1 (t¯) as the pushforward dφg(t¯)g−1 (t) . This gives,d
Lw (dφg (x)) x̄ =ψ ∗ (dφg(t) )x̂(t) (xt ) ,dt t=t¯ t,t¯d∗=φg(t)g−1 (t¯) (dφg(t) )x̂(t) (xt ) ,dt t=t¯d=dφg(t¯)g−1 (t) x̃(t) (dφg(t) )x̂(t) (xt ) ,dt t=t¯d=(dφg(t¯) )x (xt ),dt t=t¯d
= (dφg(t¯) )xxt ,¯dt t=t∂x
.
= (dφg )x
∂t

(F.9)

Eqs. F.8 and F.9 prove that the Lie derivative of the objective vector
field x is objective, even though the field u is not. In fact, essentiallythe same derivation proves that the same is true for objective tensor
fields t of any order and variance, not only for vector fields [45, p.101].
Observed time derivative. Because in Eq. F.7 we have proved thatthe relative velocity field v − u is objective, the proof given above
immediately implies that the observed time derivative (Eq. 1) of v − u,D∂(v − u) = (v − u) + Lu (v − u) = Lu (v − u),Dt∂t(F.10)

is objective.
G L IE D ERIVATIVESThe Lie derivative measures the rate of change of a tensor field on amanifold M with respect to the flow (App. T) generated by a vector field
on M. For a time-independent tensor field t, the Lie derivative Lu t
with respect to a vector field u with flow φt , is defined, at x ∈ M, asdLu t x :=dφ−t tφt (x) .
dt t=0(G.1)

Here, dφt is the differential of the flow φt , and φ−t = φt−1 . When t is avector field v, the Lie derivative Lu v is the same as the Lie bracket [22,Ch. 4] between the two vector fields, i.e., Lu v = [u, v]. For any given
torsion-free connection on a manifold M, such as the Levi-Civita connection, the Lie bracket, and thus the Lie derivative, is then (cf. Eq. O.7)
Lu v = ∇v (u) − ∇u (v) .

(G.2)

If the field t is time-dependent, the definition of the Lie derivative must
be extended to the time-dependent Lie derivative [45, p.95], which is


 ∂t

d
∗
Lu t x :=ψt,stψt,s (x) =+ Lu t ,(G.3)
dt t=s∂tx

J L IE A LGEBRA ACTIONS AND I NDUCED V ECTOR F IELDS
We are interested in determining a correspondence of elements of the
Lie algebra g of a given Lie group G, such as a matrix Lie group, andthe space of vector fields (again as a Lie algebra) on a given manifold M.
For example, we want to construct a correspondence between a Lie
algebra of anti-symmetric matrices and the Killing vector fields on M.
We can do this by defining a Lie algebra homomorphism (or an
isomorphism) as the action of the Lie algebra g on the manifold M,
generating vector fields on M. We can write this as a map∗ is given by ψ ∗ = dψ .
at the point x ∈ M, at time s. The pullback ψt,ss,tt,s
We refer to Marsden and Hughes [45, Ch. 1.6], and Frankel [22, Ch. 4].

Ξ : g → X(M),X 7→ x.

H L IE D ERIVATIVES IN C URVED S PACES
Lie derivatives are independent of the metric g defined on the manifold M [45, p.96]. For a vector field v, this can be seen by expanding

X(M) denotes the Lie algebra of (smooth) vector fields on M. Using the
Lie group action Φ with g ∈ G, and the corresponding diffeomorphism
φg on M, the vector field x generated on M by X ∈ g, is given by

Lu v = ∇v (u) − ∇u (v) ,= ∇ j vi u j − ∇ j ui v j ei , = ∂ j vi + Γi jk vk u j − ∂ j ui + Γi jk uk v j ei ,= ∂ j vi u j + Γi jk vk u j − ∂ j ui v j − Γi jk uk v j ei ,= ∂ j vi u j − ∂ j ui v j ei .

x(x) :=(H.1)

That is, all terms with Christoffel symbols Γi jk cancel out. This property
always holds, given that the connection is torsion-free, which meansthat the symmetry Γi jk = Γik j holds (for {ei } a coordinate basis). Thisapplies in our framework, because we are using the Levi-Civita connection, which, by definition, is both metric-compatible and torsion-free.
To make parsing the tensor expressions above easier, we note thatan expression like ∂ j vi can be seen as a matrix of partial derivatives,with row index i and column index j, and ∂ j vi u j is equivalent to matrixvector multiplication with a column vector u j with row index j. We
also give the explicit expansion and summations for the 2D case:
Lu v =∇v (u) − ∇u (v) ,
!


1
j
1 j
= ∑ (∂ j v ) u − (∂ j u ) v
e1 +
j=1,2

(H.2)

!


2
j
2 j
∑ (∂ j v ) u − (∂ j u ) v e2 .

j=1,2

I S YMMETRY G ROUPS AND L IE G ROUP ACTIONS
The group action Φ [33, p.209], more specifically a smooth left action,of a Lie group G on a manifold M, is a smooth map
Φ : G × M → M,(g, x) 7→ Φ(g, x),(I.1)

such that
1. Φ(e, x) = x, for all x ∈ M, and2. Φ(g, Φ(h, x)) = Φ(gh, x), for all g, h ∈ G and x ∈ M,
By setting φg (x) := Φ(g, x) the properties of the group action can be
written in the more concise form
φg φh = φgh and φe = idM .

(I.2)
−1
It follows then from φg φg−1 = φgg−1 = φe = idM that φg−1 = φg,and since both φg and φg−1 are smooth by definition that, for everyg ∈ G, the map
φg : M → M,
x 7→ φg (x)is a diffeomorphism.

(I.3)

d
φ (x), with g(t) := etX .
dt t=0 g(t)

(J.1)

(J.2)

The definition of g(t) on the right defines a one-parameter group ofdiffeomorphims φg(t) on M. This then means that the vector field
x(x), at all points x ∈ M, is given by the point-wise derivative of thediffeomorphism φg(t) , at each x, evaluated at the parameter value t = 0.
For the common, and our, case where the Lie algebra g is a matrix
Lie algebra, corresponding to a matrix Lie group G, the exponential
map X 7→ etX is given by the standard matrix exponential. See App. M.
Roughly speaking, the exponential map integrates an infinitesimaltransformation X (such as an infinitesimal rotation, with X an antisymmetric matrix) from g = e, i.e., the identity element of G, such as theidentity matrix, at time t = 0, to the corresponding finite transformation
g(t), at time t (such as a rotation, with g(t) a proper orthogonal matrix).
Appendixes L and M give a detailed description of the relationshipbetween the isometry group G, the action of its Lie algebra g, and thecorresponding vector fields on M, for the case of the two-sphere S2 .
K T HE L IE A LGEBRA OF ALL K ILLING V ECTOR F IELDS
The set of all possible Killing vector fields on a given (Riemannian)manifold M has a lot of structure that can be exploited. In fact, the setof Killing fields constitutes a Lie algebra, which is a vector space withan additional Lie bracket operation (see App. L). Therefore, as a vector
space, we can talk about the dimensionality of the space of all possible
Killing fields on a manifold M, which we now denote by k.
Knowing k for a given manifold M gives a lot of insight on all possible isometries of M. For example, it is known that curved surfaces
embedded in R3 can have at most three linearly independent Killingfields, i.e., they can only have k ≤ 3 [9, 47]. However, a continuous
isometry is a rather strong condition, and therefore many general manifolds have only the trivial intrinsic isometry (k = 0). In these cases,
approximate Killing fields can be computed [9]. For observers andobjectivity, we are interested in spaces with non-trivial isometries.
Knowing k is the same as knowing the dimensionality of the isometrygroup of M. The isometry group (without reflections) of Euclidean
space Rn is SO(n) n T(n). SO(n) is the rotation group, T(n) the groupof translations, and n the semi-direct product. The Euclidean plane R2
thus has k = 3; Euclidean 3-space R3 has k = 6. The (direct) isometrygroup of the two-sphere S2 is SO(3), and therefore it has k = 3. A
cylinder has k = 2, and a generic surface of revolution has k = 1 [9].
L I SOMETRY G ROUP AND K ILLING F IELDS OF THE 2-S PHERE
The (direct) isometry group of the standard two-sphere S2 , embeddedin the ambient space R3 as S2 := {(x, y, z) ∈ R3 : x2 + y2 + z2 = 1},
with the standard Euclidean topology and metric, is the Lie group G =SO(3), which is also a smooth, non-linear manifold. SO(3) is a matrix
Lie group, where each element g ∈ G is a proper orthogonal matrix,
with det g = 1, corresponding to a rigid rotation of R3 . See also App. M.
The corresponding Lie algebra g = Te G = so(3) is the tangent space(i.e., a vector space) of G at the identity group element e. As every Liealgebra, so(3) is a vector space with an additional Lie bracket operation,
which in this case is the matrix commutator [X,Y ] := XY −Y X. The Liealgebra so(3) is the algebra of all real, anti-symmetric 3 × 3 matrices0
X =  ω3
−ω2


ω2
−ω1  ∈ so(3), with ωi ∈ R.
0

−ω3
0
ω1

(L.1)

An isomorphism between a Lie algebra g and vector fields induced
on a manifold M can be determined via a group action of G on M,
and the corresponding action of g, described in App. J. App. M gives
an isomorphism for g = so(3) and the manifold M = S2 . Using thisisomorphism, each X ∈ so(3) corresponds to a uniquely determined
Killing field x on S2 . For the Lie algebra of vector fields x inducedon the manifold M, the Lie bracket is the differential geometric Liebracket of vector fields [x, y], corresponding to but not the same as thematrix commutator [X,Y ]. In fact, [x, y] is the Lie derivative Lx y.
The Lie algebra so(3) is three-dimensional as a vector space. Thiscan be seen by giving a basis for all anti-symmetric 3 × 3 matrices, e.g.,
the three basis vectors X1 , X2 , X3 in Eq. M.7. Because the Lie algebraof Killing fields on S2 and the matrix Lie algebra so(3) are isomorphic,
the former is therefore also three-dimensional. Any Killing field x
on S2 can thus be given as a unique linear combination of three basis
Killing fields x1 , x2 , x3 . Fig. 5 depicts three linearly independent basis
Killing fields on S2 (we could also choose another basis), where eachfield xi corresponds to a basis vector Xi of so(3) as a vector space.
Extrinsic computation in R3 . The simplest way to construct the(intrinsic) Killing field x on S2 , corresponding to a given Lie algebra
element X ∈ so(3), is the following. For any point x ∈ M = S2 , given
via a position vector r(x) ∈ R3 , pointing from the origin of R3 to thepoint x on S2 , the extrinsic Killing vector x̃(x) ∈ R3 at x is simplyx̃(x) = X · r(x).

(L.2)(We note that this could also be written as the cross product of theangular velocity vector corresponding to X with the position vector r.)
From the extrinsic vector x̃(x) ∈ R3 , we can obtain the intrinsic vectorx ∈ Tx M (two components) via the dual basis (1-forms) given in App. Q,
1
x(x) = ω̃ x̃(x) e1 + ω̃ 2 x̃(x) e2 .
M

(L.3)

L IE A LGEBRAS AND THE E XPONENTIAL M AP

The exponential map is a mapping from a Lie algebra g to the corresponding Lie group G, i.e.,
exp : g → G,
X 7→ exp(X).

(M.1)
(M.2)

In case of a matrix Lie group it is defined for a matrix X in the Liealgebra, like the exponential map for real numbers, by the power series
Xk
X2 X3= I +X +
+
+...,
2!
3!
k=0 k!
∞

exp(X) = eX := ∑(M.3)

where I is the identity matrix.
The one-parameter group g(t) generated by X is then given by g(t) =exp(tX). We immediately get the corresponding one-parameter groupof actions Φ with g(t), and the corresponding diffeomorphisms φg(t) .
For example, for G = SO(2), and its Lie algebra g = so(2), if wechoose the basis vector (matrix) X ∈ so(2)

X=

0
1


−1
,
0

(M.4)

we can compute
1 0(tX) =
,
0 1


0 −t
(tX)1 =
,
t
0
 2

−t
0
(tX)2 =,
0 −t 2
0 t3(tX)3 =
,
3
−t
0
4

t
0
(tX)4 =
= t 4 (tX)0 ,0 t4
0and conclude that (tX)k+4 = t 4 (tX)k by induction. Thus,
exp tX = etX
!
t4
t3
t5
t2
+ 4!
− . . . −t + 3!
− 5!
+...
1 − 2!
=
t3
t5
t2
t4
t − 3!
+ 5!
−...
1 − 2!
+ 4!
−...


cost − sint=
∈ SO(2).
sint
cost

(M.5)

(M.6)

For G = SO(3), and its Lie algebra g = so(3), with essentially the same
calculations, we get for the basis vectors (matrices) Xi ∈ so(3)






0 0
0
0 0 1
0 −1 00 0 ,
X1 =0 0 −1 , X2 = 0 0 0 , X3 =1
0 1
0−1 0 00
0 0(M.7)
the corresponding exponentials


1
0
0

exp tX1 = 0 cost − sint  ∈ SO(3),0 sintcost
cost 0 sint
0 1
0 ∈ SO(3),exp tX2 = − sint 0 cost
cost − sint 0
cost 0 ∈ SO(3).
exp tX3 =  sint
0
0 1

(M.8)

N T ENSORS AS M ULTI -L INEAR M APS , AND T HEIR BASES
We view a tensor field as a multi-linear coordinate-independent map
that, at any point x ∈ M maps a set of vector and covector (1-form)
arguments to a scalar. For a detailed description, including the general
concept of tensor bundles over a manifold M, we refer to the books by
Spivak [58] and Frankel [22]. Two basic concepts that are important inour context are the order of a tensor,
and its corresponding type.

We say a tensor T is of type rs , and correspondingly of order (r +s),
if it acts on r covector arguments and s vector arguments.
In order to be able to work with components referred to coordinates,
we have to expand tensors using basis vectors and basis covectors (basis
1-forms). Higher-order tensors must appropriately combine the basis
vectors and basis 1-forms, respectively, using the tensor product ⊗.
We exclusively use coordinate bases (and not non-coordinate
frames), where all basis vectors are derivatives of the coordinate functions xi of a given coordinate chart [22, p.25]. This is often denotedby ei := ∂ i = ∂∂xi . This implies that the Lie brackets [ei , e j ] of thebasis vector fields {ei } are zero, i.e., the basis vector fields commute,which simplifies equations. See Frankel [22] for details. We denote thecorresponding dual bases by {ω i }, with ω i (e j ) = δ ij . Because {ei } isa coordinate basis, the ω i are coordinate differentials, i.e., ω i = dxi .
We give examples for the types of tensors that we use in this paper:• A vector is referred to a basis {ei }, and expanded as vi ei .
• A 1-form is referred to a dual basis {ω i }, and expanded as vi ω i .
We canalso write vi dxi for coordinate bases ω i := dxi .
1
• A 1 tensor, as a bi-linear map of one covector and one vector
argument to a scalar, is referred to a basis {ei ⊗ω j }, and expanded
as T i j ei ⊗ ω j . We can also interpret this as a linear map of vectors.
• A covariant second-order tensor (a 02 tensor), such as the metricg, is referred to a basis {ω i ⊗ ω j }, and expanded gi j ω i ⊗ ω j .

• A contravariant second-order tensor, (a 20 tensor), e.g., the inverse metric g−1 , is referred to a basis {ei ⊗ e j } as gi j ei ⊗ e j .
We can understand an expression such as T i j ei ⊗ ω j as a linear map T,
acting on a vector v, and giving a result vector T(v), by writing
T(v) = (T i j ei ⊗ ω j ) (v) ,= T i j ei ω j (v) = T i j ω j (v) ei ,T(v) ω i := ω i T(v) = ω i T kj v j ek = T kj v j ω i ek = T i j v j .
(N.2)
When “executed” for all “rows” i, the final expression T i j v j is a matrixvector multiplication of components. However, in the entire derivation
above, the notation has helped us avoid mixing components of different
variance and the corresponding bases. Overall, tensor notation is a
powerful way of using basis vectors and 1-forms, and tensors referred
to components, in a general context, simplifying the use of argumentsof different variance (covariant, contravariant) and higher-order tensors.
A concrete example is the definition of the covariant derivative∇v
of a vector field v in Eqs. O.8 and O.9 below, which is a 11 tensor.
However, we note that in that context, “covariant” refers to “generalcovariance,” not to covariant arguments. See Frankel [22, p.430].
I NTRINSIC C OVARIANT D ERIVATIVES

Coordinate-free definition. The covariant derivative (also called anaffine connection) generalizes the directional derivative of tensor fields
in Euclidean space to arbitrary manifolds [66, Chapter 6]. We definethe (intrinsic) velocity gradient tensor ∇v as the covariant derivative ofa vector field v on a given manifold M. It has the following properties:
1. The map (v, w) 7→ ∇w v is R-bilinear, that is(O.1)

for all a, b ∈ R.
2. The map w 7→ ∇w v (or ∇v(w)) is linear with respect to smoothfunctions, that is∇ f w1 +gw2 (v) = f ∇w1 v + g∇w2 v, or∇v( f w1 + gw2 ) = f ∇v(w1 ) + g∇v(w2 )for all smooth functions f , g on M.

(O.2)

(O.3)

for all smooth functions f on M.
If we define∇v : Ω1 (M) × X(M) → C∞ (M),(ω, w) 7→ ω ∇v(w) ,(O.4)

where Ω1 (M) is the space of covector fields on M, X(M) the space of
vector fields on M, and C∞ (M) the space of smooth functions on M,
that is pointwise(∇v)x : Tx∗ M × Tx M → R,

We note that when the 1-form ω j is applied to the vector argument v,
the tensor product ⊗ simply turns into a regular product. This behavior
is part of the definition of the tensor product.
It corresponds to thefact that the contraction T i j v j turns the 11 tensor T into a 10 tensor
T(v), i.e., a vector. Correspondingly, the remaining basis is solely thebasis {ei } for vectors. We note that the first-order tensor T(v) can beinterpreted directly as a vector, or still be interpreted as a scalar-valued
function acting on the argument of a covector (as one definition of avector in tensor analysis). For example, we get the scalar that is the i’thcomponent of the vector T(v) referred to the basis {ei }, by computing∇aw1 +bw2 v = a∇w1 v + b∇w2 v, and∇w (av1 + bv2 ) = a∇w v1 + b∇w v2∇w ( f v) = (w f )v + f ∇w v

(N.1)

= T i j v j ei .

O

3. The map v 7→ ∇w v is a derivation, i.e., it satisfies the Leibniz rule(ωx , wx ) 7→ ωx (∇v)x (wx ) ,(O.5)

it follows from Eq. O.2 and the tensor characterization lemma [42,Lemma B.6] that ∇v is a 11 tensor field (see App. N). In addition, ona (Riemannian) manifold with a metric g, there is a unique covariant
derivative [66, Theorem 6.6] that is
1. compatible with the metric, that is7∇g = 0,

and

(O.6)

2. torsion-free, that is∇v w − ∇w v − [v, w] = 0.

(O.7)

The notation [v, w] gives the Lie bracket of the vector fields v and w.
This unique connection is called the Levi-Civita connection.
Computation in a chart. Referred to a coordinate basis {ei ⊗ ω j },the (intrinsic) velocity gradient ∇v as a covariant derivative is given by∇v = ∇ j vi ei ⊗ ω j := ∂ j vi + Γi jk vk ei ⊗ ω j .

(O.8)

The tensor ∇v evaluated in direction x is the vector (see App. N),
∇v(x) = ∇x v = ∂ j vi + Γi jk vk ω j (x) ei .

(O.9)

The Christoffel symbols Γi jk , corresponding to the (unique) Levi-Civita
connection for a metric g on M, can be derived intrinsically from thecomponents gi j of g, referred to the same basis (and its dual), via
Γi jk =

1 img ∂k gm j + ∂ j gmk − ∂m g jk .
2

(O.10)

See [19, p.56]. gi j is the metric g referred to the basis {ω i ⊗ ω j }, andgi j is its inverse g−1 , i.e., gik gk j = δ ij , referred to the basis {ei ⊗ e j }.
Relation to Cartesian tensors. The tensor ∇v only consists solelyof partial derivatives when (1) affine or Cartesian coordinates are used;
and thus (2) the manifold is intrinsically flat, such as M = Rn . Only
then do the Christoffel symbols on M vanish. The above intrinsic
formulation can be used on abstract manifolds M, without any known
immersion into a Euclidean ambient space. However, even when an
immersion of M into a higher-dimensional ambient space Rm is known,such as for a two-manifold embedded as a curved surface in R3 , it isextremely useful for intrinsic (lower-dimensional) computations.
7 This is often written in the equivalent, but less intuitive, form ∇ hv, wi =uh∇u v, wi + hv, ∇u wi [42, Proposition 5.5].

P M ETRIC T ENSOR F IELDS
Coordinate-free definition. A (Riemannian) metric g on a manifold
M defines an inner product on each tangent space Tx M. This is usually
written as hx, yi := g(x, y) for x, y ∈ Tx M. Specifically, g is
1. symmetric, that ishx, yi = hy, xi(P.1)

hax + by, zi = ahx, zi + bhy.zi = hz, ax + byi(P.2)

for all x, y ∈ Tx M,
2. bilinear, that isfor all x, y, z ∈ Tx M, and all a, b ∈ R, and3. positive definite, that ishx, xi ≥ 0(P.3)

for all x ∈ Tx M with hx, xi = 0 if and only if x = 0.
Furthermore, g is required to be smooth in the sense that in all charts
the coordinate functions are smooth. Consequently, g is a covariant
second-order tensor field (see App. N).
Computation in a chart. If we define gi j := hei , e j i, we getg(x, y) = hx, yi = hxi ei , y j e j i = xi y j hei , e j i = xi y j gi j
= ω i (x)ω j (y)gi j = gi j (ω i ⊗ ω j )(x, y),(P.4)

since {ω i } is dual to {ei }, i.e., ω i (e j ) = δ ij , and the tensor product of
two covectors is simply their product. That is, the gi j are the components of the metric tensor g with respect to the basis ω i ⊗ ω j .
We can write xi y j gi j in matrix notation asxT g y.

(y 7→ g(x, y)) = gi j xi ω j .

ι x⊥y : Ū ⊂ R2 ,−→ R3 ,(u, v) 7→ (u, v, w̄).

(P.5)

Inverse metric. Given a vector x = xi ei , the map y 7→ g(x, y) definesa covector (or 1-form). From Eq. P.4, we getg(x, y) = gi j xi ω j (y), or

all of M. We note that, naturally, the coordinate functions {xi } for eachchart (Uα , ϕα ) are usually different for each chart. See, e.g., Lee [41].
Charts (simple version used below). Below, we will derive six
charts covering a sphere via simple orthogonal projections for eachchart. To simplify the discussion, we will denote the region of R2
that corresponds to the coordinates used in each chart by Ū, definingŪ := ϕ(U) ⊂ R2 . That is, Ū is the region in “coordinate space” forthe chart (U, ϕ). Furthermore, we will denote the two corresponding
coordinate functions x1 , x2 by u and v instead, i.e., we will use u := x1
and v := x2 , with u : U → R, and v : U → R, respectively. In our
implementation, a (u, v) coordinate corresponds directly to the 2D
texture coordinates that we use, for example, for LIC computations.
Coordinate bases, derivatives, metric, Christoffel symbols. We
now explicitly derive the coordinate bases and their derivatives of charts(U, ϕ) on a sphere mapping to the coordinate region Ū ⊂ R2 , corresponding to orthogonal projection of the region Ū onto a hemisphereof some arbitrary radius r. See Fig. 11. From these, we can derive themetric tensor and the Christoffel symbols referred to the chart, given
analytically for any position referenced by (u, v) coordinates. Furthermore, although we use six charts to cover the sphere, below we mainly
derive a single chart, because all other charts are completely analogous.
Even more simple, the metric as well as the Christoffel symbols that wederive for one chart are identical for all other charts, due to symmetry.
We emphasize that, although below we perform some derivations in
the ambient space R3 , the resulting metric (Eq. Q.6) and the Christoffel
symbols (Eq. Q.9) are completely intrinsic, i.e., independent of theimmersion in R3 , and correspondingly are 2D quantities. Using theChristoffel symbols, we can compute the covariant derivative of any
vector field v (Eq. Q.12, Eq. O.8) in a completely intrinsic manner.
Due to projection, each region Ū ⊂ R2 is limited to an (open) diskof radius r in the (u, v) plane, i.e., Ū = {(u, v) : u2 + v2 < r2 }. We
describe the map from Ū ⊂ R2 (intrinsic view; corresponding to U on
the manifold M) to ambient R3 (extrinsic view) via the inclusion map

(P.6)

√
The third component is w̄ := r2 − u2 − v2 . This chart is defined via
projection onto the hemisphere on the x, y plane, denoted by x ⊥ y. The
entire sphere is covered by six analogous charts. In total, we define

xi . If

This means that the components of the covector are simply gi j
we set x j := gi j xi , we can write the covector as x j ω j . Thus, using themetric to convert a vector into a covector, we have effectively lowered
the index of the components.
The matrix g with components gi j is invertible with inverse g−1 ,whose components are denoted by gi j . This means thatg jk gki = gik gk j = δ ij ,(P.7)

g g−1 = g−1 g = I,

(P.8)

(Q.1)

ι

ι x⊥y : (u, v) 7→ (u, v, w̄),

ι −x⊥y : (u, v) 7→ (−u, v, −w̄),ι z⊥y : (u, v) 7→ (−w̄, v, u),ι −z⊥y : (u, v) 7→ (w̄, v, −u),x⊥−z

: (u, v) 7→ (u, w̄, −v),

ι

x⊥z

(Q.2)

: (u, v) 7→ (u, −w̄, v).

To avoid too severe distortions, apart from overlaps to facilitate transitions between neighboring charts, each chart is only used whereu2 ≤ w̄2 and v2 ≤ w̄2 . Outside this region, another chart will be used.
We now consider the basis vectors ∂∂xi = ∂ i = ei , i ∈ {1, 2}, denoting
coordinate functions x1 , x2 := u, v. In the chart, e1 , e2 are by definition

or in matrix notation

with I the identity matrix. Given the components x j of a covector ω,
we now obtain the components of the corresponding vector by raising
the index: xi = gi j x j . See Lee [42, p. 26] for more details.
Q M ETRIC AND C HRISTOFFEL S YMBOLS OF THE 2-S PHERE
Charts (in differential geometry). In differential geometry, a (coordinate) chart is a pair (U, ϕ), where U ⊂ M is an open subset of ann-dimensional manifold M, and the chart map ϕ maps U to Rn , i.e.,ϕ : U → Rn . To specify the chart map ϕ, we use n coordinate functions
xi : U → R. If an atlas comprising multiple charts is used—or has
to be used, as is the case for a sphere—to cover the manifold M, theindividual charts can be labeled (Uα , ϕα ), where the index α comesfrom an index set. The union of all open sets Uα is required to cover

chart
metricFig. 11. Intrinsic properties of the sphere. We describe everything
intrinsically in 2D coordinate charts. At each coordinate (u, v) in a regionŪ ⊂ R2 , corresponding to the open set U on the sphere, with Ū = ϕ(U),we know the corresponding metric tensor (glyph visualization on theright) in components gi j , and the corresponding Christoffel symbols Γi jk .

given by components (1, 0), (0, 1), respectively. In ambient space R3 ,for the chart x ⊥ y, they map to the partial derivatives of Eq. Q.1, i.e.,




1
0
ẽ1
=  0  , ẽ2=  1 .
(Q.3)
(u,v)
(u,v)
−u/w̄
−v/w̄
These components are referred to Cartesian coordinates in R3 . We will
2
2
2 2
2
2
now also use the shorthand notations a := r − u , b := r − v . The
dual basis ω i , with ω i e j = δ ij , mapped to ambient space R3 , is2
1  a 1ω̃= 2 −u v ,
(u,v)
r
−u w̄



−u v
1  2 
2
ω̃
.
= 2
b
(u,v)
r
−v w̄

(Q.4)

The partial derivatives of the basis vectors in ambient R3 , in the directions x1 , x2 := u, v, evaluated at the coordinate (u, v) ∈ Ū ⊂ R2 , are
 
1 0
∂1 ẽ2=− 3 0 ,
(u,v)
w̄
uv
 
0
1
∂2 ẽ2= − 3  0 .
(u,v)
w̄
a2

(Q.7)

From the immersion in R3 , we can now derive the Christoffel symbols
Γi jk . From the basis vector field partial derivatives ∂ j ẽi just computed,
reading off components in the tangent plane with the dual basis givesΓi jk = ω̃ i ∂ j ẽk ,for i, j, k ∈ {1, 2}.
(Q.8)
Due to the way in which we have computed the dual basis {ω̃ 1 , ω̃ 2 },this is equivalent to a completely intrinsic computation from the metricusing Eq. O.10, but easier to compute. We emphasize that using thisextrinsic “shortcut” computation does not in any way change the factthat afterwards we can perform all computations requiring Christoffel
symbols, i.e., covariant derivatives, in a fully intrinsic manner.
The Christoffel symbols that we need, given with respect to (u, v) ∈Ū ⊂ R2 , are (only six are unique, because Γ112 = Γ121 , Γ212 = Γ221 ),

Γ112
Γ211
Γ212

(u,v)
(u,v)
(u,v)
(u,v)

= c u b2 ,Γ121

= c u2 v,

Γ122= c v b2 ,Γ221

= c u v2 ,

Γ222

(u,v)
(u,v)
(u,v)
(u,v)

= c u2 v,= c u v2 ,= c v a2 .

(Q.9)

(Q.10)

for i, j, k ∈ {1, 2}.

(Q.11)

Because the covariant derivative is linear in each of its arguments,
Eq. Q.11 determines Eq. O.8 for the covariant derivative ∇v of any
vector field v. In a 2D chart, we can thus expand Eq. O.8 as the matrix

  1

∇ 1 v1 ∇ 2 v1
∂1 v + Γ111 v1 + Γ112 v2 ∂2 v1 + Γ121 v1 + Γ122 v2=.
∇ 1 v2 ∇ 2 v2
∂1 v2 + Γ211 v1 + Γ212 v2 ∂2 v2 + Γ221 v1 + Γ222 v2(Q.12)
Evaluating ∇x v = ∇v(x) (Eq. O.9) in the chart thus becomes a matrixvector multiply of the matrix ∇ j vi , times the vector components xi .
All charts. Due to the symmetry of all charts, the metric components(Eq. Q.6) and the Christoffel symbols (Eq. Q.9) are the same in all
charts, although above we have derived them only for the chart x ⊥ y.
R C OMPUTING PARTIAL D ERIVATIVES
We again work with coordinates in Ū ⊂ R2 . Each Ū istriangulated, withmesh vertices {xk } at 2D coordinates u(xk ), v(xk ) = (uk , vk ) ∈ R2 .
To compute the partial derivatives ∂1 vi and ∂2 vi of an R-valued functionvi (x) given at the vertices, we consider the 1-form dvi , with basis {ω i },dvi = (∂1 vi ) ω 1 + (∂2 vi ) ω 2 .

(R.1)

To compute dvi for a single triangle comprising the vertices x0 , x1 , x2 ,with coordinates (u0 , v0 ), (u1 , v1 ), (u2 , v2 ) ∈ R2 , and known function
values vi (x0 ), vi (x1 ), vi (x2 ) ∈ R, we can solve the 2 × 2 linear system


  i

(u1 − u0 ) (v1 − v0 ) ∂1 vi
v (x1 ) − vi (x0 )
= i
,
(R.2)
(u2 − u0 ) (v2 − v0 ) ∂2 vi
v (x2 ) − vi (x0 )in order to obtain ∂1 vi and ∂2 vi . For a 1-ring around a given vertex x0(see Fig. 12), labeling its vertices as x0 , x1 , x2 , x3 , . . . , xn−1 , we cansolve, in the least-squares sense, the over-determined (n−1)×2 system i (u − u ) (v − v ) v (x1 ) − vi (x0 )
1
0
1
0


i
i
 v (x2 ) − v (x0 )  (u2 − u0 ) (v2 − v0 )  ∂1 vi




.
..
..
..

 ∂ 2 vi = 


.
.
.
(un−1 − u0 ) (vn−1 − v0 )vi (xn−1 ) − vi (x0 )(R.3)

If we write the system above in the abbreviated form A d = v, we cansolve the 2 × 2 square system AT A d = AT v, i.e., d = (AT A)−1 AT v,
corresponding to the normal equations of the least-squares problem.
We can simplify the structure of this computation by computing
weights {(w1j , w2j )}n−1
j=0 for each vertex x j in the 1-ring of vertex x0 .
These weights form an n-tap filter stencil for computing a weighted
average of the 1-ring neighborhood of vertex x0 . From them, we cancompute the components ∂1 vi , ∂2 vi of the 1-form dvi at vertex x0 as∂1 vi= c u a2 ,for i, j, k ∈ {1, 2},

where ∇ẽ j ẽk always lies in the tangent plane at the point correspondingto (u, v). However, most importantly, we now never need to refer to theambient space R3 again, and can compute everything intrinsically inthe chart, with the same values for the Christoffel symbols Γi jk , giving∇e j ek = Γi jk ei ,The components of the intrinsic metric tensor g can then be computed
as gi j = ẽi · ẽ j , with · the usual Euclidean dot product. For our chart,
the metric g (components gi j ) and its inverse g−1 (components gi j ), are




1 a2
1 b2 u v
−u v
ij
,
g
=
. (Q.6)
gi j
= 2
b2
(u,v)
(u,v)
w̄ u v a2r2 −u v

Γ111∇ẽ j ẽk = Γi jk ẽi ,In order to be able to directly use Eq. Q.8 below, these two dual basis
vectors ω̃ 1 and ω̃ 2 were computed such that they correspond to orthogonal projection from the ambient space R3 into the tangent plane of
the immersion of M into R3 . An easy way to do this is to compute an
orthogonal third extrinsic basis vector ẽ3 := ẽ1 × ẽ2 , and compute theextrinsic dual basis by inverting the 3 × 3 matrix with columns {ẽi } toget {ω̃ i }. The basis vector ẽ3 , and its corresponding dual ω̃ 3 , are


 
u w̄
u/w̄
1
3
ẽ3
= v/w̄ , ω̃
= 2 v w̄ .
(Q.5)
(u,v)
(u,v)
r
1
w̄2

 
0
1  
∂1 ẽ1=− 3 0 ,
(u,v)
w̄
b2
 
0
1
∂2 ẽ1= − 3  0 ,
(u,v)
w̄
uv

Here, we have used the shorthand c := 1/(r2 w̄2 ). One can verify thatwith these Christoffel symbols we now have, extrinsically in R3 ,∂2 vi

(u0 ,v0 )(u0 ,v0 )= w10 vi (x0 ) + w11 vi (x1 ) + . . . + w1n−1 vi (xn−1 ),= w20 vi (x0 ) + w21 vi (x1 ) + . . . + w2n−1 vi (xn−1 ).

(R.4)

In order to compute all weights {(w1j , w2j )}n−1
j=0 in the stencil, we introduce the 2 × (n − 1) matrix W := (AT A)−1 AT , labeling components as

x1

the corresponding matrix locations, which can be directly combinedwith the Jacobian change-of-basis matrix components. In this way, we“bake” all required chart transition maps into the linear system before
solving it, resulting in the correct estimation of all partial derivatives at
each vertex of the triangle mesh representing the manifold M.

xn–1(u1 –u0 ,v1 –v0)

x0

x2

dvi

vi (xj)(w1j ,w2j)

xj

x3
Fig. 12. 1-ring neighborhood of a triangle vertex x0 for approximating
1-forms dvi = (∂1 vi ) ω 1 + (∂2 vi ) ω 2 of R-valued functions vi on M.

Wi j , with i the row and j the column index, respectively. Considering
the structure of the (n − 1) × 1 right-hand side above, we directly obtainn−1

wi0 = − ∑ Wi j ,i ∈ {1, 2},

wij = Wi j ,i ∈ {1, 2}; 1 ≤ j ≤ (n − 1).

(R.5)

j=1

We pre-compute the 2n weights of each 1-ring neighborhood, with nvertices, storing them with the corresponding center vertex (above: x0 ).
We note that all filter stencils depend solely on the geometry (thevertex positions) of the triangle mesh, but not on any specific functionvi (x). We can therefore associate the filter weights with each triangle
vertex, and then use them to compute the partial derivatives of arbitrary
functions, e.g., the v1 and v2 of the previous section, see Eq. Q.12. We
also emphasize that these partial derivatives are the only numericallyapproximated quantities. The metric components gi j (Eq. Q.6) and theChristoffel symbols Γi jk (Eq. Q.9) are accurately computed analytically.
S

M ULTI -C HART O PTIMIZATION

From a general (geometric) perspective, every point x ∈ M has exactly
one corresponding vector u(x) from a vector field u given on the manifold M. However, for storage and computation, we store each vector
u(x) using two components referring the vector to a basis {e1 , e2 } forthe tangent space Tx M. If the manifold is covered by a single chart, thisis straightforward. If multiple charts are used, however, each point xthat maps to more than one chart also has more than one basis for thetangent space Tx M, i.e., one basis ei := ∂∂xi corresponding to each chartwith coordinate functions xi . Since we compute the observer field u
via optimization, computing two unknown components for each vector u(x), we want to optimize for each vector using only a single chart,
and thus a single basis, even when multiple charts cover the position x.
We do this by arbitrarily choosing one chart for each point x, for which
the vector components will be computed by solving the least-squares
problem given in Sec. 9.2. However, the numerical computation of partial derivatives is built on computing finite differences, as described inApp. R. In regions where multiple charts overlap, there will be vertices
whose 1-ring vertex neighborhood has not been assigned to the same
chart. However, it is crucial that all finite differences for any given
vertex are computed from vector components that all come from thesame chart, because otherwise the differences are meaningless.
We handle this problem in a very simple way. For any given vertex,
we can compute a 2 × 2 Jacobian matrix that transforms the vector
components referred to a given chart to any other chart that overlaps thesame vertex. This is simply a change-of-basis matrix from one chart toanother. Since our entire optimization is based on solving a large linear
system, the components of these Jacobian matrices can be inserted into
the constituent matrices K and D (Sec. 9.1) such that they accept unknown vector components for the unknown vector u (Secs. 9.1 and 9.2),
and transform them into the correct chart for finite difference computations in any given 1-ring vertex neighborhood. Finite differences arecomputed by inserting the filter stencil weights described in App. R into

T T HE F LOW OF A V ECTOR F IELD
We briefly summarize the standard concepts of the flow of a vector fieldas they are typically defined in differential geometry. This appendix isthe same as the corresponding one in Hadwiger et al. [30, App. B].
The flow of a time-independent vector field u on a manifold M is a
map φ : J × M → M for a suitable interval J ⊆ R, such that t 7→ φ (t, x)
is the unique maximal integral curve of u through x ∈ M [41, Th. 9.12].
That is, φ maps a point x to its image along the integral curve of u after
time t, which we also denote by φt (x). Important properties of φ are:
• The map φt : M → M is a (local) diffeomorphism for all t ∈ J.
• For all t1 ,t2 ∈ J, x ∈ M, φt2 (φt1 (x)) = φt1 +t2 (x), φ0 (x) = x. The
inverse of φt is φ−t , i.e., φt−1 (φt (x)) = φ−t (φt (x)) = x. φ is anaction of the additive group R on M, φt is a one-parameter group.
• The linear map dφt : Tx M → Tφt (x) M, called the differential of φt ,or the (pointwise) push-forward, is an isomorphism between the
two tangent spaces at each x ∈ M and φt (x) ∈ M, for each t ∈ J.
dφt maps tangent vectors to all possible curves through a pointx ∈ M to the corresponding tangent vectors of the images of thesecurves under the diffeomorphism φt , through the point φt (x) ∈ M.
When the vector field u is time-dependent, the corresponding timedependent flow ψ : J × J × M → M maps a point x ∈ M to its image
along the integral curve from time s to time t [41, Th. 9.48], which wedenote by ψt,s (x). The map ψ has similar properties to the map φ :• The map ψt,s : M → M is a (local) diffeomorphism for all s,t ∈ J.
• For all s,t1 ,t2 ∈ J, x ∈ M, ψt2 ,t1 (ψt1 ,s (x)) = ψt2 ,s (x), ψs,s (x) = x.
−1
The inverse of ψt,s is ψs,t , i.e., ψt,s
(ψt,s (x)) = ψs,t (ψt,s (x)) = x.
• The linear map dψt,s : Tx M → Tψt,s (x) M, called the differential(the push-forward) of ψt,s , is an isomorphism between the tangent
spaces at each x ∈ M and ψt,s (x) ∈ M, for each s,t ∈ J. dψt,s maps
tangent vectors to all possible curves through a point x ∈ M tothe corresponding tangent vectors of the images of these curves
under the diffeomorphism ψt,s , through the point ψt,s (x) ∈ M.
We note that the notation ψt,s (x) can of course also be consistently used
for the case of time-independent flow. In that case, ψt,s (x) = φt−s (x).
U P USHFORWARDS AND P ULLBACKS
A smooth map φ : M → M induces for each x ∈ M a linear map(dφ )x : Tx M → Tφ (x) M,
x 7→ (dφ )x (x),(U.1)

Fig. 13. Pushforward and pullback of a diffeomorphism φg are linear
maps between the tangent spaces Tx M and Tφg (x) M, and cotangent
spaces Tφ∗g (x) M and Tx∗ M, respectively. The pushforward (dφg )x maps atangent vector x ∈ Tx M to the vector (dφg )x (x) ∈ Tφg (x) M. The pullback φg∗
maps a covector (1-form) ω ∈ Tφ∗g (x) M to the covector (1-form) φg∗ ω ∈ Tx∗ M.

called the differential or pushforward, from the tangent space at x to
the tangent space at φ (x).
This is illustrated geometrically in Fig. 13: Choosing a smooth curvethrough the point x ∈ M defines a tangent vector x ∈ Tx M. The map
φ maps this smooth curve to another smooth curve through the point
φ (x) ∈ M, defining the tangent vector (dφ )x (x) ∈ Tφ (x) M.
The differential of a smooth map allows to pushforward single tangent vectors to other points on the manifold. Our definition of objectivity requires to pushforward whole vector fields (Sec. 5.2). This is notpossible with an arbitrary smooth map φ , as this fails to define tangent
vectors at points not hit by φ (φ is not onto), or might define tangent
vectors ambiguously at points hit several times (φ is not one-to-one).
Diffeomorphisms. However, if a smooth map φ happens to be both
one-to-one and onto, then it uniquely defines another vector field withthe tangent vectors being the pointwise pushforwards [41, Proposition
8.10]. Such a smooth map φ that has an inverse, if this inverse is alsosmooth, is called a diffeomorphism. That is, we can use a map φ topushforward a whole vector field precisely when φ is a diffeomorphism.
Pullbacks. The corresponding concept to the pushforward of avector field is the pullback of a covector (1-form) field [41, Ch. 11].
The pullback φ ∗ of a covector field is defined as(φ ∗ )x : Tφ∗(x) M → Tx∗ M,
ω 7→ (φ ∗ )x (ω).

(U.2)

Since (φ ∗ )x (ω) is a covector (1-form), in order to define it we have to
specify how it acts on a vector x ∈ Tx M. We use the pushforward andthe fact that ω is a covector of the tangent space at φ (x):(φ ∗ )x (ω)(x) := ω((dφ )x (x)).

(U.3)

In contrast to vector fields, covector fields always pull back to covector
fields, even when the map φ is not a diffeomorphism.

V N OTATION TABLE
M, N(smooth) manifolds(M, g)
Riemannian manifold M with metric g(U, ϕ)
chart on manifold M; U ⊂ M, chart map ϕ(Uα , ϕα )atlas of charts; chart index α from index set
ϕchart map ϕ : U → Rn for n-dim. manifold Mixcoordinate functions for chart; xi : U → Ru, valternative naming for coordinate functs. on 2-manifold
C∞ (M)
space of smooth functions on manifold M
Tx M
tangent space at x ∈ M
Tx∗ M
cotangent space at x ∈ M
TMtangent bundle of manifold M
T ∗M
cotangent bundle of manifold MX(M)space of vector fields on manifold MΩ1 (M)
space of covector fields (1-forms) on manifold M
eibasis vector fields/bases in each tangent space Tx M
ωibasis covectors/1-forms(dual to {ei })
ei ⊗ ω jbasis of a 11 tensor
ei ⊗ e jbasis of a 20 tensorωi ⊗ ω jbasis of a 02 tensor
g, h·, ·i
metric (on tangent spaces of manifold M)
gi j
compts. of metric in basis {ω i ⊗ ω j }; gi j := hei , e j iφflow of a vector fieldφt
one-parameter group generated by the flow φΦLie group action on manifold M
φgdiffeomorphism generated by Lie group element g ∈ G
dφg
pushforward/differential (lin. map betw. tang. spaces)
φg∗pullback of φg (linear map between cotangent spaces)Ξ
Lie algebra action on manifold M
t 7→ g(t)path through Lie group G; g(t) ∈ G
t 7→ X(t)path through Lie algebra g; X(t) ∈ g
t 7→ φg(t)diffeomorphisms corresponding to path t 7→ g(t) ∈ G∂i , ∂ei
partial derivative in direction ei∇i , ∇ei
covariant derivative in direction ei
Γi jk
Christoffel symbols; with respect to a basis {ei }∂ j vi
partial derivatives of vector compts. vi (not a tensor!)∇vvelocity gradient tensor (field) of vector field v∇ j vicomponents of ∇v with respect to a basis {ei ⊗ ω j }∇ j vicomp. of cov. deriv. of cov. field vi ω i ; basis {ω i ⊗ ω j }uobserver velocity fieldLu(autonomous) Lie derivative with resp. to the field uLutime-dependent Lie derivative with resp. to the field uG
Lie groupg
Lie algebra of Lie group Gg
Lie group element g ∈ G
X
Lie algebra Element X ∈ gIsom(M)
isometry group of manifold M; a Lie groupisom(M)
Lie algebra of the isometry group of manifold MO(n)orthogonal groupSO(n)special (det g = 1) orthogonal group (rotations)so(n)Lie algebra of SO(n); all X ∈ so(n) are anti-symmetricT(n)translation group of RnE(n)Euclidean group of Rn ; E(n) = O(n) n T(n)SE(n)
special Euclidean group; SE(n) = SO(n) n T(n)Ku
Killing operator applied to u
Killing energy (density) of u at point x ∈ MREu
Killing energy of u on M; area element dA
M Eu dAhT, Sig
tensor inner product of T and S with resp. to metric g
kTkg
tensor norm of T with respect to metric g(D/Dt)
material time derivative(D/Dt)
observed time derivative (wrt. an observer field u)