Shape Analysis on Lie Groups with Applications in Computer Animation

Shape analysis methods have in the past few years become very popular, both for theoretical exploration as well as from an application point of view. Originally developed for planar curves, these methods have been expanded to higher dimensional curves, surfaces, activities, character motions and many other objects. In this paper, we develop a framework for shape analysis of curves in Lie groups for problems of computer animations. In particular, we will use these methods to find cyclic approximations of non-cyclic character animations and interpolate between existing animations to generate new ones.


Introduction
Motions of virtual characters in movies and interactive applications are usually represented using a skeletal animation approach where the data consists of curves tracking the positions of the bones throughout the motion.These curves can be processed by mathematical methods to produce new motions [36].It has previously been shown that shape analysis methods can be successfully applied to solve problems in computer animation by considering entire animations as curves and shapes [6,15].In practice, the data consists of curves in SO(3) d , where d is the number of bones in the skeleton.However, in the earlier approaches, curves have been represented using Euler angles, neglecting the underlying Lie group structure.We here report on the results we obtained by appropriately including the underlying geometric structure in the mathematical models and their numerical discretizations.The intrinsic geometric formulation is robust and works very well in problems of motion blending and curve closing, where earlier the same performance could be only obtained by using ad hoc strategies, e.g.keeping track of carefully chosen feature points along the curves.
In section 2, we will briefly introduce shape analysis and motivate how techniques from shape analysis on Lie groups can be applied to computer animation by treating character animations as points in an infinite dimensional manifold.This manifold is in fact an infinite dimensional Lie group where we are interested in computing distances and geodesics.
In Section 3, we discuss some of the main tools for shape analysis on Lie groups, which are later applied in this paper.An approach to curves evolving on Riemannian manifolds was earlier presented in [44].In our work, we exploit the additional structure provided by the Lie group setting.To perform animation blending (i.e., interpolation between existing animations to create a new one), we are interested in simple and computationally efficient approaches to compute geodesics between two given shapes and to this end we define a metric on shape space.We show that this metric is associated to the geodesic distance of the pullback of an L 2 -inner product (cf.Theorem 3.11 and Theorem 3.16).The Lie group formalism allows us in Section 4 to efficiently solve the curve closing problem (which we use to approximate an existing non-periodic animation with a periodic one) using a gradient flow approach.Finally, in Section 5, we present numerical results both for problems in animation blending and animation closing.
We demonstrate that the proposed techniques exhibit better qualitative performance compared to previous work [6,15].In animation blending the new approach allows interpolating between a wider range of motions.In animation closing the proposed Lie group formulation is naturally intrinsic, and allows avoiding undesired artefacts due to coordinate singularities.While our specific applications use the special orthogonal group SO (3) as the underlying Lie group, the techniques developed in this paper are not restricted to this setting.
In recent years, a number of methods based on differential geometry have been developed to tackle such problems.Of particular importance is the question of how to model and work with unparametrized curves.
A popular approach is to define shapes as equivalence classes of certain mappings, where the equivalence relation is induced by reparametrization.Given two curves c 0 , c 1 : I → M with I = [a, b] ⊂ R and M a vector space or a manifold, we define equivalence classes [c 0 ], [c 1 ] via the equivalence relation: where ϕ is a smooth, strictly increasing bijection on I.We denote by P the space of parametrized curves containing c 0 and c 1 .Typical choices of P include absolutely continuous functions, immersions, embeddings or piecewise linear functions [4,31].The equivalence classes, or shapes, can then be collected in the corresponding shape space: S := P/ ∼ .Shape analysis then concerns itself with the study of the spaces S and P from both a theoretical and a practical perspective.Many applications require for example a distance function in S to measure similarities between shapes, which can be used to perform statistical analysis such as clustering and object recognition [41].Distance functions on shape space S are typically obtained from a distance function d P on the underlying space P of parametrized curves as follows: where ϕ ranges over all possible curve reparametrizations.The computation of d S amounts to the solution of an optimization problem with appropriate numerical techniques [38,42].
In recent years, a distance function on P based on the so-called elastic metric has become popular.The elastic metric is a first-order Sobolev-type metric, which is easy to compute and has desirable theoretical properties [4,7,33,42].
In this paper, we consider curves and shapes in Lie groups to solve problems in computer animation.In that context the use of Lie groups arises naturally by using Euclidean transformations and rotations to describe motions of virtual characters.

Skeletal animation
In computer graphics, used and seen in movies, tv-series and video games, but also in educational and scientific software, virtual characters are most commonly represented as surfaces in R 3 .
Motions of such characters are usually represented using a skeletal animation approach.The underlying skeleton consists of bones connected by joints.The vertices of the surface mesh are attached to bones, i.e., their positions are specified in a coordinate system that is aligned with a bone.Then, when the skeleton is animated by specifying the positions of all the joints as a function of time, the vertices move accordingly.See Figure 1 for an example virtual character.
A skeleton is a rooted tree, where each node (bone) represents a Euclidean coordinate system.The edge (joint) between a node and its parent represents a Euclidean transformation indicating how the two nodes' coordinate systems are positioned and oriented relative to each other.By following this kinematic chain of relative transformations from a node to the root, all local coordinate systems can be brought into a single global coordinate system.A character's pose is specified by assigning values to all degrees of freedom in the skeleton (i.e., all the joints).Each such configuration is an element of joint space J := SE(3) d .An animation is then a function from some time interval [a, b] into joint space, specifying a character pose for every point in time.For human characters, bones have fixed lengths and joint space therefore consists only of rotations between bones (i.e., elements in SO(3), the special orthogonal group) instead of more general Euclidean transformations (SE(3)).
A typical approach of generating such animations for use in videos or games is motion capturing, where an actor's motions are recorded from multiple points of view and the underlying skeletal motion is extracted.This is often preferred over alternative means of generating animations, such as manual construction or inverse kinematics.
Motion capturing however suffers from limitations inherent in its process, namely that the data is static and limited in range.If we want an animated character to run at different speeds, we need corresponding recordings.If we want a virtual character to keep walking forward for an indeterminate amount of time (e.g., in a video game under a player's control), we need to find a way of adapting a finite walking animation so that we can repeat it without visible discontinuities.
Much work has been done to procedurally manipulate motion data to tackle these and many more problems in computer graphics.We refer to, among many others, [19,24,25,26,36,40] for an overview and some specific approaches in this field.To take into account the geometry inherent to skeletal animation, in the following sections, we propose methods for motion blending and animation closing on Lie groups.Only bones with a degree of freedom are shown, i.e., for example the hips are not visible in the skeleton and the legs appear at an offset from the character's center.

Shape analysis on Lie Groups
In this section we will develop a framework for shape analysis for curves on Lie groups.Albeit our main application is shape analysis for curves on SO(3), the theoretical framework exhibited here is fairly general.The methods discussed in this and the next section can also be applied to certain classes of infinitedimensional Lie groups.
In the following, G will refer to a Lie group with Lie algebra (g, [•, •]), identity e and multiplication • : G × G → G.Here G might even be an infinitedimensional Hilbert Lie group, i.e. a Lie group in the sense of [28] (or [35]) modelled on a Hilbert space. 1 We will denote left and right translations by L g and R g respectively, i.e., L g1 (g 2 ) = g 1 • g 2 and R g1 (g 2 ) = g 2 • g 1 .We further denote by Γ the evolution operator, which is defined as where where I ⊂ R is an interval with 0 ∈ I and R g * = T e R g is the tangent map of the right translation at the identity e.Without loss of generality, we let The inverse of the evolution operator is the so called right logarithmic derivative

Manifolds of smooth mappings
In this section we recall the construction of the manifold structure on spaces of smooth mappings with values in a Lie group.Moreover, we review some basic facts on these manifolds which will be used throughout the article.Following [27,Chapter 42], we construct the manifold structure on C ∞ (I, G) using a local addition on G.A local addition allows us to choose local parametrisations on a manifold in a smooth way.
Definition 3.1 (Local Addition, cf.[27, 42.4]).A local addition on a manifold M is a smooth map Σ : T M ⊇ Ω → M defined on an open neighbourhood Ω of the zero-section such that Since G is a Lie group we can construct a local addition as follows.Choose a chart ψ : G ⊇ V ψ → W ψ ⊆ g around the identity in G. Denoting elements in the tangent space over g ∈ G by ξ g , we obtain a local addition via ).This is a vector space with the pointwise operations (in the fibres T α(t) G for each t).
In the following we endow spaces of smooth functions C ∞ (I, M ) to a (possibly infinite-dimensional) manifold M with the compact open C ∞ -topology.This topology allows to control functions and their partial derivatives on any compact subset of I. We refer to [35,Section I.5] for more information on this topology.Then and one can prove that the assignment . By [37,Theorem 7.8] (and the remarks before the cited theorem) these charts turn C ∞ (I, G) into a Fréchet manifold (i.e. a manifold modelled on a locally convex space which is complete and metrizable).
At this point we leave the realm of Banach manifolds, whence the standard definition for smooth maps (i.e.viewing the derivative as a continuous map to a space of continuous operators) breaks down.One way to define smooth maps beyond the Banach setting is the so called Bastiani calculus (see [1]): A map between Fréchet spaces is smooth if all iterated directional derivatives exist and are continuous in a natural sense (see e.g.[35, I.2] for more details).There are other (in general inequivalent) ways to define smooth mappings on infinite-dimensional spaces, such as the so called convenient calculus (see [27]).Fortunately, these choices yield the same smooth maps on Fréchet manifolds.As we exclusively work with Fréchet manifolds we can thus disregard the differences and freely use results formulated in both calculi. 2urthermore, we quote from [27,41.10,Theorem 42.13] and [37, Theorem 7.9] the following results which we will use later on.Proposition 3.2.
1. Pointwise multiplication and inversion induce a Fréchet Lie group structure on C ∞ (I, G).Its Lie algebra is C ∞ (I, g) and we let e G : I → G be its identity.

Shape space and distance functions
We want to measure distances between two shapes, i.e., unparametrized curves on G.To do this, one represents unparametrized curves as equivalence classes of parametrized curves under certain reparametrizations.We will model parametrized curves in G as immersions (i.e., smooth functions with a nonvanishing first derivative) and denote the space of these curves by P := Imm(I, G).Then one can define the shape space S as the quotient space S := P/Diff + (I), where Diff + (I) denotes the group of orientation preserving diffeomorphisms on I, acting on P from the right [4].In the context of parametrized curves, Diff + (I) can be thought of as the group of all possible orientation preserving parametrizations of a curve.Our goal is to find a distance function d S on S. To this end, we consider an appropriate distance function on P. The distance of two parametrized curves will be measured as the infimum of the length of piecewise smooth curves connecting these curves (i.e. the geodesic distance of a Riemannian metric).Note that in general, the distance will only be a pseudometric4 , see Remark 3.5 below.However, the geodesic distance considered in our approach will turn out to be a metric (on suitable submanifolds).To assure that the distance descends to a distance function on S, the pseudometric needs to satisfies the following invariance property.
In other words d P is invariant with respect to the diagonal (right) action of Diff + (I) on P × P.
Then we obtain the following result.
Lemma 3.4.If d P is a reparametrization invariant pseudometric on P, then the pseudometric d S on S, as defined in Equation (2), is independent of the choice of representatives c 0 and c 1 .
Proof.Due to the infimum over ϕ, the distance d S is independent of the choice of the representative c 1 .With respect to the choice of representative c 0 , we easily find: Remark 3.5.Contrary to the finite-dimensional case, the geodesic distance of an infinite-dimensional Riemannian manifold might vanish.For example, it is well known that the geodesic distance with respect to the standard L 2 -metric on P vanishes everywhere.This is the reason why we formulated the above results using pseudometrics.However, it is also known that this pathology does not occur for the class of first order Sobolev metrics.We refer to [5] for more information and references.
Next we will show how to obtain a reparametrization invariant geodesic distance function from a certain first order Sobolev metric.Thus its geodesic distance will turn out to be metric (on certain submanifolds of P).

SRV transform for curves on a Lie group
The main idea is to construct a well behaved mapping which allows us to pull the L 2 inner product on C ∞ (I, g) back to a Riemannian metric on a suitable submanifold of P. Inspired by the approach in [42,43,44], we define the map where the norm • is induced by a right invariant metric on G.In particular, this entails that the norm on g is induced by an inner product •, • on g.Note that R is not injective since we lose information regarding the curve's starting point.For G = R d this map is known as the Square Root Velocity Transform (SRVT) [42].Hence we will also call R the square root velocity transform if P is a space of mappings with values in an arbitrary Hilbert Lie group.Let us first note some properties of the SRVT.
Lemma 3.6.The SRVT R is 1. equivariant with respect to reparametrizations, i.e. ∀(c, ϕ) [27, 38.1 Lemma] to the constant map t → g) and the definition of R. Definition 3.7.Define a pseudometric on P = Imm(I, G) via where Notice that d P is only a pseudometric as it does not distinguish between c ∈ P and R g • c (for g ∈ G by Lemma 3.6).
Proof.In order to prove that d P is reparametrization invariant, we need to show that the property (1) holds.
Using the definition ( 4) and the substitution s := ϕ(t), the reparametrization equivariance (see Lemma 3.6) implies: We would like to realize d P as the geodesic distance of a Riemannian metric on P which arises by pullback with R. In the classical case, of the abelian Lie group R 2 , the map R reduces to the SRVT considered in [3].As was observed in [3, 3.4 and Remark 3.9], the map R is not even infinitesimally injective, i.e. the kernel of the tangent map T c R is not trivial.Hence, pulling back the L 2metric will not result in a Riemannian metric on all of P.However, the map R restricts to a diffeomorphism onto a certain submanifold of P. Further, on this submanifold d P will coincide with the geodesic distance induced by the pullback of the L 2 -metric.Before we prove this, let us first introduce some auxiliary mappings and an explicit formula for the inverse of the SRVT.Consider the scaling maps sc : Then it is easy to see that R(c) = sc • δ r (c) for all c ∈ P. We will see in Lemma 3.9 that R induces a diffeomorphism and by [17, 1.10] P * is a closed submanifold of P. Note that R −1 is the inverse of the SRVT when restricted to the submanifold P * .
In the following, we restrict our investigation to P * , i.e. we consider only curves starting at the identity element in G.We remark that this is only a mild restriction as the group operations in G allow us to transport any smooth curve c : I → G to the smooth curve c(t) • c(0) −1 starting at the identity.Lemma 3.9.The scaling maps (5) are smooth diffeomorphisms.Moreover, the SRVT is smooth and induces a diffeomorphism .
Proof.Since the norm • is induced by an inner product, it is smooth away from 0 (cf. the discussion in [27,Proposition 13.14]).In particular, this entails that the scaling maps ( 5) are smooth by [27,Theorem 42.13].
To see that R is a diffeomorphism, observe that Γ : The right action P × Diff + (I) → P, (c, ϕ) → c • ϕ restricts to an action on P * .We can now define a reparametrization invariant (pseudo)metric5 on P * as follows.

Riemannian geometry of the SRV transform
There is a geometric interpretation of the distance function d P * obtained via the SRVT that motivates our choice of approach.In the present section we explore this interpretation in the context of Riemannian geometry on spaces of curves.Consider the space of curves This metric defines a (weak) Riemannian metric 6 on C ∞ (I, g).Moreover, since the image of the SRVT is an open subset of C ∞ (I, g), the Riemannian metric restricts to a Riemannian metric on the image of the SRVT.Now we exploit that the SRVT is a diffeomorphism (Lemma 3.9), to obtain a pullback metric on P * whose geodesic distance will turn out to be d P * .Before we prove this, let us derive a formula for the pullback metric.
Recall that δ r c := R −1 c * ( ċ) is the right logarithmic derivative whose tangent map at c we denote by T c δ r .Theorem 3.11.Let c ∈ P * and consider v, w ∈ T c P * , i.e. v, w : under the SRVT to the manifold of immersions P * is given by: where ) is the unit tangent vector of δ r (c) and ds = ċ(t) dt.Consequently, the pullback of the L 2 -norm is given by Proof.We have to compute the tangent map of the SRVT at a curve c in the direction of a vector field v along c.
Thus the tangent map of sc can be computed as follows.
Set z w := T c δ r (w) and substitute into the definition of the pullback metric these formulae.Then we simplify the expression as follows: δ r c(t) and notice that u c (t) = 1.Inserting these identities in (9) we can simplify G c (v, w) as follows In passing from the second to the third line we have used the trivial identity We will now exploit that the norm and the Riemannian metric on the tangent spaces are right invariant, i.e. they are invariant under right translation.This entails δ r (c) = ċ , whence ds = ċ(t) dt = δ r c(t) dt.Substitute this together with the identities for z v , z w and u c to obtain Thus (8) holds and the formula for the norm follows directly by specialization.
Remark 3.12.For computations in the rest of the paper, we will need neither the explicit form of the pullback metric on P * nor the norm computed in Theorem 3.11.The idea is to use the SRVT to relegate all questions concerning the metric to (C Remark 3.13.Theorem 3.11 generalises [3, Theorem 4.2] (for the parameter values a = 1 = 2b): Viewing the vector space R 2 as an abelian Lie group, our approach recovers the constructions of the pullback metric in the vector space case.
Notice however that we take a slightly different (but equivalent) perspective on the shape spaces involved in the construction: In [3] the unparametrized curves are modelled as the quotient of Imm(I, R 2 ) modulo translations.Picking representatives for each class, one can show that on the level of infinitedimensional manifolds this yields the same concept of (unparametrized) curves as our approach.Moreover, as the SRVT is translation invariant (Lemma 3.6), the two constructions yield the same Riemannian manifold (as already observed in [3]).
The pullback Riemannian metric constructed in Theorem 3.11 defines a Riemannian metric on the space of parametrized curves P * .For curves which take their value in R n the two terms in the integral can be seen as measuring bending and stretching deformations, respectively [3,42].Therefore, metrics of the form (8) are known as elastic metrics.
Note that the formula for the Riemannian metric is given in terms of a tangent map of the right-logarithmic derivative.We here give an explicit formula for this map.A proof can be found in Appendix A.1.
In what follows, we discuss the Riemannian geometry of the L 2 -metric on the image of the SRVT.This will shed light on the geometry induced by the pullback metric on P * .Geodesics in the image of R are just restrictions of geodesics in C ∞ (I, g) (with respect to the L 2 -metric) to Im R = C ∞ (I, g \ {0}).These geodesics correspond to geodesics in P * with respect to the pullback metric (8).As we are interested in the geodesic distances on P * , let us first try to understand geodesics on Im R ⊆ C ∞ (I, g).Proposition 3.15.Consider C ∞ (I, g) with the weak Riemannian structure induced by the L 2 -inner product f, g ) is flat in the sense of Riemannian geometry.
1.The Riemannian metric is the inner product of a vector space.Hence C ∞ (I, g) is flat as all derivatives of the Riemannian metric with respect to the base point vanish.2. Note that C ∞ (I, g \ {0}) is an open subset of C ∞ (I, g), whence flat.For dim g > 1 the set g \ {0} is connected but not convex, whence there are points not connected by minimizing geodesics, e.g. for c ∈ C ∞ (I, g \ {0}) the minimizing geodesic connecting c and distance locally describes the geodesic distance.Thus the distance function (8) locally describes the geodesic distance with respect to the pullback Riemannian metric on P * .Since minimizing geodesics need not exist between points f, g ∈ C ∞ (I, g \ {0}), the geodesic distance might be strictly greater than the However, we will prove that, at least if the dimension of the Lie algebra is large enough, the L 2 -distance coincides with the geodesic distance (see Theorem 3.16).To prove that the geodesic distance on C ∞ (I, g \ {0}) coincides with the L 2 -distance, we have to approximate the minimizing geodesic by paths in g\{0}.To avoid a lengthy exposition at this time, we have relegated these details to Appendix A.2. Theorem 3.16.If dim g > 2 then the geodesic distance of C ∞ (I, g \ {0}) is globally given by the L 2 -distance.In particular, in this case the geodesic distance of the pullback metric (8) on P * is given by the distance function (7).
Remark 3.17.Notice that Theorem 3.16 entails that the pseudometric d P * defined via ( 7) is non-degenerate for dim g > 2, i.e. d P * (c, c) > 0 if c = c.Thus d P * is a metric on P * .In particular, we will say that d P * defines a distance function on P * in this case.
The crucial observation here is that one obtains a distance on P * .This enables us in Section 5 to compute distances between curves and to deform curves into each other along geodesic paths.The relation of geodesic distance and L 2 -distance has previously been used in animation classification tasks in R d for d > 2 e.g. in [15].
Finally, we can follow the argument given in [3,Theorem 6.1] to derive information on the curvature of the shape space: Corollary 3.18.The curvature of the space S * := P * /Diff + (I) with the Riemannian metric induced by the pullback metric (8) is non-negative.
Proof.The Riemannian structure on S * is induced by the one on P * , i.e. the canonical quotient map P * → S * = P * /Diff + (I) is a Riemannian submersion.Hence we can apply the O'Neil curvature formula (see e.g.[11,Theorem 3.20]) for the sectional curvature of the quotient S * .For orthonormal vector fields X, Y on S * this yields: Here X and Ỹ are horizontal lifts of X and Y to P * and X, Ỹ vert denotes the vertical projection.As P * is flat by Proposition 3.15, the curvature K P * vanishes, whence K S * is non-negative.

Distance as an optimization problem
In the last section we acquired a distance function on P * for dim g > 2. Using this distance function, we can calculate distances in the shape space S * := P * /Diff + (I) 7 by solving the optimization problem where When computing d S * we therefore need to perform an optimization over the diffeomorphism group Diff + (I) (see for example [31] for more details and an extension to piecewise linear curves instead of immersions).
In practice, one of two different algorithms is used to solve this optimization problem: either a gradient descent based approach or a dynamic programming 7 Recall that in the beginning of the Section 3 we set out to construct a distance function for the shape space S = P/Diff + (I).As explained in the last section, this is not possible within the SRVT-framework.Hence we have to use the smaller space S * (which can be identified with a subset of S).
(DP) algorithm.For our numerical experiments and applications in Section 5, we have used DP, which constructs a piecewise linear approximation of the optimal reparametrization ϕ in (10).See [6,38] and references therein for more information on the use of DP for shape analysis.

Closed curves
In various applications, we are particularly interested in closed curves.For example, in object recognition, closed planar curves can be used to represent outlines of objects.In computer animation, closed curves are cyclic animations that can be repeated multiple times with no visually noticeable discontinuities.
Here we will derive a method to calculate a closed curve approximation of an existing open curve.Again, we will be working with SRV transformed representatives q of curves c ∈ P * .We denote the image sets via the R transform of the open and closed immersions on G by respectively, i.e., we will be working exclusively with parametrized curves, and not with shapes.Notice that the open curves are an open subset of the locally convex space C ∞ (I, g).
A curve c in the set of closed curves C c will in general only be C 0 -closed.This means, we do not require that the derivatives d dt c(0) and d dt c(1) (or higher derivatives at the closing points) coincide.Hence the closed curves considered here admit "corners" at the closing points and should not be confused with smooth loops in G, i.e. smooth maps from the unit circle S 1 to G.
Consequently, the closed curves computed via the methods in this section will only be C 0 -closed.Though a higher order closing might be desirable, for the applications we have in mind the closing of the curves is sufficient.

Closed curves as a closed submanifold
We will now prove that C c is a closed submanifold of the open curves C o and thus a closed submanifold of C ∞ (I, g).Since R is a diffeomorphism, this entails that {c ∈ The basic idea is now to construct C c as the preimage of a closed submanifold under a submersion.To this end, consider the point evaluation map (evaluation in 1).
It can be observed that where sc denotes the scaling map from (5) and we note that r(q) = R −1 (q)(1).
Proposition 4.1.The map r : Proof.Let us first establish the smoothness of r.In the proof of Lemma 3.9 we have already remarked that Γ and sc are (smooth) diffeomorphisms.Further, ev 1 is smooth as a consequence of [27,Theorem 42.13] whence it restricts to a smooth map on the closed submanifold C ∞ * (I, G).By abuse of notation we will denote the induced map on the submanifold also by ev 1 .We conclude that r is smooth and in particular it will be a submersion if and only if ev 1 is a submersion.
For general locally convex (infinite-dimensional) manifolds a map is called submersion (see [18]) if for every point in its domain we can find submersion charts, i.e. charts around the point and its image which turn the map locally into a projection. 8We will now construct submersion charts for c ∈ C ∞ * (I, G).To this end, let ψ : G ⊇ V → W ⊆ g be a chart for G around the identity.Then As L c , L c(1) and the charts ψ, ψ * are diffeomorphisms, it suffices to construct submersion charts for ev 1 .To construct these charts, we split {h ∈ C ∞ (I, g) | h(0) = 0} non canonically: Since ev 1 is smooth, λ is smooth.Furthermore, λ is a isomorphism of locally convex spaces as λ −1 (c, q) = (t → c(t) + tq) is also smooth.Now let pr g be the projection onto g in the above product.Then one computes ev 1 • λ = pr g .Hence, λ and id g form a pair of submersion charts for ev 1 , whence ev 1 and ev 1 are submersions.We deduce that r is a submersion.
To prove the final assertion we use that C c = r −1 (e) is the preimage of a point under the submersion r.Invoking a version of the regular value theorem [18, Theorem D] for infinite-dimensional manifolds, we deduce that C c is a closed submanifold of C o (whence also of C ∞ (I, g)).If G is finite-dimensional, C c is a submanifold of finite codimension.Hence the pullback Riemannian metric (8) induces a reparametrisation invariant Riemannian metric on the space of closed curves (equivalently on C c ).We remark that C c will in general not be flat in the sense of Riemannian geometry (cf. the computation of curvature in [3, 5.2]).
Remark 4.3 (The framework for infinite-dimensional Lie groups).If we assume that G is a Hilbert Lie group, the results obtained so far carry over without any changes in the proofs.Here by Hilbert Lie group we mean a Lie group in the sense of [27,Section 36] or equivalently [35] modelled on a Hilbert space.
More generally, some of the results are still valid for Banach Lie groups which are modeled on a Banach space with a smooth norm away from 0 (see [27,Chapter 13] for more information on smooth norms).Notice however that in this case complications arise.For example, in the Banach Lie group case we lack an inner product.Hence, one has to replace the formula for the derivative of the norm in the proof of Theorem 3.11 and it is unclear how to relate the distance d P * to the geodesic distance from Riemannian geometry.
We q − q 0 , where q 0 is the curve to be approximated.Instead of minimizing the distance from closed curves to q 0 in what follows we opt for minimizing the closure constraint.This approach leads to the formulation of a gradient flow whose solution is the desired closed curve.

Projection via a gradient flow
Given an SRV representative q of an open curve in the Lie group G, i.e., q ∈ C o \ C c , we will try to "close" the curve by enforcing (at least approximately) the closedness constraint r(q) = R −1 (q)(1) = e.We can measure the distance between the identity and the actual endpoint by using the functional where log denotes the inverse of the exponential map exp : g → G, and is defined in a neighbourhood of the identity of G. Notice that Note also, that this only measures first order continuity.In many practical applications, we are satisfied with Φ(q) ≈ 0; particularly in the computer animation applications discussed later in Section 5 a precise enforcement of the constraint Φ(q) = 0 is not necessary to achieve visually pleasing results.This leads us to the idea of closing curves by minimizing the functional Φ, and since C o is an open subset of a vector space, we can use a straightforward gradient descent method for solving this problem.
In order to compute the gradient of Φ, we will need both the tangent map of the evolution operator Γ, for which we get [27, 38.10 Corollary]: as well as the following tangent map for R −1 : Here, Ad g denotes the adjoint representation of the Lie group: Ad g = L g * • R −1 g * .Since T q r = T q ev 1 • R −1 the formula (13) immediately yields a formula for T q r.Moreover, as the tangent map of ev 1 can be canonically identified with an evaluation in 1 (cf.proof of Proposition 4.1), we see that T q r is given integrating to t = 1 in the formula (13).
Furthermore, we need the tangent of the logarithm map.To this end, let us first consider the tangent of the Lie group exponential map T exp : T g = g×g → T G. Using the right trivialisation of the tangent Lie group T G = g Ad G, we have for a unique (linear) map dexp u : g → g called the right trivialized tangent of the exponential map.Following [9,20] we remark that dexp u satisfies: where ad u is the derived representation of the Lie algebra ad u v := [u, v].By [35,Remark II.5.8] the formula ( 15) holds also for infinite-dimensional Lie groups modelled on Banach spaces.Note that dexp u (u) = u and dexp u = δ r (exp) u (cf.[35, p.340 -341]).By using that exp • log = id G in a neighbourhood of the identity in G, (14) yields , for all g in the domain of log .
Combining these tangent maps, we can calculate the gradient of the error functional Φ in (11).We use the following notation for adjoints of bounded linear operators.
Definition 4.4.Let A : g → g be a bounded linear operator and •, • be an inner product on g.Then we denote by A † the adjoint operator of A, i.e. for all v, w ∈ g we have A(v), w = v, A † (w) .
Theorem 4.5.The gradient of the the error functional with respect to the L 2 inner product is the vector field on C o given by grad(Φ)(q) = q θ(q) + θ(q), q q q, (17 where Proof.Let f be a vector field along the curve q.The L 2 gradient of Φ is then defined by
By differentiation we obtain: Insert now the formula for the tangent maps ( 12) and ( 13) and observe that the integral appearing is a weak integral, i.e. we may interchanged the integral with any of the continuous linear functionals •, v .Hence the above formula for T q Φ simplifies as follows: Reading off the gradient of Φ(q) from this expression we derive: grad(Φ)(q), f L2 = θ(q) q + θ(q), q q q, f L2 .
The projection onto the space of closed curves C is then obtained by solving the differential equation for u(t, τ ): Remark 4.6.The results of the present section on tangent maps carry over verbatim to the case of infinite-dimensional Lie groups modelled on Banach spaces.This is due to the fact that Banach Lie groups are locally exponential Lie groups (i.e. the Lie group exponential map is a local diffeomorphism near the unit) cf.[35,Proposition IV.1.2].Moreover, the formula for the trivialised tangent map of the exponential still holds in this case by [35,Remark II.5.8].In particular, this shows that Theorem 4.5 remains valid for Lie groups modelled on a Hilbert space.
The derivative dexp u of the Lie group exponential appears in the formula (17).If we want to apply the formula for the gradient in computations we thus need to compute this derivative.However, for certain finite dimensional Lie groups, these additional computations can be avoided as the derivative vanishes in the formula.We will prove now that in θ(q) = Ad † c(q) −1 Ad † r(q) (dexp −1 log(r(q)) ) † log(r(q)) the term (dexp −1 log(r(q)) ) † vanishes if we choose the inner product induced by the Cartan-Killing form of a compact and semisimple Lie group.Definition 4.7.Let G be a finite-dimensional Lie group with Lie algebra g.Define the Cartan-Killing form where we denote by tr the trace of a linear map.Recall from [21, Remark 12.2.14]that κ g is a negative definite form if and only if G is a compact and semisimple Lie group.Corollary 4.8.Let G be a compact and semisimple Lie group.With respect to the L 2 -metric constructed from the inner product −κ g induced by the Cartan-Killing form, the gradient of the the error functional Φ (11) is the vector field on C o given by grad(Φ)(q) = q α(q) + α(q), q q q, (18 where α(q) := Ad † c(q) −1 Ad † r(q) log(r(q)) ∈ C ∞ (I, g) c(q) := R −1 (q) ∈ C ∞ * (I, G) and r(q) := R −1 (q)(1) ∈ G. Proof.As a shorthand we define u := log(r(q)).Having the formula (17) at our disposal, it suffices to prove that the adjoint operator (dexp Recall from [21, Exercise 5.4.5] that the operators ad x are skew symmetric with respect to the Cartan-Killing form, i.e. κ g (ad x (y), z) = κ g (y, −ad x (z)) or in other words (ad x ) † = −ad x .Using the series identity (15) for dexp u together with the fact that the mapping A → A † is a continuous algebra morphism, we obtain the identity Hence ad u (u) = 0 implies (dexp u ) † (u) = u and the assertion follows.

Numerical Results
In this section we present some results obtained with the methods developed in the previous sections.First, in Section 5.2, a few simple examples of curves in SO(3) will serve to demonstrate the basic ideas discussed in this paper: interpolation between curves and closing of open curves.Next, we will present some numerical results for the specific applications to computer animation problems: interpolation between existing motions in Section 5.3 and removing discontinuities in (almost) periodic motions in Section 5.4.

Some implementation notes
The motion capturing data used in the two animation application Sections has been taken from the CMU motion capture database [8].

Computational tools for SO(3).
In the examples we consider the Lie group SO(3) (or a product of multiple copies of SO(3)), for which we will use a matrix representation, so left and right translations correspond to matrix products.The Lie algebra so(3) consists of the 3 × 3 skew-symmetric matrices which are isomorphic to vectors in R 3 via the hat map: Efficient ways to compute the exponential map and the logarithm in SO(3) are available in the literature, see [9,10,22].In this setting, the Lie algebra exponential exp : so(3) → SO(3) can be efficiently computed using Rodrigues' formula: Similarly, there exist efficient means to compute the logarithm of an orthogonal matrix X ∈ SO(3): log(X) = sin −1 ( y ) y ŷ, X = I, and X close to I, where ŷ = 1 2 (X − X † ).As in the previous section we denote here by X † the adjoint linear operator (i.e. the transpose of the matrix X).
The Lie group SO(3) is compact and semisimple (see [21, Lemma 2.1.4and Example 5.5.4]).To compute the gradient of the error functional Φ (11) as in Corollary 4.8, we will thus assume that the inner product on g is the negative of the Cartan-Killing form κ g .For SO(3) it is well known that the Cartan-Killing form is given by As X, Y are skew symmetric, the corresponding inner product turns out to be the familiar Frobenius inner product −κ so(3) (X, Y ) = tr(XY † ).Notice, that one can proceed similarly if G is a (finite) product of copies of SO(3).
Discrete curves.Given a continuous curve c in SO(3), we approximate it by picking a discretization {θ i } n i=0 of I and constructing a curve c based on discrete points {c i := c(θ i )} n i=0 , between which we interpolate along geodesics in SO(3): where χ is the characteristic function.
Computing the square root velocity transform (3) of such discrete curves then results in piecewise constant functions q = {q i } n−1 i=0 in the Lie algebra, with discrete points qi given by: The inverse SRVT (6) of a piecewise constant function q in g, is given by a piecewise geodesic curve c in G, as formulated in (19), with points ci given by: Curve reparametrization.As we have seen, reparametrizations in Diff + (I) act on curves from the right.For discrete curves, this means either a change in the underlying grid or a change in the discrete points.For our numerical experiments, we have chosen to keep a fixed grid and resample curve points.Applying a reparametrization ϕ ∈ Diff + (I) to the discrete curve c then results in a new discrete curve c with sampling points {c i } n i=0 computed using geodesic interpolation: where j is an index such that θ j ≤ ϕ(θ i ) < θ j+1 .Note that c0 = c0 and cn = cn naturally follow from the definition of the diffeomorphism group Diff + (I).
Curve interpolation.To perform interpolation between two parametrized curves c 0 and c 1 , we interpolate linearly between their SRVT representations and reintegrate the result: with interpolation parameter s.The construction of the curve is possible due to the vector space structure of the Lie algebra g and yields precisely a geodesic of C ∞ (I, g) (cf.Proposition 3.15).Notice that the interpolation map takes its image in C ∞ * (I, G) and not in P * , i.e. in general the result will not again be an immersion.This is due to the fact that elements in P * take their image in g \ {0} and this set is not convex in g.In practice this problem is not very serious, however it seems difficult to exclude this problem without turning to a cumbersome set of conditions on the initial data.
Curve closing.As we have already mentioned the Lie groups in our main example are compact and semisimple, whence Corollary 4.8 is applicable.In particular, the gradient for the curve-closing method in Equation ( 18), takes the following form for curves in SO(3): where c := R −1 (q) (computed via Lie-Euler integration), and the gradient flow can be discretized as where every ūk is a discrete curve as defined above, i.e., ūk = {ū k i } n i=0 .Note that for the curve closing, a curve's parametrization is fixed.
This iterative approach allows us to balance accuracy and computational expense, which is useful in the computer animation applications discussed in Section 5.4.

Curves on SO(3)
We start with two simple demonstrations of the methods developed in this article: one interpolation between curves on SO(3) and one application of the curve-closing algorithm laid out in Section 4. In order to visualize a curve c : I → SO(3), we will take one or more unit vectors in R 3 , v 1 , . . ., v n , and plot the curves resulting from transforming these vectors by the successive elements in SO(3), i.e., we will plot vi (t) := c(t)v i for i = 1, . . ., v n .The curves vi (t) will therefore evolve on the unit sphere in R 3 .
Figure 2 shows the result of interpolating between curves c 1 , c 2 : I → SO(3) using the approach outlined in Sections 3 and 5.1.This is the basic mechanism underlying the shape distance computation: We represent shapes, i.e., equivalence classes of parametrized curves under reparametrizations, by a representative, i.e., a single parametrized curve.Then, given two shapes and two corresponding parametrized curves, we try to find a parametrization of one of the curves that minimizes the distance to the other curve.This minimum distance is then, according to Lemma 3.4, the distance between the two shapes, i.e., the equivalence classes.
The two curves in the first row of Figure 2 represent the original curves between which we interpolate using Equation (20).In the middle figure, we see their parametrizations -whereas the orange dashed curve has a uniform parametrization, the blue one is in a sense compressed in the beginning and then stretches out.When interpolating between those two parametrized curves, as seen in the second row, the resulting interpolation first contracts and then expands.In the right side figure in the first row, the lower curve has been reparametrized, using dynamic programming, to better match the two curves.This minimizes the distance between the two curves as discussed in the previous section, and the third row of figures shows the corresponding interpolating path.
In Figure 3, we see the results of applying the curve closing algorithm to an open curve in SO(3).We have plotted the results at different stages of the iterative algorithm to highlight the evolution of the closing process, i.e., how the curves iteratively move towards closedness.In this toy-example, we have chosen a

Reparametrized
No reparam.Interpolation between two curves in SO(3) with and without reparametrization.The curves shown here are the points traced out by the vector (1, 0, 0) T in R 3 when transformed along the curves in the Lie group.The top row shows the original curves, their parametrizations and a reparametrization performed to minimize the distance between the curves.The thick red curves in the second and third rows are points along the geodesic path between the two original curves, at times s ∈ {1/4, 1/2, 3/4}, from left to right.shows existing results from [6], where additional feature point information was used to guide the interpolation.The bottom row shows interpolation results for matching the SO(3) d animations without (on the left) and with (on the right) reparametrization.No additional feature point information was necessary for this method.(Note that the feature matching approach by design requires reparametrization.)small stepsize to better show the behaviour of the algorithm.In practice, just two to three iteration steps are typically enough to achieve a sufficient degree of closedness in the curve.

Motion interpolation
We now want to apply the interpolation method outlined earlier and demonstrated in the previous Section to entire motions of virtual characters.This means that instead of curves in SO(3), we are now dealing with curves in SO(3) d , with a copy of SO(3) for every joint in the animated character.The numerical methods as described in Section 5.1 stay the same however.
In Figure 4 we start with two original motions: One with the animated character stepping over a high obstacle and one with the character stepping over a low obstacle.We want to interpolate between those two motions, allowing us to let the character step over obstacles of arbitrary heights.This problem was already considered in [6], where it was found that the approach of parametrizing animations with Euler angles and then performing shape analysis [15] produced unsatisfactory results for these motions and had to be augmented with extra landmark information to achieve a realistic interpolation result.Here we find that, for this problem, the use of a Lie group formulation allows us to achieve similarly good results as in [6], but without the need for additional landmark information.Figure 4 shows results for the Lie group formulation once without and once with reparametrizations.Reparametrizations in the context of animations, also known as time warps [24], serve to align two animations on the time axis, i.e., they can speed up or slow down parts of an animation to match the motions more closely.We see that in this case, reparametrizations are necessary to achieve satisfying blending results.This is likely due to a slight phase shift in the beginning (compare the starting points of the trajectories on both original animations in Figure 4).
A natural extension of this scheme would be to interpolate between multiple animations.Among others, this could be useful for extended walking animations where combining multiple animations and varying the interpolation weights over time could help produce a large but consistent set of motions to avoid repetitive visual elements.This could for example be accomplished by formulating this animation blending problem as a Karcher mean ( [42,43]) of multiple animation curves.We will consider such a scheme in future work.

Periodic motions
As a second practical application, we will now look at two examples of how the curve closing algorithm can be applied to motion data to create periodic animations.A similar scheme was developed in [15], but based on an Euler angle parametrization for the character joints.For animations exhibiting a large range of motions such as rolls and flips, this can result in highly degenerate results with characters seemingly just floating in the air.The Lie group based algorithm developed in Section 4 exhibits much stronger stability to such outliers.
In Figure 5, we start with a handspring motion that we repeat three times.The plotted curve in the figure shows the trajectory of the right foot of the character.Following this trajectory in the upper part of the figure, we can see a discontinuity in the foot position when the animation repeats.The problem is that the start and end poses of the animation are too different, which results in a noticeable jerk when we repeat the handspring.Note that while this gap may seem small in the static picture, it is much more noticeable when looking at the actual animation.Figure 6 shows the discontinuity in more detail.
On the bottom of Figure 5, we see the result of applying a few iterations of the curve closing method to the handspring animation.The discontinuity has been strongly reduced, while the rest of the motion has been preserved.The result is an aesthetically much more pleasing motion.Figure 7 shows another example of the animation closing method.In this case, the character performs a cartwheel, and the animation starts and ends in two very different poses, which causes a big discontinuity, particularly in the left hand, when the animation is repeated.The closing algorithm manages to close this gap to a large extent, while preserving the general appearance of the animation.Note that the gap could be closed further by running more iterations Original Discontinuities t Closed t Figure 5: Application of closing algorithm to a handspring animation.The motion is repeated twice.Note how, when repeating the original animation, the feet jump backwards to cover a gap between the first and last frame in the animation.In the bottom plot, the curve closing method has been used to remove this discontinuity.

Conclusion
In this article, we have formulated a shape analysis framework for curves on Lie groups based on the SRVT approach [42].This has allowed us to construct efficient algorithms to solve two very different problems in computer animation: Interpolating between animations and generating cyclic animations.Potential further applications include classification and search of animations.
Future work in this area could involve both joint-wise constraints (e.g., knees are not allowed to bend backwards) as well as blending of multiple animations using a Karcher mean approach, as described in Section 5.3.Also, investigating higher order continuity in the curve closing algorithm could lead to improved practical results.
Original t Closed t Figure 7: Application of closing algorithm to a cartwheel animation.Note that large different between start and end poses, on the right and the left respectively.The motion is repeated once and suffers from a strong jerk when it repeats, especially in the left hand.In the second row, the curve closing method has been used to alleviate this discontinuity.The remaining gap could be closed further using additional iterations of the closing algorithm, but this eventually introduces visual artifacts, with the left hand sliding on the ground during the cartwheel.

A Detailed proofs for Section 3
A.1 Proof of Proposition 3.14 In Proposition 3.14 a formula for the tangent map of the right-logarithmic derivative was given.For the readers convenience we repeat the formulation of the proposition now.
Finally, let us write out the above formula for T c δ r in the case that G is a linear Lie group: Remark A.1 (Proposition 3.14 for linear Lie groups).Let G be a (finitedimensional) linear Lie group, c : where products are matrix products and the Lie bracket is the commutator bracket.
Proof of Proposition 3.14.Recall from [27, 38.1 Lemma] the product rule for the logarithmic derivative: γ(ε, t) = v(t).Then the tangent map of δ r can be computed as follows: A.2 Proof of Theorem 3.16 The aim of this section is to prove Theorem 3.16.Before we do this, we need the following auxiliary result.
Lemma A.2. Let H be a Hilbert space with dim H > 2 and S H := {v ∈ H | v = 1} its unit sphere.For i = 1, 2 fix smooth curves u i : I → S H on a compact interval I. 9 Then there is an open subset O ⊆ S H which contains the image of u 1 and u 2 together with a diffeomorphism Φ : O → V to a vector space V with dim V > 1.
Proof.We have to distinguish two cases: Case 1: 2 <dim H < ∞.Since I is an interval and dim S H = d > 1, Sards Theorem (see [32, XVI, §1 Theorem 1.4]) implies that the smooth curves u 1 , u 2 : I → S H are not surjective.Hence we can pick x ∈ S H such that x ∈ u 1 (I) ∪ u 2 (I).Set O = S H \ {x} and let Φ : O → R d be the stereographic projection through x.Then Φ is a diffeomorphism as needed.
Case 2: H is infinite-dimensional.As H is an infinite-dimensional Hilbert space, it is well known (cf.[13]) that S H is diffeomorphic to H itself. Hence set O = S H and let Φ : O → H be the diffeomorphism constructed in ibid.
Notice that the proof of Theorem 3.16 below does not generalise to the case dim g = 2.
Theorem If dim g > 2 then the geodesic distance of C ∞ (I, g \ {0}) is globally given by the L 2 -distance.
We have to make sure that both distances coincide even if the minimizing geodesic c q1,q2 (s) = (1 − s)q 1 + sq 2 in C ∞ (I, g) is not contained in C ∞ (I, g \ {0}).Obviously, the minimizing geodesic is not contained in C ∞ (I, g \ {0}) if there are s, t such that c q1,q2 (s)(t) = 0.Such (s, t) can exist if and only if q1(t) q1(t) = − q2(t) q2(t) .Our aim is now to find a smooth perturbation of u 1 which is arbitrarily close to u 1 (with respect to the L 2 -norm) such that the linear paths c v1,q1 (s) = sv 1 + (1 − s)q 1 and c v1,q2 (s) = sv 1 + (1 − s)q 2 are contained in C ∞ (I, g \ {0}).We split the problem into two distinct steps: Step 1: Construct a perturbation v 1 of q 1 such that c v1,q2 is in C ∞ (I, g\{0}).Set u 1 := q1 q1 and u 2 := − q2 q2 to obtain maps which take their image in the unit sphere S g = {v ∈ g | v = 1}.Since g is a Hilbert space the unit sphere S g is a closed submanifold of g (cf.[32, p. 29 Example]) and we see that u i ∈ C ∞ (I, S g ) for i = 1, 2. Now it suffices to construct a smooth perturbation ṽ : I → S g of u 1 such that ṽ(t) = u 2 (t) for all t ∈ I.By Lemma A.2, there is an open set O ⊆ S g which contains the images of u 1 and u 2 together with a diffeomorphism Φ : O → V to some vector space V with dimV > 1.Consider now the smooth curve w 1 = Φ • u 1 − Φ • u 2 : I → V .Since dim V > 1 we can clearly construct a smooth mapping w : for some arbitrary but fixed δ > 0 (the control δ will be needed in Step 2 below).Then ṽ := Φ −1 • ( w + Φ • u 2 ) : I → S g is smooth, and satisfies ṽ(t) = u 2 (t) for all t ∈ I (since Φ(ṽ) = w(t) + Φ • u 2 (t) = Φ • u 2 (t)).Define v 1 (t) := ṽ(t) • q 1 (t) to obtain a smooth map such that c v1,q2 (s) = sv 1 + (1 − s)u 2 is a path in C ∞ (I, g \ {0}).
Summing up, we have seen that we can always construct a smooth perturbation v 1 of q 1 such that the linear paths c v1,q1 and c v1,q2 are contained in C ∞ (I, g \ {0}).Moreover, for ε > 0 the estimates in Step 2 show that we can choose δ r > δ > 0 such that the left hand side of ( 23) is smaller than ε.Hence for each ε > 0 we can choose a smooth map v ε 1 such that d L 2 (v ε 1 , q 1 ) < ε.In particular, v ε 1 converges to q 1 with respect to the L 2 -distance.Then the geodesic distance satisfies Thus the geodesic distance of C ∞ (I, g \ {0}) coincides with the L 2 -distance.
Proof of the claim: θ is continuous.Recall that the topology on C(I, V ) induced by • ∞ coincides with the compact open topology.Hence [14,Theorem 3.4.2]shows that the map γ Φ : C(I, V ) → C(I, S g ), f → Φ −1 • f is continuous as Φ −1 is continuous.Further, C ∞ (I, V ) with the above topology is a Banach space, whence h : C(I, V ) → C(I, S g ), f → γ Φ • (f + Φ • u 1 ) is continuous.Now as q 1 f ∞ ≤ q 1 ∞ f ∞ we deduce that n q1 : C(I, S g ) → C(I, g \ {0}), f → q 1 f is continuous.In conclusion, θ = n q1 • h is continuous.

Figure 1 :
Figure 1: Surface mesh depicting a human character with underlying skeleton.Only bones with a degree of freedom are shown, i.e., for example the hips are not visible in the skeleton and the legs appear at an offset from the character's center.
address now the problem of projecting open curves of C o onto the submanifold of closed curves C c .In theory, we could define a projection from C o onto C c by stating a constrained minimization problem min q∈C c 1 2

Figure 2 :
Figure 2:Interpolation between two curves in SO(3) with and without reparametrization.The curves shown here are the points traced out by the vector (1, 0, 0) T in R 3 when transformed along the curves in the Lie group.The top row shows the original curves, their parametrizations and a reparametrization performed to minimize the distance between the curves.The thick red curves in the second and third rows are points along the geodesic path between the two original curves, at times s ∈ {1/4, 1/2, 3/4}, from left to right.

Figure 3 :Figure 4 :
Figure 3: Application of the closing algorithm to a single curve in SO(3).The two curves shown here are the points traced out by the vectors (1, 0, 0) T and (0, 1, 0) T in R 3 when transformed along the curve in the Lie group.The top left figure shows the open starting curve, whereas the remaining panels show the evolution of the closing algorithm.In the last panel, the original curves are superimposed as dashed lines to show the deviations caused by the closing method.Note that for visualization purposes, a small stepsize was chosen, resulting in more iterations than would otherwise be necessary to achieve a satisfying accuracy.

Figure 6 :
Figure 6: A closer look at the discontinuities in the handspring animation of Figure 5.The (blue) left half of both figures shows the last few animation sampling points of the animation, the (orange) right half shows the first few sampling points when the animation is repeated.To avoid cluttering the figure, only the left half of the skeleton has been plotted.