0% found this document useful (0 votes)
9 views

Mathematical-Basics-of-Motion-and-Deformation-in-Computer-Graphics-Second-Edition

Uploaded by

tarik Rym
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Mathematical-Basics-of-Motion-and-Deformation-in-Computer-Graphics-Second-Edition

Uploaded by

tarik Rym
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 82

Mathematical Basics of

Motion and Deformation


in Computer Graphics
Second Edition

Ken Anjyo
OLM Digital, Inc.

Hiroyuki Ochiai
Kyushu University

SYNTHESIS LECTURES ON VISUAL COMPUTING: COMPUTER


GRAPHICS, ANIMATION, COMPUTATIONAL PHOTOGRAPHY, AND
IMAGING #27

M
&C Morgan & cLaypool publishers
Copyright © 2017 by Morgan & Claypool

Mathematical Basics of Motion and Deformation in Computer Graphics: Second Edition


Ken Anjyo and Hiroyuki Ochiai
www.morganclaypool.com

ISBN: 9781627056977 paperback


ISBN: 9781627059848 ebook

DOI 10.2200/S00766ED1V01Y201704VCP027

A Publication in the Morgan & Claypool Publishers series


SYNTHESIS LECTURES ON VISUAL COMPUTING: COMPUTER GRAPHICS, ANIMATION,
COMPUTATIONAL PHOTOGRAPHY, AND IMAGING

Lecture #27
Series Editor: Brian A. Barsky, University of California, Berkeley
Series ISSN
Print 2469-4215 Electronic 2469-4223
ABSTRACT
is synthesis lecture presents an intuitive introduction to the mathematics of motion and defor-
mation in computer graphics. Starting with familiar concepts in graphics, such as Euler angles,
quaternions, and affine transformations, we illustrate that a mathematical theory behind these
concepts enables us to develop the techniques for efficient/effective creation of computer anima-
tion.
is book, therefore, serves as a good guidepost to mathematics (differential geometry and
Lie theory) for students of geometric modeling and animation in computer graphics. Experienced
developers and researchers will also benefit from this book, since it gives a comprehensive overview
of mathematical approaches that are particularly useful in character modeling, deformation, and
animation.

KEYWORDS
motion, deformation, quaternion, Lie group, Lie algebra
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Preface to the Second Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Symbols and Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Rigid Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 2D Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 2D Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 2D Rigid Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 2D Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 3D Rotation: Axis-angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 3D Rotation: Euler Angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 3D Rotation: Quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.8 Dual Quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Using Complex Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.10 Dual Complex Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.11 Homogeneous Expression of Rigid Transformations . . . . . . . . . . . . . . . . . . . . . 19

3 Affine Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1 Several Classes of Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Semidirect Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 Decomposition of the Set of Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.1 Polar Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2 Diagonalization of Positive Definite Symmetric Matrix . . . . . . . . . . . . . 27
3.3.3 Singular Value Decomposition (SVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Exponential and Logarithm of Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


4.1 Definitions and Basic Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Lie Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Exponential Map from Lie Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4 Another Definition of Lie Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Lie Algebra and Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6 Loss of Continuity: Singularities of the Exponential Map . . . . . . . . . . . . . . . . . 38
4.7 e Field of Blending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 2D Affine Transformation between Two Triangles . . . . . . . . . . . . . . . . . . . . . . . 41


5.1 Triangles and an Affine Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Comparison of ree Interpolation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6 Global 2D Shape Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


6.1 Local to Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.3 Error Function for Global Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4 Examples of Local Error Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.5 Examples of Constraint Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7 Parametrizing 3D Positive Affine Transformations . . . . . . . . . . . . . . . . . . . . . . . 53


7.1 e Parametrization Map and its Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Deformer Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.3 Integrating with Poisson Mesh Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.3.1 e Poisson Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.3.2 Harmonic Guidance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.3.3 e Parametrization Map for Poisson Mesh Editing . . . . . . . . . . . . . . . . 60

8 Further Readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

A Formula Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1 Several Versions of Rodrigues Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.2 Rodrigues Type Formula for Motion Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
A.3 Proof of the Energy Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Preface
In the computer graphics community, many technical terms, such as Euler angle, quaternion, and
affine transformation, are fundamental and quite familiar words, and have a pure mathematical
background. While we usually do not have to care about the deep mathematics, the graphical
meaning of such basic terminology is sometimes slightly different from the original mathematical
entities. is might cause misunderstanding or misuse of the mathematical techniques. Or, if we
have just a bit more curiosity about pure mathematics relevant to computer graphics, it should be
easier for us to explore a new possibility of mathematics in developing a new graphics technique
or tool.
is volume thus presents an intuitive introduction to several mathematical basics that are
quite useful for various aspects of computer graphics, focusing on the fundamental procedures for
deformation and animation of geometric objects, and curve/surface editing. e objective of this
book, then, is to fill the gap between the original mathematical concepts and the practical mean-
ings in computer graphics without assuming any prior knowledge of pure mathematics. We then
restrict ourselves to the mathematics for matrices, while we know there are so many other math-
ematical approaches far beyond matrices in our graphics community. ough this book limits
the topics to matrices, we hope you can easily understand and realize the power of mathemati-
cal approaches. In addition, this book demonstrates our ongoing work, which benefits from the
mathematical formulation we develop in this book.
is book is an extension of our early work that was given as SIGGRAPH Asia 2013 and
SIGGRAPH 2014 courses. e exposition developed in this book has greatly benefited from
the advice, discussions, and feedback of a lot of people. e authors are very much grateful to
Shizuo Kaji at Yamaguchi University and J.P. Lewis at Victoria University of Wellington, who
read a draft of this book and gave many invaluable ideas. e discussions and feedback from the
audience at the SIGGRAPH courses are also very much appreciated. Many thanks also go to
Gengdai Liu and Alexandre Derouet-Jourdan at OLM Digital for their help in making several
animation examples included in this book.
is work was partially supported by Core Research for Evolutional Science and Technol-
ogy (CREST) program “Mathematics for Computer Graphics” of Japan Science and Technology
Agency ( JST). Many thanks especially to Yasumasa Nishiura at Tohoku University and Masato
Wakayama at Institute of Mathematics for Industry, who gave long-term support to the authors.
e authors wish to thank Ayumi Kimura for the constructive comments and suggestions
made during the writing of this volume. anks also go to Yume Kurihara for the cute illustrations.
Last, but not least, the authors are immensely grateful to Brian Barsky, the editor of the Synthesis
Lectures on Compute Graphics and Animarion series, and Mike Morgan at Morgan & Claypool
Publishers for giving the authors such an invaluable chance to publish this book in the series.

Ken Anjyo and Hiroyuki Ochiai


October 2014
Preface to the Second Edition
In this edition, we added an appendix where we derive several formulas for 3D rotation and de-
formation. We also incorporated a number of references, particularly relating to our SIGGRAPH
2016 course and its accompanying video. ese additions will help readers to better understand
the basic ideas developed in this book. We also resolved the mathematical notation inconsistency
from the first edition, which makes this book more easily accessible.
We would like to thank the graduate students at Kyushu University who carefully went
through the book with the second author in his seminar. Finally, we are very grateful to Ayumi
Kimura who worked with us for the SIGGRAPH 2016 course and helped significantly with the
editing of the second edition.

Ken Anjyo and Hiroyuki Ochiai


April 2017
Symbols and Notation
Tb translation, 5
R 2D rotation matrix, 6
SO.2/ 2D rotation group (special orthogonal group), 7
M.n; R/ the set of square matrices of size n with real entries, 7
I; In the identity matrix of size n, 7, 11, 30,
AT transpose of a matrix A, 7
SE.2/ 2D motion group (the set of non-flip rigid transformations), 8
O.2/ 2D orthogonal group, 9
SO.n/ special orthogonal group, 10
O.n/ orthogonal group, 10
SO.3/ 3D rotation group, 11
Rx ./ 3D axis rotations, 11
H the set of quaternions, 3, 13
q conjugate of a quaternion, 13
Re.q/ real part of a quaternion, 14
Im.q/ imaginary part of a quaternion, 14
Im H the set of imaginary quaternions, 14
jqj the absolute value of a quaternion, 14
S3 the set of unit quaternions, 15
exp exponential map, 16, 29
slerp.q0 ; q1 ; t / spherical linear interpolation, 16
" dual number, 16
M.2; H/ the set of square matrices of size 2 with entries in H, 16
CL the set of anti-commutative dual complex numbers (DCN), 18
E.n/ rigid transformation group, 19
SE.n/ n-dimensional motion group, 20
GL.n/ general linear group, 23
Aff.n/ affine transformations group, 23
GLC .n/ general linear group with positive determinants, 23
AffC .n/ the set of orientation-preserving affine transformations, 23
Ë semi-direct product, 25
SymC .n/ the set of positive definite symmetric matrices, 26
DiagC .n/ the set of diagonal matrices with positive diagonal entries, 27
SVD Singular Value Decomposition, 28
exp.A/ exponential of a square matrix, 29
C the set of non-zero complex numbers, 31
gl.n/ Lie algebra of GL.n/, 33
so.n/ Lie algebra of SO.n/, 33
sl.n/ Lie algebra of SL.n/, 33
aff.n/ Lie algebra of Aff.n/, 34
se.n/ Lie algebra of SE.n/, 34
ŒA; B Lie bracket, 34
Jx ; Jy ; Jz basis of so.3/, 37
log logarithmic map (logarithm), 31, 42
AL ; AP ; AE interpolant, 42
EP ; EF ; ES ; ER error functions, 49
kkF Frobenius norm of a matrix, 49
se.3/ Lie algebra of SE.3/, 53
sym.3/ the set of symmetric matrices of size three, 53
; map between AffC .3/ and a vector space, 53
 embedding M.3; R/ ! M.4; R/, 54
RO , XO element of SE.3/ and se.3/, 54
r gradient, 58
 Laplacian, 58
div divergence, 58
@ boundary, 58
CHAPTER 1

Introduction
ORGANIZATION
In the latter half of this chapter we give a very rough sketch of several mathematical concepts that
will reappear throughout this book.
In Chapters 2 and 3, we describe rigid and non-rigid transformations, while explaining the
basic definitions regarding the matrix group. We thereafter show that Lie theoretic framework
gives us comprehensive understanding of affine transformations, quaternions, and dual quater-
nions in Chapters 4 and 5. e Lie theoretic approach is also successfully applied to parametriza-
tion issues in Chapters 6 and 7, where we provide several useful recipes for rigid motion descrip-
tion and global deformation, along with our recent work. Finally in Chapter 8, we show a list
of further readings, suggesting the power of mathematical approaches in graphics far beyond the
present volume.
Here are a few additional notes that make this book easy to read and more enjoyable. First
there are several colored columns in this book, which give brief, interesting stories of mathemati-
cians or deeper explanations of the mathematical concepts in the body text. You may skip them
at the first reading, but they will give you good guidance for your further study. Second, in this
book, a point in Euclidean space is given as a row vector, whereas many geometric transformations
are described with matrices. e action of a matrix to a vector then means multiplication from
the left. As you may know, OpenGL takes the same manner of matrix multiplication, whereas
DirectX does not.

A FEW MATHEMATICAL CONCEPTS


In this section, we therefore take a brief look at the original mathematical concepts related with
matrices. ese will be useful when we reuse or extend the basic ideas behind those concepts that
are usually not well described in the computer graphics literature.
However, except the concept of group, we won’t mention their rigorous definitions in math-
ematics. Rather we would like to describe the crude introduction of the mathematical concepts
that are important even in computer graphics. A bit more precise definitions of them may also
be given in later chapters. It would, however, be more important to think of why those math-
ematical concepts are useful in our graphics context, rather than learning deeply their rigorous
mathematical entities.
2 1. INTRODUCTION
GROUP
Let G be a set associated with an operation “”. If the pair .G; / satisfies the fol-
y lowing properties, then it is called a group. Or we would call G itself a group:
1. For any a; b 2 G , the result of the operation, denoted by a  b , also belongs
to G .
x
2. For any a; b and c 2 G , we have a  .b  c/ D .a  b/  c .
3. ere exists an element e 2 G , such that e  a D a  e D a, for any element
a 2 G . (e element is then called the identity of G ).

4. For each a 2 G , there exists an element b 2 G such that a  b D b  a D e ,


where e is the identity. (e element b is then called the inverse of a.)
As usual, R and C denote the set of all real numbers and the set of all complex numbers, re-
spectively. R or C is then a group with addition (i.e., the operation “” simply means C), and
called commutative, since a C b D b C a holds for any element a; b of R or C . In the following
sections, we’ll see many groups of matrices. For example, the set of all invertible square matrices
constitutes a group with composition as its group operation. e group consisting of the invertible
matrices with size n is called the general linear group of order n, and will be denoted by GL.n; R/
or GL.n; C/.

LIE GROUP AND LIE ALGEBRA


A Lie group is defined to be a smooth manifold with a group structure. But we
never mind what is a manifold (i.e., locally it is diffeomorphic to n-dimensional
open disk). In applications, a matrix group, that is, a group consisting of matrices,
like GL.n; R/ for instance, are enough to be considered as a Lie group. e totality
of quaternions of unit length constitutes another Lie group. Although there is a
general definition of Lie algebra, in this book we restrict ourselves to consider the
Lie algebra associated with a Lie group. We then define the Lie algebra as a tangent space at the
identity of the Lie group. In this sense, the Lie algebra can be considered as a linear approximation
of the Lie group, which will be more explicitly described for the matrix groups in the following
chapters.
3
QUATERNION
e original definition of quaternion by William Hamilton seems a bit different
from the one we use in graphics. In 1835 he justified calculation for complex num-
x
θ bers x C iy as those for ordered pairs of two real numbers .x; y/. As is well known,
R(x) complex numbers can express 2D rotations. is motivates many mathematicians
u to find a generalization of numbers which can describe 3D rotations. In 1843 he
finally discovered it, referring to the totality of those numbers as quaternions. In
this book, the set of quaternions is denoted by H, and expressed as H D R C Ri C Rj C Rk ,
where we introduce the three numbers i; j and k satisfying the following rules:

i 2 D j 2 D k2 D 1
ij D j i D k:

H is then called an algebra or field (see [Ebbinghaus1991] for more details). We also note that, as
shown in the above rules, it is not commutative. A few more alternative definitions of quaternions
will also be given later for our graphics applications. In particular we’ll see how 3D rotations can
be represented with quaternions of unit length.

DUAL QUATERNION
In 1873, as a further generalization of quaternions, William K. Clifford obtained
the concept called biquaternions, which is now known as a Clifford algebra. e
concept of dual quaternions, which is another Clifford algebra, was also introduced
in the late 19th century. A dual quaternion can be represented with q D q0 C q" ",
where q0 ; q" 2 H and " is the dual unit (i.e., " commutes with every element of the
algebra, while satisfying "2 D 0). We’ll see later how rigid transformations in 3D
space can be represented with dual quaternions of unit length.
CHAPTER 2

Rigid Transformation
In physics, a rigid body means as an object which preserves the distances between any two points
of it with or without external forces over time. So describing rigid transformation (or rigid motion)
means finding the non-flip congruence transformations parametrized over time. For a rigid body
X , an animation (or a motion) X.t / indexed by a time parameter t can be described by a series of
rigid transformations S.t / with X.t / D S.t /X.0/, instead of dealing with the positions of all the
particles consisting of X . In the following sections, a non-flip congruence transformation may
also be called a rigid transformation. e totality of the non-flip rigid transformations constitutes
a group, which will be denoted by SE.n/, where n is the dimension of the world where rigid bodies
live (n D 2 or 3). So let’s start with 2D translation, a typical rigid transformation in R2 .

2.1 2D TRANSLATION
A translation Tb by a vector b 2 R2 gives a rigid transformation in 2D. e composition of two
translations and the inverse of a translation, which is denoted by Tb 1 , are also translations:
1
Tb  Tb 0 D TbCb 0 ; Tb DT b:

is can be rephrased as the totality of translations forms a group (recall Chapter 1). Moreover,
they satisfy also
Tb  Tb 0 D Tb 0  Tb :
is means that the totality of translations forms a commutative group. is property is illustrated
in Figure 2.1. A commutative group is also called abelian group named after Niels Abel. e
totality of 2D translations are denoted by R2 , as is the two-dimensional vector space.
6 2. RIGID TRANSFORMATION

y y
Tb′

Tb • Tb′ Tb
Tb Tb′ • Tb

Tb′

x x

Figure 2.1: Example of groups—commutative group.

Niels Henrik Abel (1802–1829)


Norway mathematician. In his 28-year life, he gave a lot of
important insight, which now has become a mathematical no-
tion, such as Abelian groups, Abelian integral, Abelian functions,
named after him. Also, the Abel prize was founded in 2002, the
two-hundredth anniversary of Abel’s birth. is prize is awarded
to one or few outstanding mathematicians each year with six mil-
lion kroner (approx. one million dollars).

2.2 2D ROTATION
A rotation in 2D centered at the origin (illustrated as in Figure 2.2) is then expressed by a matrix
 
cos  sin 
R D : (2.1)
sin  cos 

Note that the angle  2 R is not uniquely determined. To be more precise, two matrices R and
R 0 give the same rotation if and only if   0 is an integer multiple of 2 . e compositions of
2.2. 2D ROTATION 7

Figure 2.2: 2D rotation.

two rotations and the inverse of a rotation are again rotations:

R R 0 D R C 0 ; R 1 D R :

Here R 1 denotes the inverse of R . e totality of the rotations in 2D forms a group (also recall
the definition of group in Chapter 1). It is denoted by

SO.2/ D fR j  2 Rg: (2.2)

We also write as
SO.2/ D fA 2 M.2; R/ j AAT D I; det A D 1g; (2.3)

where M.2; R/ is the set of square matrices of size two, I is the identity matrix, and det is the
determinant. e transpose¹ of a matrix A is denoted by AT . A matrix A 2 M.2; R/ is a rotation
matrix if and only if the column vectors u; v 2 R2 of A form an orthonormal basis and the orien-
tation from u to v is counter-clockwise. is means that a rotation matrix sends any orthonormal
basis with the positive orientation to some orthonormal basis with the positive orientation.
e result of the composition of several rotations in 2D is not affected by the order. is
fact comes from the commutativity; R R 0 D R 0 R . Note that this is never true for 3D or a
higher dimensional case.

¹ere are several manners to write a transpose of a matrix; At is rather popular but we will use [e.g., in Equation (5.2)] the
notation At to express the t -th power of a matrix A for a real number t , so that we want to avoid this conflict. Another choice
to write the transpose of a matrix A will be tA.
8 2. RIGID TRANSFORMATION
2.3 2D RIGID TRANSFORMATION
e translation Tb does not preserve the origin (unless b is a zero vector), so it cannot be natu-
rally expressed by a 2  2 matrix. A homogeneous expression² can express a translation Tb in 3  3
matrices: 0 1 0 1 0 01
1 0 b1 x x
@0 1 b2 A @y A D @y 0 A : (2.4)
0 0 1 1 1
A successive operation (illustrated in Figure 2.3) of a rotation R and a translation Tb maps
a column vector x D .x; y/T 2 R2 to Tb .R .x// D R x C b . In a homogeneous expression, it is
written as      0
R b x x
D : (2.5)
0 1 1 1

Figure 2.3: 2D rigid transformation.

Conversely, any orientation-preserving rigid transformation is uniquely written of this form


(2.5). We denote by SE.2/ the set of non-flip rigid transformations. en
  
R b 2
SE.2/ D 2 M.3; R/ j R 2 SO.2/; b 2 R : (2.6)
0 1

If we reverse the order of composition of a translation Tb and a rotation R , the result R Tb is


different from Tb R . To be more precise, we have

R Tb D Tb 0 R with b 0 D R .b/: (2.7)


²See also Section 2.11 for homogeneous expression.
2.4. 2D REFLECTION 9
Note that the rotation component R does not depend on the order of composition, while the
translation part Tb or Tb 0 does. is fact can be rephrased as the rigid transformation group in 2D
is the semi-direct product³ of the rotation group with the translation group, and can be denoted by
SE.2/ D SO.2/ Ë R2 for short. Note that Equation (2.7) can be written as

R Tb R  D Tb 0 : (2.8)

is property is rephrased as the group of translations is a normal⁴ subgroup of the rigid trans-
formation group, and it is denoted by R2 G SE.2/. In Section 2.2, we discuss rotations centered
at the origin. In general, the rotation with angle  centered at b 2 R2 can be expressed by

Tb R T b: (2.9)

is bears a resemblance to (2.8), but the role of rotations and translations are reversed.

2.4 2D REFLECTION
A reflection (flip) with respect to a line y D .tan  /x through the origin can be expressed as
   
1 0 cos 2 sin 2
R R D : (2.10)
0 1 sin 2 cos 2

A reflection is orientation-reversing transformation which preserves the shape. e determinant


of the matrix (2.10) is 1. e composition of two reflections is a rotation, and the resulting
rotation depends on the order of compositions of reflections:
  
cos 2 sin 2 cos 2 0 sin 2 0
D R2 2 0 : (2.11)
sin 2 cos 2 sin 2 0 cos 2 0

e totality of rotations and reflections form an orthogonal group of size two, which is de-
fined by
O.2/ D fA 2 M.2; R/ j AAT D I2 g: (2.12)
e totality of rotations has been denoted by

SO.2/ D fA 2 O.2/ j det.A/ D 1g: (2.13)

In the terminology in Section 3.2, SO.2/ is a normal subgroup of O.2/. Any reflection is not
considered to be a motion, since it cannot be continuously connected with the identity transfor-
mation. In other words, O.2/ is not connected while SO.2/ is connected. Note that a connected
component is like an island, illustrated in Figure 2.4. With this terminology, SO.2/ is a connected
component. It is known that any two 2D reflections are continuously connected. is means
³is notion is explained in Section 3.2.
⁴is terminology will be explained in Section 3.2.
10 2. RIGID TRANSFORMATION

Figure 2.4: Connected components.

that the set of 2D reflections is a different connected component of O.2/ from SO.2/. e same
holds for an arbitrary dimension n. at is, SO.n/ is connected, and O.n/ has two connected
components. e set of the elements of O.n/ whose determinants are 1 is the other connected
component of SO.n/. Moreover, for any two elements g; h 2 O.n/ with g; h … SO.n/, we have
gh 2 SO.n/. is fact is rephrased as the index of the subgroup SO.n/ in O.n/ is two, and denoted
by ŒO.n/ W SO.n/ D 2.

2.5 3D ROTATION: AXIS-ANGLE


So far, we have discussed 2D rotations and flips. We now consider 3D rotations.
Given a unit vector u 2 R3 and an angle  , the rotation with the axis u and the angle  is,
illustrated in Figure 2.5, given by

x 7! Rx D x0 D .cos  /x C .sin /.u  x/ C .1 cos  /.u  x/u: (2.14)

is is called Rodrigues’s rotation formula.

θ
x

R(x)

Figure 2.5: Axis angle representation.


2.6. 3D ROTATION: EULER ANGLE 11
Also in matrix notation
0 1
0 u3 u2
R D I C .sin  / @ u3 0 u1 A C .1 cos /.uuT I /: (2.15)
u2 u1 0
See Section A.1 for more detail on Rodrigues formulas.
If we choose an orthonormal basis fu; v ; wg of R3 with the right orientation, that is, w D
u  v , then

u0 D .cos  /u C .1 cos  /u D u; (2.16)


v0 D .cos  /v C .sin /.u  v / D .cos  /v C .sin /w; (2.17)
w0 D .cos  /w .sin  /v : (2.18)
e rotation (2.14) is expressed as
0 10 10 1
u1 v1 w1 1 0 0 u1 u2 u3
R D @u2 v2 w2 A @0 cos  sin  A @ v1 v2 v3 A : (2.19)
u3 v3 w3 0 sin  cos  w1 w2 w3
Every 3D rotation turns out to be an element of special orthogonal group defined by
SO.3/ D fR 2 M.3; R/ j RRT D I3 ; det.R/ D 1g; (2.20)
where In denotes the identity matrix of size n. e converse is also true. In other words, every
special orthogonal transformation in 3D is a rotation. (is fact is true only in 2D and 3D, and
is never true for 4D or higher dimensions. at is, for n > 3, most of elements in SO.n/ have no
rotation axis.) By this expression (2.20), the composition of two rotations is also a rotation. Along
with the fact that the inverse of a rotation is also a rotation, we can say that the set of rotations is
a group.
Note that two 3D rotations are not necessarily commutative, i.e., their compositions depend
on the order of operations. For example, the successive operation of the rotation with respect to x -
axis with angle =6 and that with respect to z -axis with angle =4 is different from their reversed
ordered compositions (see Figure 2.6).

2.6 3D ROTATION: EULER ANGLE


e second method to express 3D rotations is so-called Euler angle. Any 3D rotation is a com-
position of three successive rotations along the coordinate axes:
Rz .3 /Ry .2 /Rx .1 /
0 10 10 1
cos 3 sin 3 0 cos 2 0 sin 2 1 0 0
D @ sin 3 cos 3 0A @ 0 1 0 A @0 cos 1 sin 1 A : (2.21)
0 0 1 sin 2 0 cos 2 0 sin 1 cos 1
12 2. RIGID TRANSFORMATION

Figure 2.6: Rx . 6 / and Rz . 4 / are not commutative.

Each of the rotation matrices in the right-hand side can essentially be understood as a 2D rotation
matrix, so that this method regards a 3D rotation as a composition of several (three) 2D rotations.
is method respects the axis, so is not free from the choice of coordinates.
We have several versions of Euler angle representation. Here we employ successive xyz-
rotations, but we may have six variations of three letters such as yxz, zxy, etc., as well as six vari-
ations of two letters such as xyx, xzx, etc. ese variations look different, but are essentially the
same. Within each class, we only need to exchange the name of coordinates. Between the classes,
for example, the relations between xyz-Euler angle and xyx-Euler angle representations are given
explicitly as follows. e identity
 
Rz ./Ry . / D Ry . /Rx . /
2 2
implies the formula
 
Rz .3 /Ry .2 /Rx .1 / D Ry . /Rx . 3 /Ry .2 /Rx .1 /: (2.22)
2 2
We understand this formula as follows: given a 3D rotation matrix with the xyz-Euler angle
.1 ; 2 ; 3 /, move by rotation Ry . 2 /, then we obtain another rotation matrix with the xyx-Euler
angle .1 ; 2 2 ; 3 /.
Every 3D rotation can be expressed by an Euler angle representation. Consider the xyx-
Euler angle representation of a z -rotation
Rx .3 /Ry .2 /Rx .1 / D Rz . /: (2.23)
en, for 0 < j j <  , we see that the solutions of this Equation (2.23) are .1 ; 2 ; 3 / D
˙. =2; ; =2/. is means that even if  is close to zero, the angles 1 and 3 are far from zero,
so that if we move  continuously through zero, then its Euler angle .1 ; 2 ; 3 / may change dis-
continuously. Another intuitive explanation is that if we put 2 D 0 in (2.23), then the left-hand
2.7. 3D ROTATION: QUATERNION 13
side becomes Rx .3 C 1 /, so that only one-dimensional freedom remains though we expect two-
parameter family. ese phenomena are known as Gimbal lock, which is a demerit of this method.
See [Ebbinghaus1991].

2.7 3D ROTATION: QUATERNION


Several Equivalent Definitions of Quaternions
Some deficiency of Euler angle is relaxed by using quaternions. We now here briefly recall
the quaternions. For more detail, see the references [Shoemake1985, Watt1992, Hanson2006,
Vince2011]. ere are several ways of expressing quaternions:

(i) H D R C Ri C Rj C Rk , the real 4-dimensional vector space with the muliplication law
i 2 D j 2 D k 2 D 1; ij D k D ji; jk D i D kj; ki D j D ki.

(ii) e set of the real matrices of the form


0 1
a b c d
Bb a d c C
B C: (2.24)
@c d a bA
d c b a

(iii) e set of pairs .s; q/ of real numbers s and real three-dimensional vectors q 2 R3 .

e relation between (i), (ii), and (iii) are given by a C bi C cj C dk D sq. Each of these realiza-
tions has some advantage and disadvantage. For example, in the picture (iii) the multiplication
rule is inherited from the matrix multiplication, so that the associative law q.q 0 q 00 / D .qq0 /q 00 is
obvious, while in the picture (i) the multiplication rule is defined as ij D k , so that the associative
law is non-trivial and to be examined (though it is easy and straightforward). e realization (iii)
is most directly related with the description of 3D motion (e.g., 3D rotation by unit quaternion).
In Section 2.9, we give two other equivalent definitions of quaternions. It should be emphasized
that these five realizations are equivalent. We can choose and use an appropriate way according
to each purpose from these equivalent realizations in order to understand, prove some formu-
lae, and/or improve, make a code, etc. e notion of quaternions is a generalization of complex
numbers. Most significant difference is the non-commutativity qq0 ¤ q 0 q , in general. However,
quaternions share many nice properties, for example, quaternions form a ring (i.e., addition, mul-
tiplication), a vector space (i.e., multiplication by a real number), a field (i.e., every non-zero
element has its inverse).

Unit Quaternions
e conjugate of a quaternion is defined by a C bi C cj C dk D a bi cj dk 2 R C Ri C
Rj C Rk D H. e real part of q D a C bi C cj C dk is defined by a and denoted by Re.q/.
14 2. RIGID TRANSFORMATION
e imaginary part of q D a C bi C cj C dk is defined by bi C cj C dk and denoted by Im.q/.
We have a formula⁵
1 1
Re.q/ D .q C q/; N Im.q/ D .q q/: N
2 2
A quaternion is called imaginary if its real part is zero. e totality of imaginary quaternions is
denoted by
Im H D fbi C cj C dk j b; c; d 2 Rg:
p p
e absolute value is denoted by jqj D qq D a2 C b 2 C c 2 C d 2 for q D a C bi C cj C dk.
e set of unit quaternions
S3 D fq 2 H j jqj D 1g (2.25)
is a group by a multiplication. (Note that there are several notations on the set of unit quaternions.
Another notation is Sp.1/, the compact symplectic group of rank one.) Any unit quaternion is of
the form
 
q D cos C .sin /u; (2.26)
2 2
where u is a unit imaginary quaternion and a  2 R. e multiplication p 7! qpq 1 D qpq gives
an action of a unit quaternion q on H.

What is an action?
For a group G and a set X , a map G  X ! X is called an action if it satisfies a variation
of the associative law .gh/x D g.hx/ for g; h 2 G and x 2 X with an auxiliary condition
1x D x for all x 2 X , where 1 is the identity element of the group G . We can simply say
that G acts on X when the map G  X ! X is obvious from the context. For example,
when G D SO.2/ and X D R2 , the usual multiplication of a matrix and a vector gives
an action of G on X .
.

is action preserves the imaginary quaternions


Im H D fbi C cj C dk j b; c; d 2 Rg: (2.27)
To be more explicit,
1
qpq D .cos  /p C .sin /u  p C .1 cos /.u  p/u; (2.28)
which is equal to Rodrigues’s Formula (2.14). We obtain a surjective group homomorphism. In
general, for two groups G and H , a map  W G ! H is called a group homomorphism if it sat-
isfies .gh/ D .g/.h/ for all g; h 2 G . is surjectivity means that every 3D rotation can be
⁵is is similar to the case of complex numbers, but not the same. In fact, for a complex number, the imaginary part is defined
1
to be Im.z/ D 2i .z z/N .
2.7. 3D ROTATION: QUATERNION 15
expressed by a unit quaternion, and the product of two unit quaternions expresses the composition
of two rotations corresponding to these unit quaternions:
S3 ! SO.3/: (2.29)
is group homomorphism is illustrated in Figure 2.7. Imagine a point in SO.3/ and the cor-
responding point in H is moving. When a point in SO.3/ travels once, then the corresponding
point in H does twice.

S3 SO(3)

Figure 2.7: Unit quaternion vs. rotation.

e transformation q 7! qpq 1 is the identity transformation if and only if q D ˙1. is


situation can be expressed as a group isomorphism

S3 =f˙1g ! SO.3/: (2.30)
is simply means that the rotation group SO.3/ can be identified with the group of unit quater-
nions with ˙1.
We give a meaning of (2.26) and its application to an interpolation by the exponential
map. (A comprehensive treatment of exponential maps will be discussed later in Chapter 4.) e
16 2. RIGID TRANSFORMATION
exponential map gives the surjective map

exp W Im H 3  u 7! cos  C .sin  /u 2 S3 : (2.31)

For given q0 ; q1 2 S3 , the spherical linear interpolation is given by


sin..1 t/ / sin.t  /
slerp.q0 ; q1 ; t / D q0 C q1 ; (2.32)
sin  sin 
where  is given by the inner product q0  q1 D cos  . is expression is explicit and fast, but does
not explain why. Slerp satisfies

slerp.q0 ; q1 ; t / D slerp.1; q1 q0 1 ; t /q0 ; (2.33)


slerp.1; exp. u/; t / D exp.t u/; (2.34)

reminding us that q0  q1 D cos  is equivalent to Re.q1 q0 1 / D cos  , and is equivalent to


q1 q0 1 D cos  C .sin /u with some unit imaginary quaternion u. ese two properties give a
characterization of “slerp.” e first equality is understood as an invariance under the right trans-
lation. e second equality is understood so that the interpolation t 7! t u is chosen to be a
linear interpolation of zero and  u in Im H. e Equations (2.31) and (2.34) can be illustrated
in Figure 2.8.

SO(3) S3 ImH
log
linear
slerp
interpolation

SO(3) S3 ImH
exp

Figure 2.8: Slerp and log-exponential map.

2.8 DUAL QUATERNION


For a set R of numbers, its dual is defined to be R C R" with the rules "2 D 0 and "a D a"
for a 2 R. is idea can be applied for R D H successfully describing the 3D rigid transforma-
tions, that is, rotations and translations. As are quaternions, several equivalent realizations of dual
quaternions is useful.
(i) H C H" with "2 D 0.
 
z w
(ii) A subalgebra of M.2; H/, consisting of matrices of the form .
0 z
2.9. USING COMPLEX NUMBERS 17
We define a dual quaternion z C w" to be a unit dual quaternion if jzj D 1 and hz; wi D 0, where
h; i denotes the usual inner product on R4 D H. For example, every unit quaternion is a unit
dual quaternion, and an element of the form 1 C w" with w 2 Im H is a unit dual quaternion.
Conversely, every unit dual quaternion is written uniquely as a product of a unit quaternion z
and a unit dual quaternion of the form 1 C w" with w 2 Im H. We identify a vector .x; y; z/T 2
R3 with the dual quaternion 1 C .xi C yj C zk/" 2 H C H". en, we define an action of a unit
quaternion q D z C w" on p D 1 C .xi C yj C zk/ by qpq  , where q  D z w". e action of
unit quaternion z expresses a rotation in 3D, and the action of unit dual quaternion q D 1 C
w" with w 2 Im H expresses a translation in 3D. See [Kavan2008] for detail. e semi-direct
structure and the behavior of the exponential map on dual quaternions are understood both in
the dual quaternion picture and matrix realization picture, as is the case of quaternions.

2.9 USING COMPLEX NUMBERS


Now we give a brief comment on complex numbers. Using the identification of C with R2 by
z D x C yi $ .x; y/T , a rigid transformation in 2D can be expressed as
     0
˛ ˇ z z
D ; (2.35)
0 1 1 1

where ˛ D e i D cos  C i sin  , and ˇ D b1 C b2 i 2 C . In other words, we have a realization of


SE.2/ by a matrix with entries in complex numbers
  
˛ ˇ
SE.2/ D 2 M.2; C/ j ˛; ˇ 2 C; j˛j D 1 : (2.36)
0 1

e reflection with respect to a line y D .tan /x is represented in complex variables by

z 7! e i e i z D e 2i z D ze 2i :

Note that the reflection line is also expressed as Re i .


For quaternions, as well as the definitions (i)–(iii) listed in Section 2.7, we have other equiv-
alent definitions using complex numbers.

(iv) H D C C Cj , the complex two-dimensional vector space with a multiplication rule. e


expression (iv) is shorter than that of (i) in Section 2.7, while we note the fancy relation
wj D j w for w D C D R C Ri .

(v) e set of complex matrices of the form


 
z w
: (2.37)
w z
18 2. RIGID TRANSFORMATION
e relation between (i)–(iii) in Section 2.7 and (iv), (v) is given by

a C bi C cj C dk D .a C bi/ C .c C di/j D z C wj:

e multiplicativity jqq0 j D jqj  jq 0 j of norms of quaternions follows from the property of deter-
minant det.AB/ D det.A/ det.B/ for the corresponding matrices A and B of the form (2.37).

2.10 DUAL COMPLEX NUMBERS


As is seen in Section 2.8, a unit dual quaternion can express an arbitrary 3D rigid transforma-
tion, say, every element in SE.3/. A 2D rigid transformation can be handled by regarding the
plane embedded in R3 and using unit dual quaternions. We here introduce new numbers, called
anti-commutative dual complex numbers, which will give more concise expression and faster com-
putation of a 2D rigid transformation.
For two complex numbers p0 ; p1 2 C , the combination p0 C p1 " is called an anti-
commutative dual complex number (DCN, for short) and denoted by C L . e multiplication of
DCN is defined by

.p0 C p1 "/.q0 C q1 "/ D .p0 q0 / C .p1 q 0 C p0 q1 /": (2.38)

From the definition, it follows that "2 D 0, and .p0 C p1 "/.q0 C q1 "/ may not be equal to .q0 C
q1 "/.p0 C p1 "/. We also define the conjugate and absolute values of DCN by

p0 C p1 " D pN0 C p1 "; (2.39)


jp0 C p1 "j D jp0 j : (2.40)

en DCN satisfies usual associative and distributive laws,

.ab/c D a.bc/; a.b C c/ D ab C ac; .a C b/c D ac C bc; (2.41)

so we can compute DCN as usual numbers. Similarly to the unit dual quaternion numbers, the
unit anti-commutative complex numbers are of particular importance:
L 1 D fpO 2 C
C O D 1g D fe i C p1 " j  2 R; p1 2 Cg:
L j jpj

is is a group with the inverse

.e i C p1 "/ 1
De i
p1 ":
L:
A unit DCN pO acts on R2 by identifying v 2 C D R2 with 1 C v" 2 C

O C v"/pO D 1 C .p02 v C 2p0 p1 /";


p.1

that is, v is mapped to p02 v C 2p0 p1 . For example, when p1 D 0, then pO D p0 D e i maps v 2
C to p02 v D e 2i v , which is the rotation around the origin of degree 2 . On the other hand,
2.11. HOMOGENEOUS EXPRESSION OF RIGID TRANSFORMATIONS 19
2
when p0 D 1, the action corresponds to the translation by 2p1 2 C D R . Note that this gives a
surjective group homomorphism ' W C L 1 ! SE.2/ whose kernel is f˙1g. In other words, any 2D
rigid transformation corresponds to exactly two unit DCN’s with opposite signs.
e following homomorphism

L 3 p0 C p1 " 7! p0 C p1 j" 2 H C H"


C

is compatible with the involution and the conjugation, and preserves the norm. Furthermore if
we identify v D x C iy 2 C with 1 C .xj C yk/" D 1 C vj", the above map is commutative with
the action. From this embedding, DCN is realized as a sub-ring of dual quaternion numbers.
e relations among DQN, DCN and related groups are summarized in Figure 2.9. Here we add

SE(2) SE(3)

DQN
DCN

SO(2) SO(3)

U(1) S3

Figure 2.9: Dual quaternions and related groups.

some explanation. In each left-right edge, the object on the left is 2D, and that on the right is
3D. e left object is naturally contained in the right object. In each vertical edge, the top object
contains the bottom object, and the top object is obtained from the bottom object by adding
translations. In each front-behind edge, one element in the behind object corresponds exactly to
two elements in the front object. We have a two-to-one surjective map from front to back.
e properties of DCN and its applications are given in [Matsuda2004].

2.11 HOMOGENEOUS EXPRESSION OF RIGID


TRANSFORMATIONS
e homogeneous expression of nD rigid transformation group is
  
R d n
E.n/ D 2 M.n C 1; R/ j R 2 O.n/; d 2 R ; (2.42)
0 1
20 2. RIGID TRANSFORMATION
and its subgroup consisting of rigid motions (i.e., non-flip nD rigid transformations) is
  
R d
SE.n/ D 2 M.n C 1; R/ j R 2 SO.n/; d 2 Rn : (2.43)
0 1

As for a 2D case, we have it with (2.6).

Homogeneous coordinates
e term homogeneous comes from projective geometry. In a real vector space Rn , two
distinct lines meet at one point if they are not parallel. ese two parallel lines are
considered to meet at a point at infinity. If we add appropriate points of infinity to
Rn , we obtain a projective space, denoted by P n .R/. is space is explicitly realized as
follows: we consider a non-zero vector with .n C 1/-components

Œz1 W z2 W    W znC1 :

If two such vectors are parallel, then we consider these two vectors to be same. In
other words, if there is a non-zero number  such that z10 D z1 ; z20 D z2 ; : : : ; znC10
D
0 0 0
znC1 , then we regard Œz1 W z2 W    W znC1  D Œz1 W z2 W    W znC1 . On the one hand, in
the case znC1 ¤ 0, then we can take  D 1=znC1 so that Œz1 W z2 W    W znC1  D Œz10 W
z20 W    W zn0 W 1. In this manner, an .n C 1/-vector with znC1 ¤ 0 is regarded as a usual
n-vector in Rn . e coordinates Œz1 W z2 W    W znC1  are called homogeneous coordi-
nates since the values of coordinates have some homogenuity, while the classical co-
ordinates .x1 ; : : : ; xn / D Œx1 W    W xn W 1 are called inhomogeneous coordinates. On the
other hand, in the case znC1 D 0 an .n C 1/-vector Œz1 W z2 W    W znC1  gives an extra
element other than Rn , which is considered to be an element at infinity.
Now we consider the symmetry group of the projective spaces. A projective linear
transformation on the projective space P n .R/ turns out to be represented by a multipli-
cation of a regular matrix of size .n C 1/:
0 10 1
a11  a1n a1nC1 z1
B :: :: :: C B :: C
B : : : CB : C
B CB C: (2.44)
@ an1  ann annC1 A @ zn A
anC11    anC1n anC1nC1 znC1

A projective transformation preserves Rn if and only if anC11 D    D anC1n D 0.


In such a case, since anC1nC1 ¤ 0 and a scalar multiple gives the same transformation,
we may assume that anC1nC1 D 1. A matrix of this form gives a homogeneous expres-
.
2.11. HOMOGENEOUS EXPRESSION OF RIGID TRANSFORMATIONS 21

sion of an affine transformation of Rn


0 10 1
a11    a1n a1nC1 x1
B :: :: :: C B :: C
B : : : C B C
B CB : C: (2.45)
@an1    ann annC1 A @xn A
0  0 1 1
.
CHAPTER 3

Affine Transformation
In this chapter, we discuss affine transformations, i.e., matrices for deformations.

3.1 SEVERAL CLASSES OF TRANSFORMATIONS


GL is not a graphic library (joke) but the general linear group, consisting of invertible linear
transformations on Rn . ese are usually expressed in terms of square matrices with non-zero
determinants:
GL.n/ D GL.n; R/ D fA 2 M.n; R/ j det.A/ ¤ 0g: (3.1)
An affine transformation is a map on Rn , which maps every line to a line. ese are usually
expressed by a pair of an invertible square matrix and a vector in Rn . e matrix shows the linear
transformation and the vector does the translation. e set of all affine transformations is written
as Aff.n/. is group can also be expressed in the set of invertible square matrices of size .n C 1/
i.e., Aff.n/  GL.n C 1/:
 ˇ 
A d ˇˇ n
Aff.n/ WD A 2 GL.n/; d 2 R : (3.2)
0 1 ˇ
is realization is called a homogeneous expression. e composition of homogeneous ex-
pressions is nothing but a multiplication of two matrices.
If the determinant of a matrix in GL.n/ or Aff.n/ is negative, then the corresponding trans-
formation changes the orientation of objects. We denote the set of orientation-preserving trans-
formations by
GLC .n/ D fA 2 GL.n/ j det.A/ > 0g; (3.3)
 ˇ 
C A d ˇˇ C n
Aff .n/ D A 2 GL .n/; d 2 R : (3.4)
0 1 ˇ
We here summarize the inclusion relations of these sets of transformations in Figure 3.1.
Here we add some explanations. In each left-right edge, the object on the left is an index-
two subgroup of the object on the right. e object on the left is connected while the object on the
right is disconnected. In each vertical edge, the object on the top is the semi-direct product of the
object on the bottom with the translation group Rn . In each front-behind edge, the object on the
front is the subset of rigid transformations of the object on the behind.
e motion group (or Euclidean motion group), which is denoted by SE.n/ in (2.43), is the
set of transformations on Rn which preserve the length, angle, and the orientation. Each element
24 3. AFFINE TRANSFORMATION

Aff+(n) Aff(n)

SE(n) E(n)

GL+(n) GL(n)

SO(n) O(n)

Figure 3.1: Inclusions of Lie groups.

of the motion group can be expressed as a pair of a rotation and a translation. e congruence
group, denoted by E.n/, is the set of transformations which preserve the shape, but may change
the orientation. A reflection is a typical example of congruence transformation. ese classes of
transformations are groups: e successive composition of transformations belongs to the same
class of transformation, and the inverse transformation also does (see Chapter 1).
A bounded and closed subset of a vector space is called compact in terms of topology. e set
of all rotations is bounded, while the set of all translations is unbounded. In these eight classes of
groups, SO.n/ and O.n/ are compact, while other six classes of groups are not compact. e notion
of connected and arcwise connected is equivalent in our cases. A maximal connected subset is called
a connected component (see Section 2.4). We cannot continuously interpolate two elements in
different connected components. For example, a flip and the identity cannot be interpolated in
GL.n/. Actually GL.n/ consists of two connected components, each of which inlcudes the flip
or the identity, respectively. On one hand, SO.n/, for instance, is connected, i.e, it has only one
connected component which is itself.
Note that all these eight types of groups in Figure 3.1 are non-commutative for n D 2; 3
except for SO.2/.
Why should we consider so many groups? Do mathematicians like the complication? One
may regard this large variety of Lie groups as a large variety of software in CG. Depending on
the purpose, one may use a wide variety of computer languages and/or platforms, like C++, maya,
python, MatLab, etc. is philosophy goes back to Klein’s Erlangen program.
3.2. SEMIDIRECT PRODUCT 25

Felix Klein (1849–1925)


German mathematician. His research project was published in
1872 at Erlangen, and is called the Erlangen program. e slogan
of the Erlangen program is that “symmetry classifies geometry.”
To be more precise, each class of geometry has the correspond-
ing groups describing the symmetry, and one of the purposes of
geometry is to describe its invariants. is idea is sufficient to
understand Euclidean, affine and projective geometry, and their
relations [Klein1926].
.

3.2 SEMIDIRECT PRODUCT


We see that the composition of a rotation, a translation, and the inverse rotation is another trans-
lation (2.8):
R Tb R  D TR .b/ : (3.5)
In general, this fact is related to the notion of normal subgroup and semi-direct products of sub-
groups.
Let G be a group. e following concepts for G are used to describe the relations among
the matrix group appeared in this book:

(i) A subset H of G is called a subgroup if H is closed under the composition and the inversion,
1
(ii) A subgroup H of G is called a normal subgroup if the composition g  h  g of any h 2 H
and g 2 G belongs to H .

For example, the set R3 of translations is a normal subgroup of SE.3/, while the set SO.3/ of
rotations centered at the identity is a subgroup of SE.3/ but not normal.
Let G be a group, H a subgroup of G , and K a normal subgroup of G . (For example,
G D SE.3/; H D SO.3/; K D R3 .) If the map

H  K 3 .h; k/ 7! hk 2 G (3.6)

is a bijective, then G is the semi-direct productof H and K , denoted by H Ë K . Note that hkh 1 2
K for any h 2 H and k 2 K , but is not necessarily equal to k . If both H and K are normal
subgroups of G , and hk D kh for all h 2 H and k 2 K , and the map (3.6) is bijective, then G is
called a direct product group H  K . Note that hk D kh if and only if hkh 1 D k . Motion groups
26 3. AFFINE TRANSFORMATION

Figure 3.2: Translations are normal.

and affine transformation groups are typical examples of semi-direct product groups:

SE.n/ D SO.n/ Ë Rn ; (3.7)


E.n/ D O.n/ Ë Rn ; (3.8)
AffC .n/ D GLC .n/ Ë Rn ; (3.9)
Aff.n/ D GL.n/ Ë Rn : (3.10)

ese decompositions can be interpreted as, for example, the translation part of a motion
has its own meaning, which does not depend on the choice of coordinates and scaling, but a rota-
tion part has some ambiguity, depending on the choice of the origin and that of the coordinates.

3.3 DECOMPOSITION OF THE SET OF MATRICES


Other than (semi-)direct product, several decompositions of matrices are widely used in computer
graphics. Here we summarize the decompositions which will appear in the later sections.

3.3.1 POLAR DECOMPOSITION


Given a matrix A 2 GLC .n/, we have A D RS, where R is a rotation matrix and S is a positive
definite symmetric matrix. e product map

SO.n/  SymC .n/ 3 .R; S / 7! RS 2 GLC .n/ (3.11)

is bijective.
Note that if we reverse the order

SO.n/  SymC .n/ 3 .R; S / 7! SR 2 GLC .n/ (3.12)


3.3. DECOMPOSITION OF THE SET OF MATRICES 27
C
then it is still bijective, however it gives the different map. We also note that the set Sym .n/ is
not a group; actually, the product of two elements in SymC .n/ is not necessarily symmetric.

3.3.2 DIAGONALIZATION OF POSITIVE DEFINITE SYMMETRIC


MATRIX
Every positive definite symmetric matrix X is written as X D RDRT D RDR 1 , where R belongs
to SO.n/ and D is a diagonal matrix whose diagonal entries are all positive. Actually, the diagonal
entries of D is the set of eigenvalues of given X . In general, the map

SO.n/  DiagC .n/ 3 .R; D/ 7! RDRT 2 SymC .n/ (3.13)

is surjective. Note that this map is not injective. If .R; D/ and .R0 ; D 0 / expresses the same X ,
then there exists a permutation matrix P such that D 0 D PDPT . Here a permutation matrix is,
by definition, a matrix which has unique non-zero entry 1 in each row and each column. e
inverse and the product of permutation matrices are also permutation matrices. Furthermore, if
D has distinct diagonal entries, then P is unique. is means that the expression X D RDRT is
not unique, but the freedom of choices exists only in the order of eigenvalues of X in the diagonal
entries in D .

3.3.3 SINGULAR VALUE DECOMPOSITION (SVD)


Every matrix A 2 GLC .2/ can be written as A D R˛ DRˇ , where R˛ ; Rˇ 2 SO.2/ and D is a
diagonal matrix with positive diagonal entries (see Figure 3.3). In general, the product map

SO.n/  DiagC .n/  SO.n/ ! GLC .n/ (3.14)


.R0 ; D; R/ 7! R0 DR

Figure 3.3: SVD; the curved arrows show rotations. e dotted line shows a directional dilation.
28 3. AFFINE TRANSFORMATION
is surjective. is SVD is a combination of the polar decomposition and the diagonalization of
positive symmetric matrix. In fact, if we denote by A D R0 S the polar decomposition of A, and
by S D RDRT , then the expression A D .R0 R/DR gives SVD. (Notice that R0 R 2 SO.n/.) is
enables us to compute SVD by polar decomposition and the diagonalization of positive symmetric
matrix. On the other hand, when we have SVD A D R0 DR, then A D .R0 R/.RT DR/ gives polar
decomposition of A.
Similarly, O.n/  DiagC .n/  O.n/ ! GL.n/ is also surjective. Note that SVD is called
Cartan decomposition in mathematical literature (see, e.g., [Helgason1978]). In this point of
view, the compactness of SO.n/ and commutativity of DiagC .n/ is significant.
CHAPTER 4

Exponential and Logarithm of


Matrices
Geometric transformations that we have described give a basic mathematical framework for ge-
ometric operations in computer graphics, such as rotation, shear, translation, and their composi-
tions. Each affine transformation is then represented by a 4  4-homogeneous matrix (3.2) with
usual operations: addition, scalar product, and product. While the product means the compo-
sition of the transformations, geometric meanings of addition and scalar product are not triv-
ial. We often want to have a geometrically meaningful weighted sum (linear combination) of
transformations, which is not an easy task. ese kinds of practical demands therefore have in-
spired graphics researchers to explore new mathematical concepts and/or tools. Many works have
been conducted in this direction, including skinning [Chaudhry2010, Lewis2000], cage-based
deformation [Nieto2013], motion analysis and compression ([Alexa2002, Tournier2009], for in-
stance).
In previous chapters we have described the geometric transformations through the math-
ematical concepts associated with groups, especially with the Lie group. We should then note
that the mathematical viewpoint gives us a broader and more comprehensive scope of the various
geometric transformations.
is chapter focuses a bit more on the Lie theoretic aspect of this scope. We introduce Lie
algebra that associates the Lie group of matrices as a motion group. As will be demonstrated, the
Lie algebra gives linear approximation of the Lie group, which allows us to use a powerful linear
interpolation scheme in making dynamic motion and deformation.

4.1 DEFINITIONS AND BASIC PROPERTIES

We first consider a square matrix A, which is implicitly considered an element of a Lie group of
matrices. e exponential of A is then defined as

1
X 1 k 1 1
exp.A/ D A D I C A C A2 C A3 C    ; (4.1)
kŠ 2 6
kD0
30 4. EXPONENTIAL AND LOGARITHM OF MATRICES
where A0 D I is the identity matrix. We’ll refer to (4.1) as the matrix exponential, for short. is
is motivated by Taylor expansion of the usual exponential function
1
X 1 k 1 1
ex D x D 1 C x C x2 C x3 C    : (4.2)
kŠ 2 3Š
kD0

e series exp.A/ converges for an arbitrary A rapidly, as does the usual exponential function.
However, this infinite series expression is not so efficient for actual numerical computations. For
a computation, we can use several useful properties: for diagonal matrices we have
0 1 0 a 1
a 0 0 e 0 0
exp @0 b 0A D @ 0 e b 0 A ; (4.3)
0 0 c 0 0 ec

and a rotation    
0  cos  sin 
exp D : (4.4)
 0 sin  cos 
We also see that the exponential image of a strictly upper-triangular matrix terminates into a
finite sum. For example, for l 2 Rn , we have
   
O l In l
exp D : (4.5)
0 0 0 1

Slightly more generally, for a strictly upper triangular matrix A of size n, we have An D O and
therefore the infinite series (4.1) terminates to a finite sum expression
1 1
exp.A/ D I C A C A2 C    C An 1 : (4.6)
2 .n 1/Š

Significantly, we can understand Rodrigues’s rotation formula (2.15) by using the matrix
exponential. Every 3D rotation is expressed by
0 1
0 u3 u2
sin juj 1 cos juj 2
R D exp.A/ D exp @ u3 0 u1 A D I3 C AC A ; (4.7)
u2 u1 0
juj juj2
q
where juj D u21 C u22 C u23 is the norm of a vector u D .u1 ; u2 ; u3 / 2 R3 . We also see that
juj2 D 21 tr.AAT / D 12 tr.A2 /. e matrix R shows the rotation around the axis through u, and
with angle juj. In particular, if juj 2 2Z then R D I3 , the identity matrix.
Coming back to the general situation, we always have the exponential law

exp..s C t /A/ D exp.sA/ exp.tA/ for all s; t 2 R; A 2 M.n; R/: (4.8)


4.1. DEFINITIONS AND BASIC PROPERTIES 31
However a further generalization of the exponential law to a matrix case

exp.A C B/ D exp.A/ exp.B/ for A; B 2 M.n; R/ (4.9)

may not hold in general. For example, it is easy to see that three matrices exp.A C B/,
   
0 0 0 1
exp.A/ exp.B/ and exp.B/ exp.A/ are different, for A D and B D . If we as-
1 0 0 0
sume A and B are commutative, i.e., AB D BA, then we have an expected formula

exp.A C B/ D exp.A/ exp.B/ for A; B 2 M.n; R/ with AB D BA: (4.10)

In general, the matrix exponential has the conjugate invariance property


1 1
exp.P AP/ D P exp.A/P: (4.11)

e matrix exponential is by definition an infinite sum of matrices, but by this property (4.11) we
can reduce the computation of the exponential map to the cases (4.3), (4.4), (4.6) so that we can
avoid the infinite series for the computation of the exponential exp.A/.
We now consider the inverse map of the exponential map: logarithmic map, or logarithm,
for short. e logarithm might be defined to be the inverse of the exponential as is the case of the
real scalar-valued function
exp W R ! fy > 0g D R>0 : (4.12)
However, we note that the logarithm of the complex exponential function

exp W C ! fz 2 C j z ¤ 0g D C 

is multi-valued. As is Euler’s formula in complex numbers

cos  C i sin  D exp.i / D e i ; (4.13)

which gives an intimate connection between exponential functions and trigonometric functions,
the exponential expression (4.4) of a rotation is not unique;  C 2n.n 2 Z/ gives the same ro-
tation as  . is feature makes the inverse of a matrix complicated; the logarithm of a matrix is
thus multi-valued. As is the scalar valued function, the logarithm has a series expansion
1
X . 1/k 1
log.X / D .X I /k
k
kD1

if the absolute values of all the eigenvalues of the matrix X I are less than 1. is function
satisfies exp.log.X// D X as is expected. Similar to (4.11), the logarithm has a conjugate invari-
ance log.P 1 XP/ D P 1 log.X /P , and then the computation of log.X / is reduced to the case of
32 4. EXPONENTIAL AND LOGARITHM OF MATRICES
scalar-valued functions and the case of triangular matrices, where infinite series terminates.
   
cos  sin  0 
log D ;
sin  cos   0
0 a 1 0 1
e 0 0 a 0 0
log @ 0 e b 0 A D @0 b 0A ;
0 0 ec 0 0 c

and if .A I /m D O for some m, then


m
X1 . 1/k 1
log A D .A I /k :
k
kD1

4.2 LIE ALGEBRA


e set so.3/ of skew-symmetric, that is, the transpose is its minus, 3  3 matrices is regarded as
Lie algebra of SO.3/ (see Chapter 1 as well).

Figure 4.1: Lie algebra as a tangent space.

In this book, we consider a Lie group to consist of matrices, say, a matrix group. e Lie
algebra of a Lie group is a linear approximation of a group at the identity. In general, the Lie
algebra of a matrix group G  GL.n/ is defined to be the tangent space (see Figure 4.1) of G at
the identity of G . Equivalently, the Lie algebra is the collection of elements in M.n; R/ of the
form ˇ
d ˇ
' .0/ D '.t /ˇˇ
0
(4.14)
dt tD0

for any curve ' W R ! G with '.0/ D I .


4.2. LIE ALGEBRA 33

Sophus Lie (1842–1899)


Norwegian mathematician. He tried to control the continuous
symmetry in geometry and differential equations by introducing
its linearization. is idea is now regarded as a core of Lie eory.
Lie groups and Lie algebras are also named after him. Lie was a

close friend of F. Klein, and this communication led to mutual


influence (see [Stubhaug2002]).
.

For example, let us compute the Lie algebra of the Lie group SO.n/. For any curve ' W
R ! SO.n/, the image should satisfy '.t /'.t /T D In . By differentiating with the Leibnitz rule,
we obtain
ˇ ˇ
d ˇ d'.t / d'.t /T ˇˇ
0 D '.t/'.t /T ˇˇ D '.t/T C '.t / ˇ D A C AT ;
dt t D0 dt dt tD0

where we put A D ' 0 .0/ for short. is shows the Lie algebra of SO.n/ is the set of matrices A
with AT D A. In general, the Lie algebra corresponding to a given Lie group is denoted by the
corresponding “mathfrak” letters; for example, the Lie algebra of SO.3/ is denoted by so.3/, that
of GL.n/ by gl.n/. We give several examples of Lie algebras.

(i) e Lie algebra of GL.n/ and GLC .n/ is gl.n/ D M.n; R/,

(ii) e Lie algebra of O.n/ and SO.n/ is so.n/ D fA 2 M.n; R/ j AT D Ag.

(iii) e Lie algebra of the group of positive real numbers R>0 is R. Note that the group law for
R>0 is multiplicative, while that for R is additive.

(iv) e Lie algebra of C  is C ,

(v) e Lie algebra of H D fq 2 H j q ¤ 0g is H,

(vi) e Lie algebra of the group S3 of unit quaternions is the set Im H of imaginary quaternions.

(vii) e special linear group is defined to be the set of volume-preserving linear maps;
SL.n; R/ D fA 2 GL.n; R/ j det A D 1g. Its Lie algebra is sl.n; R/ D fA 2 M.n; R/ j
trA D 0g, the set of traceless matrices.

(viii) e Lie algebra of the group of translations in 3D is R3 .


34 4. EXPONENTIAL AND LOGARITHM OF MATRICES
e Lie algebra of a subgroup is a subspace of the Lie algebra. e Lie algebra of the direct product
group H  K is h ˚ k, the direct sum of Lie algebras h and k of H and K . e Lie algebra of the
semidirect product group H Ë K is h ˚ k, the direct sum of Lie algebras h and k of H and K as
a vector space. We give several examples of Lie algebras of direct or semi-direct product groups.
(ix) e Lie algebra of DiagC .n/ D fX j diagonal matrices with positive diagonal entriesg is
diag.n/ D fA j diagonal matricesg:

(x) e Lie algebra of the affine transformation groups AffC .n/ and Aff.n/, defined in (3.2
and 3.4) is   
A l
aff.n/ D j A 2 M.n; R/; l 2 Rn :
0 0
is fact will be used in Chapter 6 and 7.
(xi) e Lie algebra of SE.n/, defined in (2.43) and that of E.n/ is
  
A l n
se.n/ D j A 2 so.n/; l 2 R :
0 0

is will appear in Figure 5.3 for n D 2 , and in Figure 7.2 for n D 3 of later sections.
(xii) e set of invertible dual quaternion numbers

H C "H D fz C w" j z; w 2 H; z ¤ 0g (4.15)

is a Lie group by the multiplication. As a Lie group, it is a semidirect product group H Ë H.


e Lie algebra of H C "H is H C "H.
(xiii) e set of unit dual quaternion numbers

f.z; w/ j z 2 S3 ; w 2 H; hz; wi D 0g (4.16)

is a Lie group by the multiplication. Its Lie algebra is Im H C " Im H.


For the Lie algebra gl.n; R/, we define a binary operation, called Lie bracket, by

ŒA; B D AB BA:
4.3. EXPONENTIAL MAP FROM LIE ALGEBRA 35

Abstract Lie algebra


We can easily check that this bracket operation satisfies the following properties:
(i) e bracket ŒA; B is bilinear, i.e., linear both in A and in B . To be explicit,
ŒA; B D ŒA; B D ŒA; B, ŒA C C; B D ŒA; B C ŒC; B and ŒA; B C C  D
ŒA; B C ŒA; C ,

(ii) e bracket is skew-symmetric, i.e., ŒA; B D ŒB; A,


(iii) Jacobi identity: ŒA; ŒB; C  C ŒB; ŒC; A C ŒC; ŒA; B D 0,
for all A; B; C 2 g and  2 R. Conversely(!), these three properties are exactly the def-
inition of an (abstract) Lie algebra. In other words, a vector space equipped with a
bracket operation with these properties is called a Lie algebra (see, e.g., [Serre1992]).
In the case of sub vector spaces of matrix spaces, these three properties hold trivially,
as is mentioned above. What should be confirmed to be a Lie algebra is the property:
ŒA; B 2 g for every A; B 2 g.
.

4.3 EXPONENTIAL MAP FROM LIE ALGEBRA


So far, we have discussed the construction of Lie algebra from Lie groups. Now we discuss the
converse direction: the construction of Lie groups from Lie algebra. Suppose g is the Lie algebra
of a group G . en the exponential map gives a map from g to G .

exp W g ! G: (4.17)

In fact, the exponential map gives a local diffeomorphism (D one-to-one, onto, smooth, and its
inverse is also smooth) between a neighborhood of the origin of the vector space and a neighbor-
hood of the identity of the group (the set of transformations). In general, the exponential map is
not necessarily injective, nor surjective. We give several examples of exponential maps. Here the
number is taken from the Lie algebra examples in the Section 4.2.
(iii) exp W R ! R>0 is a bijective(D one-to-one onto) map (4.12).
(ii) exp W so.2/ ! SO.2/ is surjective(D onto), but not injective(D one-to-one). e explicit
form is given in (4.4).
(vi) exp W Im H ! S3 is surjective, but not injective. e explicit form is given in (2.31).
36 4. EXPONENTIAL AND LOGARITHM OF MATRICES
(v) exp W H ! H is surjective, but not injective. e explicit form is given by using the case (vi)
of unit quaternions. For a 2 R and z 2 Im H, we have exp.a C z/ D e a exp.z/, where
exp.z/ is given in (vi).
(xii) e explicit form of the exponential map exp W H C "H ! H C "H is given in Appendix
of [Kavan2008].
(xi) e explicit form of the exponential map exp W se.3/ ! SE.3/ for 3D motion group is given
in (7.3), (7.4) and (7.5).
(ix) e exponential map (4.3) gives a bijection

exp W diag.n/ ! DiagC .n/: (4.18)

e exponential map also induces a bijection

exp W sym.n/ ! SymC .n/; (4.19)

where

SymC .n/ D fX 2 M.n; R/ j symmetric, positive definiteg;


sym.n/ D fA 2 M.n; R/ j symmetricg:

Note that SymC .n/ is not a group, and that sym.n/ is not a Lie algebra. e relation between
(4.19) and (4.18) has been suggested in (3.13): exp.RXRT / D R exp.X /RT for R 2 SO.n/ and
X 2 diag.n/. e role of linearity (vector space) and of commutativity is discussed in Section 4.7.
Both SymC .n/ and DiagC .n/ are convex open subsets of vector spaces.
We continue examples of exponential maps.
(ii) e exponential map gives a surjection(D onto map):

exp W so.3/ D fA j skew-symmetricg ! fX j rotationg D SO.3/: (4.20)

is map is again examined in Section 4.6.


(ii) exp W so.n/ ! SO.n/ is surjective, but not injective (if n > 1).
(i) exp W gl.n/ ! GLC .n/ is neither surjective nor injective.
(vii) exp W sl.n/ ! SL.n/ is neither surjective nor injective.
(viii) e exponential map (4.5) to the Lie groups Rn of translations from its Lie algebra gives a
bijective map.
(xi) exp W se.n/ ! SE.n/ is surjective, but not injective.
(x) exp W aff.n/ ! AffC .n/ is neither surjective nor injective.
4.4. ANOTHER DEFINITION OF LIE ALGEBRA 37
4.4 ANOTHER DEFINITION OF LIE ALGEBRA
Let G be a matrix group, and g  M.n; R/ its Lie algebra. For A 2 M.n; R/, the following con-
ditions on ' are equivalent.
• '.t / D exp.tA/.
• ' W R ! GL.n; R/ with '.s C t / D '.s/'.t / for all s; t 2 R with A D ' 0 .0/.
• ' W R ! M.n; R/ with '.0/ D I and ' 0 .t / D A'.t /.
Such a map ' is called a one-parameter subgroup attached to A. en we know that a one-parameter
subgroup takes values in G , i.e., ' W R ! G if and only if A 2 g. is condition characterizes an
element A to belong to the Lie algebra g in terms of Lie group G .

4.5 LIE ALGEBRA AND DECOMPOSITION


Note that the polar decomposition can be considered as a non-linear and non-commutative coun-
terpart of a linear and commutative natural decomposition, in the level of vector spaces, of square
matrices into symmetric and skew-symmetric matrices.

gl.n/ D so.n/ ˚ sym.n/: (4.21)

We also have such a decomposition as vector spaces

se.n/ D so.n/ ˚ Rn ; (4.22)


aff.n/ D gl.n/ ˚ Rn (4.23)

for the Lie algebras of semi-direct product groups. Euler angle representation (2.21) can be also
regarded as an example: Let
0 1 0 1 0 1
0 1 0 0 0 1 0 0 0
Jz D @1 0 0A ; Jy D @ 0 0 0A ; Jx D @0 0 1A :
0 0 0 1 0 0 0 1 0

en fJz ; Jy ; Jx g is a basis of so.3/, so that so.3/ D RJz ˚ RJy ˚ RJx , that is, every skew sym-
metrix matrix of size 3 can be written uniquely as a linear combination of Jx ; Jy , and Jz . Note
that each RJz ; RJy ; RJx gives a Lie subalgebra of so.3/.
In general, let g be a Lie algebra, and X1 ; : : : ; XN 2 g a basis of g as a vector space. en
the map from .t1 ; : : : ; tN / to exp.t1 X1 C t2 X2 C    C tN XN / in G gives a diffeomorphism from
a neighborhood at the origin of RN to a neighborhood at the identity element of G . is is called
the canonical coordinates of the first kind. Similarly, the map exp.t1 X1 / exp.t2 X2 /    exp.tN XN /
also gives a local diffeomorphism, which is called the canonical coordinates of the second kind.
e Euler angle representation is considered to be an example of the canonical coordinates of
38 4. EXPONENTIAL AND LOGARITHM OF MATRICES
the second kind. Rodrigues’s formula (4.7) is considered to be the canonical coordinates of the
first kind. Note that some (multiplicative) matrix decompositions do not give the correspond-
ing (additive) decomposition in a Lie algebra (or a vector space). For example, SVD might give

gl.n/ D so.n/ ˚ diag.n/ ˚ so.n/, which is obviously wrong because two so.n/ components have
non-trivial intersection. is phenomenon has a relation with the fact that the behavior of SVD
at the origin is not stable (not a local diffeomorphism).

4.6 LOSS OF CONTINUITY: SINGULARITIES OF THE


EXPONENTIAL MAP
e axis of rotation is a natural invariant of 3D rotation. It is not continuous at the origin of
SO.3/. is fact has relation with the failure of the local diffeomorphic property of the expo-
nential function. We will explain with some notations: Let B D fx 2 R3 j jxj  g. en the
exponential map restricted to B gives a surjective map

exp W B ! SO.3/: (4.24)

It is diffeomorphic on the interior

exp W fx 2 R3 j jxj < g ! fR 2 SO.3/ j det.R C I / ¤ 0g: (4.25)

On the boundary, it is a two-to-one covering map

exp W fx 2 R3 j jxj D g ! fR 2 SO.3/ j det.R C I / D 0g: (4.26)

ese two (rather distinct) behaviors are understood in a uniform manner (see Figure 4.2):
the map
exp W fx 2 R3 j 0 < jxj < 2g ! fR 2 SO.3/ j R ¤ I g (4.27)
gives the two-to-one covering map (everywhere smooth, so that the local inverse does exist
uniquely). Slightly more generally, for every integer n  1,

exp W fx 2 R3 j 2.n 1/ < jxj < 2ng ! fR 2 SO.3/ j R ¤ I g (4.28)

also gives the two-to-one covering map. is map factors through the map (2.29):
 2W1
fx 2 R3 j 2.n 1/ < jxj < 2ng ! fq 2 S3 j q ¤ ˙1g ! fR 2 SO.3/ j R ¤ I g: (4.29)

On the other hand, the exponential map on the complement is factored as

fx 2 R3 j jxj D 2ng ! fq 2 S3 j q D ˙1g ! fI 2 SO.3/g; (4.30)

where the first map is defined as: x 7! . 1/n for jxj D 2n . Figure 4.2 illustrates these maps.
e first map shows the degeneration of spheres fx 2 R3 j jxj D 2ng, which looks like circles
4.7. THE FIELD OF BLENDING 39

 (3)

S3

SO(3)

Figure 4.2: e exponential map of SO.3/.

in the figure, to a point. By the degeneration (candy-wrapping operation), we obtain S3 from


tube-like body fx 2 R3 j 2.n 1/  jxj  2ng. e second map collects the isomorphic S3 ’s
for n D 1; 2; : : : into one piece. e left and right most points in the third stage are 1 and 1 in
S3 , which were the joint points on the second stage. e third map is the map (2.29).
We also understand this phenomenon by the following animation: consider the rotation
around x-axis with 360 degrees and after that the rotation around y-axis with certain degree. It
seems to be a continuous move, but we do not have a continuous logarithmic lift of this motion.
After the first rotation, the transformation (matrix) remembers the axis of rotation, so that the
sudden change of the rotation axis from x-axis to y-axis is considered to be a discontinuous move.
Note that, if the move does not go through the identity, the continuous logarithmic lift always
exists. If we further assume that the move is C 1 (continuously differentiable, that is, the velocity
is continuous), then the continuous logarithmic lift exists.

4.7 THE FIELD OF BLENDING


A vector space is, by definition, closed under the interpolation .1 t/p C t q and the blend
w1 p1 C w2 p2 C    C wk pk . In a curved space (such as a group), the interpolation and the blend
may not belong to the space again.
e space where we blend or interpolate something should be a linear space or a convex
subset of it (see Figure 4.3). In this sense, the set of rotation matrices is not appropriate, so that
it will be replaced by the set of skew symmetric matrices. e set of positive definite symmetric
40 4. EXPONENTIAL AND LOGARITHM OF MATRICES

p2

pk
p1

p′ = w1p1 + w2p2 + ∙ ∙ ∙ + wkpk

Figure 4.3: Blend in a convex set.

matrices is an open convex subset of the set of symmetric matrices. It sounds not bad for blending,
but still the set of symmetric matrices will be better. is is why we once move from one curved
space to the other by the exponential function (see Figure 4.4).

Figure 4.4: Interpolation by linearization.

We also remark that the addition C in the expression w1 p1 C w2 p2 C    C wk pk is a com-


mutative operation: a C b D b C a. If the space loses this commutativity, then the interpolation
and the blend may not be straightforward. e linearity and commutativity are therefore the key
to the interpolation and blending. Note that an interpolation can be considered as a special case
of blending; a blend of two things and weights is in between 0 and 1. So the non-commutativity
is relaxed for interpolation, but non-linearity still exists.
CHAPTER 5

2D Affine Transformation
between Two Triangles
As a simple case, this chapter deals with interpolating two triangles via affine transformations. We
note that interpolating affine transformations itself may also have other interesting applications;
see, for example, [Shoemake1994b] and [Alexa2002].

5.1 TRIANGLES AND AN AFFINE TRANSFORMATION


e question is to give a continuous interpolation for given two triangles (see Figure 5.1). One way
to deal with this question is a linear interpolation of the corresponding vertices. In this chapter,
we take an alternative method: use of an interpolation of affine transformation.

Figure 5.1: Interpolation of triangles.

First of all, we notice that there is a unique affine transformation that maps a given trian-
gle to another one. Specifically, suppose that we are given three points .x1 ; y1 /T ; .x2 ; y2 /T , and
.x3 ; y3 /T 2 R2 forming a triangle, then there is a unique affine transformation
0 1 0 10 1
x1 x3 x2 x3 x3 x1 x2 x3 1 0 0
@y1 y3 y2 y3 y3 A D @y1 y2 y3 A @ 0 1 0A (5.1)
0 0 1 1 1 1 1 1 1

which maps three points .1; 0/T ; .0; 1/T ; .0; 0/T 2 R2 into the given three points in this order.
In other words, the set of three points forming a triangle is a principal homogeneous space of the
affine transformation group Aff.2/. Suppose that we are given three points .x1 ; y1 /T ; .x2 ; y2 /T ,
and .x3 ; y3 /T 2 R2 and want to map them onto other three points .x10 ; y10 /T ; .x20 ; y20 /T , and
42 5. 2D AFFINE TRANSFORMATION BETWEEN TWO TRIANGLES
.x30 ; y30 /T 2 R2 in this order. en the following 3  3-matrix
0 10 1 1
x10 x20 x30 x1 x2 x3
AO D @y10 y20 y30 A @y1 y2 y3 A (5.2)
1 1 1 1 1 1
0 1
a1;1 a1;2 dx
is of the form @a2;1 a2;2 dy A, and represents the requested affine transformation. We denote
0 0 1
the group of the two-dimensional affine transformations by Aff.2/, which are represented by
3  3-matrices of the above form. Note that all the entries aij , dx , and dy are linear in entries of
xj0 ’s. is observation is important in global optimization (see Section 6.3).
 
a1;1 a1;2
We call A D as the linear part and dAO D .dx ; dy /T as the translation part of AO
a2;1 a2;2
and consider them separately for interpolation. Interpolating the translation part can be neglected
(see the discussion in Section 6.3). We focus on interpolation of linear transformation here. In
general we may assume that transformation is orientation preserving, that is, it does not flip 2D
shapes. We denote the group of the orientation-preserving linear transformations by GLC .2/,
which are represented by matrices with positive determinants. We want to interpolate between
the identity matrix and a given matrix A 2 GLC .2/.

5.2 COMPARISON OF THREE INTERPOLATION


METHODS
Next we introduce and compare the following three interpolation methods between the identity
matrix and a matrix A 2 GLC .2/.

• AL .t/ WD .1 t /I C tA, linear interpolation.

• AP .t/ WD R t  S L .t / D R t ..1 t /I C tS / (see [Alexa2000]).

• AE .t/ WD Rt S t D R t  exp.t log S / (see [Kaji2012]).

A homotopy of a linear transformation A 2 GLC .2/ is a series of matrices A.t / parametrized


by time t 2 Œ0; 1 such that A.0/ D I and A.1/ D A, where I is the identity matrix. e above
three interpolants AL .t /; AP .t /, and AE .t / satisfy these properties.
e first one AL gives a linear interpolation in the space of all square matrices M.n/. is
means that the interpolated matrices can be degenerate (not regular) so that the shape induced
by AL .t0 / might collapse for some t0 .
On the one hand, both homotopies AP and AE use the polar decomposition: A D RS
[Shoemake1994b]. ese homotopies take the same strategy in the sense that they interpolate
5.2. COMPARISON OF THREE INTERPOLATION METHODS 43
A
GL+(2) Matrix
SO(2) × Sym+(2)
decom
linear
interpolation

A’
GL+(2) Matrix
SO(2) × Sym (2)
product

Figure 5.2: ARAP Interpolation in with AP .

A B
GL+(2) Matrix
SO(2) × Sym+(2) log
 (2) × !"(2)
decom
linear
interpolation
A’ B’
GL+(2) Matrix
SO(2) × Sym+(2) exp
 (2) × !"(2)
product

Figure 5.3: Log-Exp interpolation with AE .

the rotation part and the symmetric part independently, and then get the interpolation of A by
multiplying the individual interpolations. Figures 5.2 and 5.3 illustrate AP and AE , respectively.
Now we observe more carefully how to interpolate with the homotopies AP and AE , refer-
ring to Figures 5.4 and 5.5. After the polar decomposition in AP or AE , the rotation interpolation
at t (t 2 R) is the t -th power of matrix R, that is, Rt D R t  . Note that we can take the angle
 to be  <    , while  has choice up to modulo 2 . is would cause a problem, which
will be discussed in Section 6.3. rough the discussions in Sections 4.1–4.3, we know that
this means a simple interpolation technique in Lie group SO.2/ through linear interpolation in
its Lie algebra so.2/. First recall that the Lie algebra so.2/ is the set of matrices in the form of
     
0  cos  sin  0 
, with  2 R. Using the logarithm, we have log D . en
 0 sin  cos   0
it is easy to see that so.2/ is isomorphic to the real number space R as a vector space. e rota-
tion interpolation R t  can therefore be considered via the exponential map from so.2/ to SO.2/:
   
0 t cos t sin t 
exp D . As for the symmetric factors S , these two interpolations
t 0 sin t cos t
AP and AE take the different approaches. AP interpolates linearly the symmetric S . As illustrated
in Figure 5.2, the symmetric part then gives a map from SymC .2/ to Sym.2/. is means that the
symmetric interpolant in AP might provide us a degenerate matrix, which is a situation similar
to AL . On the other hand, AE linearly interpolates log.S/. e “log”operations are done for both
rotation and symmetric factors, as illustrated in Figure 5.3. In the special case A D S 2 SymC .2/,
then we have S P .t / D .1 t/I C tS and S E .t / D exp.t log.S // D S t . e difference between
these two methods is illustrated in Figure 5.6. e method AE .t/ uses both the logarithm and
44 5. 2D AFFINE TRANSFORMATION BETWEEN TWO TRIANGLES
A
A = Rθ S (Rθ, S)
linear
interpolation
A’
AP = Rt θ ((1 − t)I + tS) (Rt θ, (1 − t)I + tS)

Figure 5.4: Equations in the ARAP interpolation (Figure 5.2).

( 0 −θ (
A B
A = Rθ S (Rθ, S) ( θ 0 , logS)
linear
interpolation

(0 −t θ
A’ B’
AE = Rt θ exp(t log S) (Rt θ, exp(t log S)) ( tθ 0 (
, t logS)

Figure 5.5: Equations in the Log-Exp interpolation (Figure 5.3).

×2 ×2 ×2 ×2 ×√3 ×√3 ×√3 ×√3

Figure 5.6: Linear interpolation (left ); exponential interpolation (right ).

the exponential map, which can be understood a combination of the ideas in [Alexa2002] and
[Shoemake1994b]. roughout this book we refer to this interpolation technique as Log-Exp
interpolation.
CHAPTER 6

Global 2D Shape Interpolation


6.1 LOCAL TO GLOBAL
Rather than a simple triangle case in Chapter 5, we deal with more general 2D shape interpolation
techniques, where we are given two input shapes: source and target (Figure 6.1). We then assume
that each shape may be compatibly triangulated.¹ is means that we assume that each shape
is triangulated, and that one-to-one correspondence is established between the triangles of the
source and target shapes.

Figure 6.1: Problem: Construct a continuous transformation between two triangulated 2D figures.

ere are many approaches, including those mentioned earlier, for 2D shape interpolation
under the above assumptions. A typical scenario of these approaches came from the seminal work
of [Alexa2000]: We first define a homotopy of affine maps for each pair of the corresponding
triangles of the source and target objects, such that it connects the identity map and the local
affine map that gives a bijection between the corresponding triangles. Let us call this homotopy
local. Next we construct the homotopy that gives global interpolation between the source and
target. is homotopy is defined as a family of the piecewise affine maps, each of which is derived
from the affine maps of the local homotopy through a certain energy minimization process. is
scenario works well and has inspired many research works.
However, from a practicality viewpoint, there remain many things to be improved and
polished. For example, the following practical aspects of the methods should be addressed:
(a) controllability—How to add constraints to get a better result?
(b) rotation consistency—How to treat large rotations (> 180 degrees)?
¹In general, when the two shapes are given without boundary matching nor compatible triangulation, we would need a pre-
process to establish them. As for this issue, [Baxter2009] is a good reference describing the most relevant techniques along
with their own approach.
46 6. GLOBAL 2D SHAPE INTERPOLATION
(c) symmetry—Can we make it possible that the vertex paths for interpolation from shape A to
shape B are the same as from B to A?

Recently [Baxter2008] gave a formulation of rigid shape interpolation using normal equations,
presenting the algorithms that meet these requirements.
is section presents a mathematical framework for the above homotopic approaches using
affine maps. We start with analyzing the local affine map directly, and introduce a new local ho-
motopy between the affine maps. We also present the algorithms to achieve global interpolation,
each of which minimizes an energy function with user-specified constraints. We also discuss how
the algorithms meet the above practical requirements. We demonstrate that our mathematical
framework gives a comprehensive understanding of rigid interpolation/deformation approaches.
In particular we illustrate the power of this framework with the animation examples obtained by
several different constraint functions.

6.2 FORMULATION
We now describe the source and target shapes which are compatibly triangulated more explicitly.
To make it, we denote the source shape made of triangles by P D .p1 ; : : : ; pn /; .pi 2 R2 /, where
each pi is a triangle vertex. Similarly we denote the target shape by Q D .q1 ; : : : ; qn /; .qi 2 R2 /,
which are the triangle vertices. e triangles are denoted by 1 ; : : : ; m , where i D fi1 ; i2 ; i3 g is
the set of the indices of the three vertices. Hence, the i -th source (respectively, target) triangle
consists of pi1 ; pi2 , and pi3 (respectively, qi1 ; qi2 , and qi3 ) for i D fi1 ; i2 ; i3 g (Figure 6.2).

p3
q4
τ3 q5
p4 p2 τ2
τ3 q3
τ2 τ1
τ1 q1 q2
p1
p5

source target

Figure 6.2: Local affine maps for triangle meshes: 1 D f1; 2; 5g, 2 D f2; 4; 5g, 3 D f2; 3; 4g.

rough Sections 5.1 and 6.3, our local and global interpolation techniques are summarized
as follows:

• (from triangle to affine transformation) For each pair of the source and the target triangles
corresponding to i , we initially get the affine map AOi 2 Aff.2/ that maps the initial triangle
to the target triangle.
6.3. ERROR FUNCTION FOR GLOBAL INTERPOLATION 47
• (local interpolation of linear part) We then construct a homotopy between the 2  2 identity
matrix and the linear part Ai of AOi (i.e., from I2 2 GLC .2/ to Ai 2 GLC .2/). e homo-
topy is parametrized by t , with 0  t  1. e collection fAOi j i D 1; 2; : : : ; mg of affine
maps AOi ’s can be considered as a piecewise affine transformation from P to Q (see its precise
definition in Section 6.3).
• (global interpolation via error function) We next construct a global homotopy between the
inclusion map P ,! R2 and the piecewise affine transformation from P to Q, which will
be denoted by fBO i .t / 2 Aff.2/ j i D 1; 2; : : : ; mg with t 2 R in Section 6.3. It is obtained
by minimizing a global error function regarding the linear part Bi (of BO i ) and Ai along with
the user-specified constraint function.
We have been explained the first and the second procedure. We now explain the final procedure.

6.3 ERROR FUNCTION FOR GLOBAL INTERPOLATION


To achieve global interpolation between the two shapes, we have to assemble local transformations
considered in Section 5.2 (also see Figure 6.3). In our context, this means that we represent a global

Figure 6.3: Interpolation of triangles.

transformation as a piecewise affine transformation (Figure 6.4). More precisely, we consider a


collection of affine maps
B.t / WD fBO i .t / 2 Aff.2/ j i D 1; 2; : : : ; mg; .0  t  1/
such that BO i .t /’s are consistent on the edges. More precisely, BO i .t /pk D BOj .t /pk for all t when-
ever k 2 i \ j . We put B.t/pk D BO i .t /pk for k 2 i . Let vk .t / WD B.t /pk ; .1  k  n/ be the
image of the initial vertices P . e following observation is vital in this section. e piecewise
affine transformation B.t/ which maps pk ’s to vk .t /’s is uniquely determined by (5.2) and its en-
tries are linear with respect to vk .t /’s. erefore, giving B.t / and giving vk .t /’s are equivalent and
we identify them and interchange freely in the following argument. See also Chapter 5. We also
assume naturally that
• B.t / interpolates P and Q, i.e., vk .0/ D pk and vk .1/ D qk for all k .
• Bi .t / is “close” to Ai .t /, where Bi .t / is the linear part of BO i .t/ and Ai .t/ is the local ho-
motopy obtained in the section.
48 6. GLOBAL 2D SHAPE INTERPOLATION

Figure 6.4: From local to global: from one triangle to a triangulated shape.

• Each Bi .t/ varies continuously with respect to t .


We will give a framework to obtain global interpolation from given local homotopies. For a
moment we consider a fixed t . We then introduce two more ingredients other than local homotopy
data;
• a set of local error functions

Ei W M.2; R/  GLC .2; R/ ! R0 ; .1  i  m/;

• a constraint function
C W .R2 /n ! R0 :

e local error function Ei is positive definite and quadratic with respect to the entries of the
first factor M.2; R/. Intuitively, it measures how different the given two local transformations
are. e constraint C is also positive definite and quadratic. It controls the global translation.
Furthermore, with this function, we can incorporate various constraints on the vertex path as we
will describe later.
If we are given local error functions for each triangle i ; .1  i  m/ and a constraint func-
tion, we combine them into a single global error function
m
X
E t .B/ WD Ei .Bi .t/; Ai .t // C C.v1 .t/; : : : ; vn .t//;
iD1

where we regard B.t / (or more precisely, the entries of Bi .t/ which are linear combinations of
vk .t /’s) as indeterminants to be solved. For each t , the minimizer of E t may have positive dimen-
sion in general, however, one can modify the constraint function C such that it becomes a single
point, as we see by concrete examples later. e single minimizer B.t/ is the piecewise affine map
that we take as a global interpolation method.
6.4. EXAMPLES OF LOCAL ERROR FUNCTIONS 49
Efficiency of finding the minimizer: We show that finding the minimizer of a global error func-
tion is efficient enough. Since the global error function is a positive definite quadratic form, it can
be written as a function of v .t/ D .v1 .t /x ; v1 .t /y ; : : : ; vn .t /x ; vn .t/y /T 2 R2n as

E.v .t // D v .t /T Gv .t/ C v .t /T u.t/ C c;

for some .2n  2n/-symmetric positive definite matrix G , u.t/ 2 R2n , and c 2 R. We see that
v .t/ D 12 G 1 u.t / is the minimizer. Note that G is time-independent and we need to compute
G 1 just once for all frames (see [Alexa2000]).

6.4 EXAMPLES OF LOCAL ERROR FUNCTIONS


In the above point of view, we have a flexibility to choose error functions. For example, we can
take
X
EiP .Bi .t /; Ai .t// WD jjBi .t/pk Ai .t /pk jj2 : (6.1)
k2i
EiF .Bi .t /; Ai .t// WD jjBi .t/ Ai .t/jj2F ; (6.2)
X 2
EiS .Bi .t /; Ai .t// WD min kBi .t /pk sRı Ai .t /pk k ; (6.3)
s;ı2R
k2i
EiR .Bi .t /; Ai .t// WD min kBi .t/ sRı Ai .t/k2F ; (6.4)
s;ı2R
X
where the Frobenius norm of a matrix M D .mij / is defined to be kM k2F D m2ij . We now
i;j
P
compare these error functions. e error function E measures how the intermediate vertices
vk .t /’s are different from those obtained by applying the local transformations to the initial ver-
tices. However, this intuitive approach does not produce a good result. We have to speculate on
how to define a good error function.
e error function E F is used in [Alexa2000]. It measures how the local transformation and
the final global transformation differ as linear maps. e resulting global error function is invariant
under translation and hence requires two-dimensional constraints to get a unique minimizer. For
example, [Alexa2000] proposes the following constraint function:

C.v1 .t/; : : : ; vn .t // D jj.1 t /p1 C tq1 v1 .t/jj2 :

It produces a fairly satisfactory global transformation when the constraint function is very simple
and rotation is “homogeneous.” However, this method fails if (a) we want to put some constraints
(see Figure 6.5), or (b) the expected rotation angles vary beyond 2 from triangles to triangles
(see Figure 6.6).
In order to achieve more flexibility of shape deformation and easier manipulation by a user,
[Igarashi2009] and [Igarashi2005] considered error functions which are invariant under similarity
50 6. GLOBAL 2D SHAPE INTERPOLATION

t=0 t = 0.3 t = 0.6 t=1

Figure 6.5: An example of global interpolation obtained by EiF with the constraints on the vertices
loci indicated by the curves. In the intermediate frames around t D 0:3 and t D 0:6, extreme shrink
and flip of triangles are observed.

Figure 6.6: An example of global interpolation obtained by EiF . To obtain smooth interpolation
between the leftmost and rightmost figures, local transformations should deal with rotation angles
larger than  , but EiF fails to make it.

transformation, i.e., rotation and scale. [Werman1995] has proposed an error function E S , which
is slightly different from them. It measures how different the two sets of points fAi .t /pk g and
fBi .t /pk g are up to similarity transformation. In [Igarashi2009] and [Igarashi2005] they used
a constraint function which forces the vertex loci to be on the specified curves. We will see the
detailed construction later.
For the purpose of finding a best-matching global transformation with given local trans-
formations, it is better to use a metric in the space of transformations, rather than in the space
of points. e error function E R , which is a slight modification of E S , measures how different
Ai .t/ and Bi .t / are as linear maps up to rotation and scale. e above function E R has a closed
form
2 
B  AT C 2 det B  AT
min ksRı A Bk2F D kBk2F F
: (6.5)
s;ı2R kAk2F
6.4. EXAMPLES OF LOCAL ERROR FUNCTIONS 51
A proof of formula (6.5) is given in Section A.3. is is positive definite quadratic with respect
to the entries of B . Since it is invariant under similarity transformation, it avoids the flaws of EiF
in the cases of (a) and (b); compare Figure 6.7 with Figure 6.5, and Figure 6.8 with Figure 6.6,
respectively.

t=0 t = 0.3 t = 0.6 t=1

Figure 6.7: An example of global interpolation obtained by EiR with the same input data as Figure 6.5.
By allowing rotational and scale variance without any penalty in the error function, we can get more
flexible control of the output animation.

Figure 6.8: An example of global interpolation obtained by EiR with the same input data as Figure 6.6.
e proper rotation angles for the local triangles are automatically chosen by minimizing the global
error function.

We note that a positive linear combination of positive definite quadratic function is also
a positive definite quadratic function. is means that a linear combination of above mentioned
error functions is also an error function. is idea can be used for practical improvement. We give
three examples:
(i) In assembling local error functions, we can take weighted sum instead of ordinary sum. We
can put large weights to more important parts (triangles). For example, the more the area
of triangle is, the more important its rigidity becomes. Hence, it is reasonable to weight by
the areas of the initial triangles:
Ei Area..pi1 ; pi2 ; pi3 //Ei .i D fi1 ; i2 ; i3 g/:
52 6. GLOBAL 2D SHAPE INTERPOLATION
is was already discussed in [Xu2005] and [Baxter2008] as well.
(ii) e local error function EiR in (6.4) is employed for a general use. However, we may not
want some parts of the 2D shape to rotate or to scale (such as a face of a character). In such
cases, we can use a balanced local error function

wi EiF .t/ C .1 wi /EiR .t /;

where wi 2 Œ0; 1. If we put a large wi , the rotation and scale of the triangle i would be
suppressed. We thus believe that our framework provides more user controllability over
previous approaches.
(iii) As is shown in [Baxter2008], we can symmetrize the interpolation by symmetrizing the
error function. Let Ei .t / be a global error function for a local homotopies Ai .t/, and Ei 1 .t/
be that for Ai 1 .t/. en define a new error function by

Ei0 .t / WD Ei .t / C Ei 1 .1 t/:

is is symmetric in the sense that it is invariant under the substitution Ai Ai 1 and
t 1 t . at means that the same minimizing solution is given if we swap the initial and
the terminal polygons and reversing time.

6.5 EXAMPLES OF CONSTRAINT FUNCTIONS


Now we give a concise list of the constraints we can incorporate into a constraint function
C.v1 .t /; : : : ; vn .t//. See the demonstration video in [Kaji2012].

• Some points must trace specified loci (for example, given by B-spline curves). is is realized
as follows: let uk .t / be a user-specified locus of pk with uk .0/ D pk and uk .1/ D qk . en
add the term ck jjvk .t/ uk .t /jj2 , where ck  0 is a weight.
• e directions of some edges must be fixed. is is realized by adding the term ckl jjvk .t/
vl .t / ekl .t/jj2 , where ekl .t/ 2 R2 is a user-specified vector and ckl  0 a weight. is gives
a simple way to control the global rotation.
• e barycenter must trace a specified locus uo .t/. is is realized by adding the term
P
co jj n1 nkD1 vk .t/ uo .t/jj2 , where co > 0 is a weight. is gives a simple way to control
the global translation.
Likewise we can add as many constraints as we want.
CHAPTER 7

Parametrizing 3D Positive
Affine Transformations
Next we present our 3D application based on the concepts and techniques in Chapters 3 and 4. So
let us consider how to parametrize rigid or non-rigid transformations. As we’ve learned, quater-
nion or Euler angle parametrizes rotations, and dual quaternion with axis-angle presentation
parametrizes the rigid transformation [Kavan2008]. ese parametrizations are partial: they deal
only with subsets of AffC .3/, and cannot shear and scale. [Alexa2002] tried to give a Euclidean
parametrization of AffC .3/, considering the Lie correspondence between Lie group AffC .3/ and its
Lie algebra through the matrix exponential map and logarithm. However the method is limited
for the translations with non-negative eigenvectors, while the Lie correspondence only ensures
local bijectivity.
Having in mind these approaches, in this chapter we start with giving an alternative
parametrization of AffC .3/ based on Lie theory [Kaji2013], which successfully parametrizes the
whole transformations. Next we show how to integrate the parametrization method to shape
deformation techniques as well as Poisson mesh editing [Yu2004]. It will also be demonstrated
that these approaches integrated with the parametrization method allow us runtime operations
in deforming and animating 3D objects.

7.1 THE PARAMETRIZATION MAP AND ITS INVERSE


Let M.3; R/ be the set of 3  3-matrices, as usual. Recall from Section 4.3 that

   
O X l T 3
se.3/ WD X D jX D X 2 M.3; R/; l 2 R
0 0

is the Lie algebra for the 3-dimensional rigid transformation group SE.3/ and that sym.3/ is
the set of 3  3-symmetric matrices. We consider the 12-dimensional parameter space se.3/ 
sym.3/ and define the parametrization map (see Figure 7.1)

 W se.3/  sym.3/ ! AffC .3/ (7.1)


XO  Y 7! exp.X/.
O exp.Y //;
54 7. PARAMETRIZING 3D POSITIVE AFFINE TRANSFORMATIONS

 (3) × !"(3)
$

#
Aff+(3)

Figure 7.1: e parametrization maps  and .

where exp is the matrix exponential defined by (4.1) in Section 4.1 and  W M.3; R/ ! M.4; R/
is the natural embedding given by

 
B 0
.B/ D :
0 1

is map  gives a mathematically well-defined parametrization, since it is surjective and has a
continuous inverse as we see below. While the above map  is not one-to-one, we can compute
its continuous inverse explicitly, thanks to the Cartan decomposition theorem. e inverse map
is given by

W AffC .3/ ! se.3/  sym.3/


p p (7.2)
1
AO 7! log.AO . AT A/ /  log. AT A/:

(See Figure 7.1.) Note that AT A is a positive definite symmetric matrix so that its square root
matrix and its logarithm matrix are uniquely determined.
p (It is calculated by [Denman1976] and
O O
[Cheng2001], for example.) Note also that R WD A . AT A/ 1 is an element in SE.3/ and its
logarithm log.R/O is defined up to modulo 2 .
e computation by the infinite series of the matrix exponential (4.1) is very slow, and
hence, it is helpful to give an explicit formula of the matrix exponential and logarithm and a
faster algorithm. e explicit form of the matrix exponential and logarithm is given in [Kaji2016]
by mimicking the famous Rodrigues’s formula [Brockett1984] for 3D rotation matrices. See
Section A.2 for the detailed computation of (7.3)–(7.8). Let XO 2 se.3/ and RO 2 SE.3/ with
   
O O O O O X l O R d
exp.X / D R and log.R/ D X . We put X D and R D . en the expression
0 0 0 1
7.2. DEFORMER APPLICATIONS 55
of R and d in terms of X and l is given, with an auxiliary parameter  , by
q r
2 2 2 1
 D X12 C X13 C X23 D tr.X T X/; (7.3)
2
sin  1 cos  2
R D I3 C XC X ; (7.4)
  2 
1 cos   sin  2
d D I3 C X C X l: (7.5)
2 3
Conversely, the expression of X and l in terms of R and d is given by
 
1 1
 D cos tr.R/ ; (7.6)
2
 
XD R RT ; (7.7)
2 sin 
 
1 2 sin  .1 C cos  / 2
l D I3 XC X d: (7.8)
2 2 2 sin 
Here we have indeterminacy of cos 1 up to modulo 2 . However, if we impose continuity, we
can take one explicit choice. (An explicit code will be given in [Kaji-code].)
We also give a comment on the computation of the matrix exponential and logarithm for
the symmetric matrices appearing in (7.1). For any symmetric matrix Y 2 sym.3/, any matrix
function can be computed using diagonalization. However, we have introduced [Kaji2016] a
faster algorithm to compute the exponential based on the spectral decomposition (see [Moler2003],
for example). is is because, in most applications, we need to compute (7.2) only once as pre-
computation, while computing (7.1) many times in real-time.

7.2 DEFORMER APPLICATIONS


Next we explain the algorithm of our deformers. e input is:
• A target shape to be deformed,
• A set of affine transformations fAOi 2 Aff.3/ j 1  i  mg,
• e weight functions on the vertices fwi W V ! R j 1  i  mg, where V is the set of the
vertices of the target shape.
With the above data, we deform the given shape by the following map:
m
!
X
V 3 v 7!  wi .AOi / v; (7.9)
iD1

3
where we consider the vertex positions v 2 R as column vectors and the matrices multiply from
the left. Considering the above formulation, we can show the following deformer applications.
56 7. PARAMETRIZING 3D POSITIVE AFFINE TRANSFORMATIONS
$

A B
AFF+(n) Matrix
SE(n) × Sym(n) log
 (n) × !"(n)
decom
linear
interpolation
A’ B’
AFF+(n) Matrix
SE(n) × Sym(n) exp
 (n) × !"(n)
product

Figure 7.2: Deformation via Log-Exp interpolation.

Figure 7.3: e red icons show the probe-based deformer: (left ) initial positions of the probes; (right )
the target shape is deformed according to user’s manipulation of the probe icons.

Probe-based Deformer
Suppose that a target shape is given. We then assign any number of “probes” which carry trans-
form data. For example, see Figure 7.3, where the red icons mean the probes. If the probes are
transformed by the user, the target shape will accordingly be deformed. More precisely, each
probe detects the affine map AOi 2 Aff.3/ which transforms it to the current position from the
initial position. A vertex v 2 R3 on the target shape is transformed by Equation (7.9), where the
weights wi ’s are either painted manually, or computed automatically from the distance between
v and the probe location. Figure 7.4 shows another example for designing a vortex shape.
7.2. DEFORMER APPLICATIONS 57

Figure 7.4: Vortex by probe-based deformer: (left ) initial; (right ) obtained result.

Cage-based Deformer
Cage-based deformer techniques have been quite popular through recent progress found in
[Ju2005]. Suppose that a target shape is given along with a “cage” surrounding it. e cage can be
any triangulated polyhedron wrapping the target shape. We want to deform the target shape by
directly manipulating it but through the proxy cage (see Figure 7.5). Our parametrization can be
used in this framework. A tetrahedron is associated with each face triangle by adding its normal
vector (see Figure 7.6). en each face detects the affine map AOi 2 Aff.3/ which transforms the

Figure 7.5: Cage-based deformer: (left ) initialize the cage that surrounding the target; (right ) the
deformed result by user’s manipulations on the cage.

Face in the cage Adding its unit normal vector Tetrahedron Ti

Figure 7.6: e key of the algorithm.


58 7. PARAMETRIZING 3D POSITIVE AFFINE TRANSFORMATIONS
initial tetrahedron to the current tetrahedron. A vertex v 2 R3 on the target shape is transformed
by Equation (7.9), where the weights wi ’s are either painted manually, or computed automatically
from the distance between v and the center of the face. For automatic weight computation, it is
better to set wi D 0 when v lies in the outer half space of the i -th face.

7.3 INTEGRATING WITH POISSON MESH EDITING


Poisson mesh editing [Yu2004] is a widely used approach to editing triangular mesh by solving
the Poisson equation associated. is approach enables users to modify the geometry by editing
the boundary conditions for the equation and altering the gradient of mesh implicitly through
gradient field manipulation.
In this section we show how the parametrization maps in Section 7.1 are integrated into
the framework of Poisson mesh editing. In addition, an improvement of the original method
[Yu2004], known as harmonic guidance [Zayer2005], will also be discussed and compared with
the parametrization map method.

7.3.1 THE POISSON EDITS


e Poisson mesh editing, or more generally differential surface manipulation was originally de-
rived from gradient-domain image manipulation. e idea is quite simple (see [Botsch2008], for
instance): Under certain manipulation to the input image gradients g D rI , where I denotes
either of the pixel intensity (say, of R, G, B), the desired image I 0 is reconstructed so as to mini-
mize: Z
krI 0 g0 k2 dx dy; (7.10)

where  denotes the domain of image manipulation, typically a rectangular grid or a region in it,
and g0 is the modified g by the manipulations. e gradient of the resultant image I 0 is therefore
obtained as close as possible to the g0 . Variational calculus also gives us an alternative idea to
get I 0 . e I 0 is obtained as the solution of the Poisson equation with some Direchlet boundary
conditions:
I 0 D div g0 : (7.11)
A typical technique based on this idea is found in [Pérez2003], which also describes the details
of the above formulation.

e Poisson Mesh Editing


Roughly speaking, the Poisson mesh editing provides a new mesh geometry under the user-
specified constraints (i.e., local edits of the mesh geometry) by solving the Poisson equation,
where the constraints are given as the boundary condition associated with the Poisson equation.
More specifically, the Poisson equation with Direchlet boundary conditions for mesh editing is
formulated as follows:
r 2 f D div v ; f j@ D f  j@ ; (7.12)
7.3. INTEGRATING WITH POISSON MESH EDITING 59

where f is an unknown scalar function on the input mesh , f means the boundary values as
the modeling constraints on the boundary of , and v is a guidance vector field. e guidance
vector field then plays a role similar to the g0 in (7.11) for the case of image-editing. e unknown
f actually means one of the three coordinate values of the 3D position of the mesh.
Next we consider numerically solving the Poisson equation for triangle mesh. en consider
f to be the x -coordinate function. In the discretization process the mesh is a piecewise linear
surface (i.e., triangle) and then the gradient of the original x -coordinate function is constant on
each face. e gradient of the x -coordinate function thus means the projection of the unit x -axis
vector .1; 0; 0/T onto the triangle. e divergence of the guidance vector field in Equation (7.12)
can then be expressed as:
X
.div v /.pi / D r Bik v jTk j; (7.13)
Tk 2N.i /

where N.i / consists of all the triangles connected to the vertex pi . jTk j is the area of k -th tri-
angle connected to pi . Bik is the piecewise linear hat function defined on the vertex. us, the
divergence defines how much of the guidance vector goes through the mesh at a given vertex. In
[Yu2004], it is pointed out that the original formulation based on (7.10) keeps the original gra-
dients g0 constant during deformation. However, the results are not pleasing, because, when we
deform a shape, its gradient could usually be changed, i.e., the triangles are transformed during
deformation. e most deformed area should then be around the edited area (near the bound-
ary), whereas the other parts far from the boundary should not be affected by the deformation so
much.
We therefore need to control the amount of transformation of each triangle. To make it,
[Yu2004] introduces the weight for each vertex, which is defined as the distance from the bound-
ary. e weight for each triangle is then defined as the mean of three weight values of its three
vertices, which is therefore used to control how much this triangle should be locally transformed.
Since the local transform applied to each triangle may be different especially near the edited area,
the original mesh will be torn apart and the triangles are not connected any more. We thus need
to solve the Poisson equation with the altered guidance vector field, because, as mentioned in
[Yu2004], solving the Poisson equation intuitively means stitching together the previously dis-
connected triangles again. is is the heart of the Poisson mesh edit and would remind us of
the deformation techniques described in Chapters 5 and 6. ese techniques employ the energy
function to be minimized in getting a desired result, while the Poisson mesh edit approaches use
the partial differential equation. Also it is noted that the energy function is introduced in solv-
ing the global constraints problem, which is specified with the target shape, whereas the Poisson
equation deals with the local constraints (user-specified local modifications).
Solving the Poisson equation for mesh editing is thereafter reduced to solving the following
linear system for unknown f :
Af D b; (7.14)
60 7. PARAMETRIZING 3D POSITIVE AFFINE TRANSFORMATIONS
where A is the discretized differential operator, and b is prescribed with the altered guidance
vector field based on the boundary conditions and the weights.
e Poisson mesh editing is easy to implement because of its linearity and no requirement to
solve any minimization equation, which is normally quite costly in computation. On one hand,
the visual quality of deformation by the Poisson mesh editing depends highly on the weights
for vertices, even if the boundary conditions are edited properly. In [Yu2004], discrete geodesic
distance with some smoothing functions is employed for the weight calculation. Unfortunately it
is not intuitive and still suffering from non-smooth weights throughout the mesh.

7.3.2 HARMONIC GUIDANCE


e harmonic field in [Zayer2005] is defined as a scalar field h on a mesh satisfying r 2 h D 0.
Once the boundary conditions are well defined, the values in the harmonic field are distributed
linearly and very smoothly. It is then easy to integrate harmonic field into Poisson mesh edit-
ing framework because they share the same Laplacian-operator matrix, A in (7.14), so that re-
factorizing the sparse matrix is unnecessary. Once the weights are smoothly distributed over
the mesh, the transformation of gradient vectors can be propagated smoothly. In [Zayer2005],
quaternion is then used for calculating rotation, while scaling and shear is interpolated linearly.
Again this sometimes may cause extreme (or exaggerated) deformations.

7.3.3 THE PARAMETRIZATION MAP FOR POISSON MESH EDITING


We now describe an application of the parametrization map in Section 7.1 to the Poisson mesh
editing with the harmonic weights. is means to provide another Poisson mesh editing method
using the harmonic weights, which employs the parametrization map for making an arbitrary
affine maps available. It is quite natural to integrate the parametrization map with Poisson mesh
editing, because our versatile and robust parametrization of affine transformation enables smooth
propagation of not only rotation but also scaling and shear from the boundary (user-specified
constraints) to interior surface (unknown positions of free vertices on the mesh).
In our implementation, the parametrization map approach is realized as a Maya plug in.
Users are therefore able to define an arbitrary number of constraints on the mesh, while editing the
shape and creating animation by rotating, translating, and scaling through the handle operations.
In making key-frame animation, these edits are done to make a character’s pose at a
keyframe, employing pin-and-drag interface as shown in Figure 7.7. Figure 7.8 illustrates that
rotation by the parametrization map is much more flexible and easily done, rather than by quater-
nion in the harmonic guidance approach. Table 7.1 summarizes these methods described above.
7.3. INTEGRATING WITH POISSON MESH EDITING 61

Figure 7.7: e handle interface: e red nodes mean to pin (fix) the edge points of the legs, whereas
the red node with coordinate axes, called “handle,” shows that the specified vertices are under affine
transform operations.

Figure 7.8: Rotation by parametrization map: (left ) e initial pose of the octopus; (right ) one of the
legs can then be rotated over 360 degrees at runtime operations.

Table 7.1: Poisson mesh editing methods

Method Weight Distribution Rotation Representation


Poisson mesh editing Geodecis distance Quaternion
Harmonic guidance Harmonic distance Quaternion
The parametrization map Harmonic distance Log-Exp interpolation
CHAPTER 8

Further Readings
We have presented several mathematical basics that give the theoretical foundation for the de-
formation/animation techniques in computer graphics. As for your more visual understanding
of this book, we would also recommend you to refer to our SIGGRAPH 2016 course notes
[Ochiai2016a] and the video assocated with it [Ochiai2016b].
e graphics topics covered in this book are, however, not exhaustive. e mathematics
employed in this book then deal only with affine transformations, quaternions, dual quaternions,
and their Lie theoretic aspects.
In the following sections, we briefly describe some more mathematical aspects that should
further be explored for better understanding of geometric objects and their deformation and an-
imation.

DIFFERENTIAL GEOMETRIC APPROACHES


As shown in Chapters 6 and 7, we need various differential geometric concepts, such as curvature,
geodesics, and the fundamental forms, for dealing with more complex structure of deforming
geometric objects.
As a good introduction to such differential geometric approaches from the computer sci-
entific viewpoint, we would recommend the following two books: [Kimmel2004] describes dif-
ferential geometric computational methods and algorithms in image processing and analysis.
[Bronstein2009] gives a differential geometric framework for computational models of 2D and
3D non-rigid objects.
Discrete Differential Geometry, DDG, is a rapidly growing new field in mathematics, having
natural and fruitful applications in computer graphics. [Hoffmann2009] gives a good introduction
to DDG from the mathematician’s viewpoint, which we believe gives a nice overview of the theory
of discrete curves and surfaces. As for more advanced topics, [Bobenko2008] will give you a nice
guidepost, including recent results in DDG.

LIE GROUP APPLICATIONS


Quaternion is a useful tool for controlling rotation. is also suggests that quaternion is power-
ful in camera control. [Shoemake1994a] proposed a solution of the camera twist problem using
quaternions, where S3 is treated as a fiber bundle, which means that S3 is locally homeomorphic
to a direct product: (an open subset of 2d sphere) (1d circle).
64 8. FURTHER READINGS
A special class of Lie groups and Lie algebras is realized as (generalized) numbers, such
as quaternions. is class of numbers, called geometric algebra or Clifford algebra, has a long
history going back to 19th-century mathematician Clifford. A graphical approach is found in
[Hanson2006, Dorst2007], and [Dorst2011].
ere is another interesting Lie group application, which gives a keyframing method for
crowd control [Takahashi2009]. In our context, we regard the method as an interpolation tech-
nique in the orthogonal group O.n/ of size n  4.
Recently the Lie group integrators have been applied to computer animation:
[Kobilarov2009] provides a holonomic system for vehicle animations, and [Tournier2012]
presents a control system providing trade-off between physics-based simulation and kinemat-
ics control using a metric interpolation and real-time animation. e latter one uses PGA, as
described next.
Principal geodesic analysis (PGA [Fletcher2004]) provides a new statistical shape analysis
method for data manifold. e data manifold typically means the collection of shape data, such
as of hippocampus in medical imaging [Fletcher2004], or the pose manifold of a motion capture
sequence in computer animation [Tournier2012]. As is well known, Principal Component Anal-
ysis (PCA) is a standard technique for dimension reduction of statistical data lying on a Euclidian
space. PGA is a generalization of this technique for curved data manifold. In PGA the concept of
Lie group plays a fundamental role and it acts on the data manifold as a symmetric Riemannian
manifold.

TOWARD LIE THEORY


How do we describe motion/deformation of objects in Rn ? In this book we have shown the
following examples:

• Local: Affine transformation well describes a rigid or non-rigid transformation.

• Global: e set of affine maps or Poisson editing approaches well approximate deformation
and/or animation.

For global deformation, introducing a diffeomorphism (smooth bijective map whose in-
verse map is also smooth) may also give us a natural and wider framework of Lie group approaches.
We then note that the set of all diffeomorphisms for a given surface (or manifold) constitutes an
infinite-dimensional Lie group, where the multiplication is defined as composite of the diffeo-
morphisms. Unfortunately an infinite-dimensional Lie group is still difficult to understand with
the current mathematics, although many attempts have been done. For example, [Mumford2010]
gives a good introduction to this general framework, focusing on morphing between two 2D im-
ages as input.
Finally, for a more mathematical aspect of Lie groups and Lie algebras, we would like
to refer to the classical literatures: [Helgason1978] for Lie groups with differential geometry,
65
[Knapp1996] for Lie groups with representation theory, [Hochschild1965, Gorbatsevich1993],
and [Duistermaat1999] for Lie groups with structure theory. For abstract Lie algebra, we see
[Serre1992], and its representation theory with physics application is found in [Georgi1982].
ough those are a bit far from graphics applications, you can consult them to know more about
the basic ideas in Lie theory, which we believe will be quite useful for further graphics research.
APPENDIX A

Formula Derivation
In this appendix, we give a few remarks on Rodrigues formulas in Chapters 2 and 4 as well as the
energy formula in Chapter 6.

A.1 SEVERAL VERSIONS OF RODRIGUES FORMULA


Rodrigues formulas vary in liturature. Many variation are known and used. For convenience, we
summarize the relation between these formula.

R.x/ D .u; x/ C .cos  /fx .u; x/ug C .sin  /.u  x/; (A.1)
R.x/ D .cos /x C .1 cos /.u; x/u C .sin  /.u  x/; (A.2)
R.x/ D x .1 cos  /fx .u; x/ug C .sin  /.u  x/; (A.3)

RD (A.4)
0 1
cos  C .1 cos /u21 .1 cos /u1 u2 .sin  /u3 .1 cos  /u1 u3 C .sin /u2
@.1 cos  /u1 u2 C .sin /u3 cos  C .1 cos /u22 .1 cos /u2 u3 .sin  /u1 A ;
.1 cos /u1 u3 .sin  /u2 .1 cos  /u2 u3 C .sin /u1 cos  C .1 cos /u23

R D I3 C .sin  /A C .1 cos /A2 ; (A.5)


sin juj 1 cos juj 2
R D I3 C AC A ; (A.6)
juj juj2
R D exp .A/: (A.7)

Here u is assumed to be a unit vector in (A.1), (A.2), (A.3) and (A.4), while u in (A.6) may not
be a unit vector. Note that u D .u1 ; u2 ; u3 / in (A.4). Also, for (A.5) and (A.7), A D AT should
2 2 2
be ‘unit’, that is, it is assumed that a12 C a13 C a23 D 1. In all the cases, u shows the direction
of the rotation axis.
For (A.6), the relation between A and u is given by Av D u  v . To be more explicit,
0 1
0 u3 u2
A D @ u3 0 u1 A : (A.8)
u2 u1 0
q
2 2 2
is means that juj D a12 C a13 C a23 .
68 A. FORMULA DERIVATION
(A.1) explains the meaning as the 2D rotation of angle  in the plane orthgonal to the
vector u. In a sense, (A.2) is most popular in the liturature. (A.2) is same as (2.14), and (A.5) is
same as (2.15). e direct implications among these equivalent formulas are illustrated as

A:1 $ A:2 $ A:4 $ A:5 $ A:7


l l
A:3 A:6

A.2 RODRIGUES TYPE FORMULA FOR MOTION GROUP


We explain the computation of formulas (7.3)–(7.8), where (7.5) and (7.8) might be less well-
known, as compared with the others.
Having XO 2 se.3/ in Section 7.1, we notice that
 k 
O k X kX k 1 l
X D for k D 1; 2; : : : :
0 0

en
1
X    
1 Xk kX k 1 l exp.X / Y l
exp.XO / D D ;
kŠ 0 0 0 1
kD0

where we define
1
X 1 k 1
Y D X : (A.9)

kD1

is shows R D exp.X / and d D Y l .


e relations (7.3),(7.4),(7.6) and (7.7) on X and R are known as Rodrigues formulas.
Actually, (7.4) is essentially (A.5). (7.3) coincides with the requirement on the relation between
A and u in (A.5).
(7.3) gives
2 2 D tr.X 2 /:
Taking the trace of (7.4), together with tr.X/ D 0, we obtain

1 cos 
tr.R/ D 3 C tr.X 2 / D 3 2.1 cos / D 1 C 2 cos ;
2
which is equivalent to (7.6).
By (7.4), we obtain
2 sin 
R RT D X;

which is equivalent to (7.7).
A.2. RODRIGUES TYPE FORMULA FOR MOTION GROUP 69
Finally, we come to (7.5) and (7.8). What we should do is to derive

1 cos   sin  2
Y D I3 C 2
XC X ; (A.10)
 3
1 1 2 sin  .1 C cos  / 2
Y D I3 XC X : (A.11)
2 2 2 sin 
We will obtain these formulas by noticing .X 2 C  2 I3 /X D O . For (A.10),
1
X X1
1 1
Y DIC X 2m 1 C X 2m C
mD1
.2m/Š mD1
.2m C 1/Š
X1 1
X
1 1
DIC .  2 /m 1 X C .  2 /m 1
X2
mD1
.2m/Š mD1
.2m C 1/Š
1 cos   sin  2
DIC XC X :
2 3
An alternative explanation of (A.10) will be the following. We assume that Y is of the form
Y D I3 C a1 X C a2 X 2 . We compute XY in two ways:

X Y D X C a1 X 2 C a2 X 3 D .1 a2  2 /X C a1 X 2 ;
1
X 1 k sin  1 cos  2
XY D X D exp.X / I D XC X :
kŠ  2
kD1

By comparing the coefficients, we obtain 1 a2  2 D .sin  /= and a1 D .1 cos  /= 2 , which
proves (A.10).
For (A.11), we put Y D I3 C a1 X C a2 X 2 and Y 1 D I3 C b1 X C b2 X 2 , and write the
equation

I3 D Y Y 1 D .I3 C a1 X C a2 X 2 /.I3 C b1 X C b2 X 2 /
D I3 C .a1 C b1 /X C .a2 C b2 C a1 b1 /X 2 C .a1 b2 C a2 b1 /X 3 C a2 b2 X 4
D I3 C .a1 C b1 /X C .a2 C b2 C a1 b1 /X 2 .a1 b2 C a2 b1 / 2 X a2 b2  2 X 2 :

Suppose a1 C b1 .a1 b2 C a2 b1 / 2 D 0 and .a2 C b2 C a1 b1 / a2 b2  2 D 0. is requirement


is reduced to the system of linear equations in unknown variables b1 and b2 as
    
a2  2 1 a1  2 b1 a
D 1 ;
a1 a2  2 1 b2 a2

which can be solved as


    1    
b1 a2  2 1 a1  2 a1 1 a1
D D 2 2 :
b2 a1 a2  2 1 a2 a1  C .1 a2  2 /2 a12 a2 .1 a2  2 /
70 A. FORMULA DERIVATION
If we put the explicit value of a1 and a2 , then we obtain
  !
b1 1=2
D 2 sin  .1Ccos / :
b2 2 2 sin 

is is the required formula (A.11) for the inverse of Y .

A.3 PROOF OF THE ENERGY FORMULA


We give a proof of the formula (6.5)

kB  AT k2F C 2 det.B  AT /
min ksRı A Bk2F D kBk2F :
s;ı2R kAk2F
First note that the set of all matrices of the form sRı is a vector space of skew-symmetric matrices:

fsRı j s; ı 2 Rg D fxI C yJ j x; y 2 Rg:

Here we denote    
1 0 0 1
I D ; J D :
0 1 1 0
So the left-hand side of the problem is rewritten as

min ksRı A Bk2F D min k.xI C yJ /A Bk2F :


s;ı2R x;y2R

Recall the definition of Frobenius norm:

kAk2F D tr.AAT /;

where tr denotes the trace of a square matrix. en

k.xI C yJ /A Bk2F
D tr..xA C yJA B/.xAT C yAT J T B T //
D tr.x 2 AAT C xyAAT J C xyJAAT C y 2 JAAT J T
xAB T xBAT yJAB T yBAT J T C BB T /
(*)
D tr.x 2 AAT C y 2 JAAT J T 2xBAT 2yBAT J T C BB T /
D x 2 kAk2F C y 2 kJAk2F 2x tr.BAT / 2y tr.BAT J T / C kBk2F :

Here, for the computation (*), we have used

S T D S if S D AAT ; (A.12)
tr.SJ / D 0 if S T D S; (A.13)
tr.PQT / D tr.QP T /: (A.14)
A.3. PROOF OF THE ENERGY FORMULA 71
Now we will use

kJAk2F D tr.JAAT J T / D tr.AAT J T J / D tr.AAT / D kAk2F ;

since J T J D J 2 D I . is shows

k.xI C yJ /A Bk2F
D x 2 kAk2F C y 2 kAk2F 2x tr.BAT / 2y tr.BAT J T / C kBk2F
   
2 2 tr.BAT / 2 2 tr.BAT J T /
D kAkF x 2x C kAkF y 2y C kBk2F
kAk2F kAk2F
 2  2
tr.BAT / .tr.BAT //2 tr.BAT J T /
D kAk2F x C kAk 2
F y
kAk2F kAk2F kAk2F
.tr.BAT J T //2
C kBk2F
kAk2F
kB  AT k2F C 2 det.B  AT /
D kBk2F
kAk2F
 2  2
tr.BAT / tr.BAT J T /
C kAk2F x C kAk 2
F y :
kAk2F kAk2F

Here in the last equality, we have used the following identity

.trQ/2 C .tr.QJ T //2 D kQk2F C 2 det.Q/:


 
a b
is identity is equivalent, if we put Q D , to the following identity
c d

.a C d /2 C . b C c/2 D .a2 C b 2 C c 2 C d 2 / C 2.ad bc/;

which will be examined by expanding the left-hand side.


Now we see that the minimum is taken at
tr.BAT / tr.BAT J T /
xD ; y D
kAk2F kAk2F

and its minimum value is given by

kB  AT k2F C 2 det.B  AT /
kBk2F ;
kAk2F

which is the desired result. is is the end of the proof.


Bibliography
[Alexa2000] M. Alexa, D. Cohen-Or, and D. Levin, As-rigid-as-possible shape interpolation,
SIGGRAPH Proc. of the 27th Annual Conference on Computer Graphics and Interactive Tech-
niques, pages 157–164, 2000. DOI: 10.1145/344779.344859. 42, 45, 49
[Alexa2002] M. Alexa, Linear combinations of transformations, In ACM Transactions on
Graphics (TOG)—Proc. of ACM SIGGRAPH, 21(3), pages 380–387, 2002. DOI:
10.1145/566654.566592. 29, 41, 44, 53
[Baxter2008] W. Baxter, P. Barla, and K. Anjyo, Rigid shape interpolation using normal equa-
tions, In NPAR Proc. of the 6th International Symposium on Non-photorealistic Animation and
Rendering, pages 59–64, 2008. DOI: 10.1145/1377980.1377993. 46, 52
[Baxter2009] W. Baxter, P. Barla, and K. Anjyo, Compatible embedding for 2D shape animation,
IEEE Transactions on Visualization and Computer Graphics, 15(5), pages 867–879, 2009.
DOI: 10.1109/TVCG.2009.38. 45
[Bobenko2008] A.I. Bobenko, P. Schröder, J.M. Sullivan, and G.M. Ziegler (Eds.), Discrete
Differential Geometry, Obervolfach Seminars vol. 38, Birkhäuser, 2008. DOI: 10.1007/978-
3-7643-8621-4. 63
[Botsch2008] M. Botsch and O. Sorkine, On linear variational surface deformation methods,
IEEE Transactions on Visualization and Computer Graphics, 14(1), pages 213–230, 2008.
DOI: 10.1109/TVCG.2007.1054. 58
[Brockett1984] R.W. Brockett, Robotic manipulators and the product of exponentials formula,
Mathematical eory of Networks and Systems, Lecture Notes in Control and Information
Sciences, 58, pages 120–129, 1984. DOI: 10.1007/BFb0031048. 54
[Bronstein2009] A.M. Bronstein, M.M. Bronstein, and R. Kimmel, Numerical Geometry of Non-
Rigid Shapes, Springer-Verlag, 2009. 63
[Chaudhry2010] E. Chaudhry, L.H. You, and J.J. Zhang, Character skin deformation: A survey,
Proc. of the 7th International Conference on Computer Graphics, Imaging and Visualization
(CGIV2010), pages 41–48, IEEE, 2010. DOI: 10.1109/CGIV.2010.14. 29
[Cheng2001] S.H. Cheng, N.J. Higham, C.S. Kenney, and A.J. Laub, Approximating the log-
arithm of a matrix to specified accuracy, SIAM Journal on Matrix Analysis and Applications,
22(4), pages 1112–1125, 2001. DOI: 10.1137/S0895479899364015. 54
74 BIBLIOGRAPHY
[Denman1976] E.D. Denman and A.N. Beavers, e matrix sign function and computa-
tions in systems, Applied Mathematics and Computation, 2(1), pages 63–94, 1976. DOI:
10.1016/0096-3003(76)90020-5. 54
[Dorst2007] L. Dorst, D. Fontijne, and S. Mann, Geometric Algebra for Computer Science, Morgan
and Kaufmann, 2007. 64
[Dorst2011] L. Dorst and J. Lasenby, (Ed.), Guide to Geometric Algebra in Practice, Springer-
Verlag, 2011. DOI: 10.1007/978-0-85729-811-9. 64
[Duistermaat1999] J.J. Duistermaat and J.A.C. Kolk, Lie Groups, Springer, Universitext, 1999.
65
[Ebbinghaus1991] H.-D. Ebbinghaus, H. Hermes, F. Hirzebruch, M. Koecher, K. Mainzer, J.
Neukirch, A. Prestel, and R. Remmert, Numbers, Graduate Texts in Mathematics, Springer-
Verlag, 1991. DOI: 10.1007/978-1-4612-1005-4. 3, 13
[Fletcher2004] P.T. Fletcher, C.Lu, S.M. Pizer, and S. Joshi, Principal geodesic analysis for
the study of nonlinear statistics of shape, IEEE Transactions on Medical Imaging, 23(8),
pages 995-1005, 2004. DOI: 10.1109/TMI.2004.831793. 64
[Georgi1982] H. Georgi, Lie Algebras in Particle Physics, from Isospin to Unified eories, Ben-
jamin/Cummings Publishing Co., Inc., 1982. 65
[Gorbatsevich1993] V.V. Gorbatsevich, A.L. Onishchik, and E.B. Vinberg, Foundations of Lie
eory and Lie Transformation Groups, Springer-Verlag, 1993. Originally published as Lie
Groups and Lie Algebras I, vol. 20 of the Encyclopaedia of Math. Sci., Springer-Verlag. 65
[Hanson2006] A. Hanson, Visualizing Quaternions, Morgan-Kaufmann/Elsevier, 2006. 13, 64
[Helgason1978] S. Helgason, Differential Geometry, Lie Groups, and Symmetric Spaces, Academic
Press, 1978, reprinted by the American Mathematical Society, 2001. 28, 64
[Hochschild1965] G. Hochschild, e Structure of Lie Groups, Holden-Day, Inc., Amsterdam,
1965. 65
[Hoffmann2009] T. Hoffmann, Discrete Differential Geometry of Curves and Surfaces, MI Lecture
Note Series, Kyushu University, vol. 16, 2009. 63
[Igarashi2005] T. Igarashi, T. Moscivich, and J.F. Hughes, As-rigid-as-possible shape manipula-
tion, ACM Transactions on Graphics (TOG)—Proc. of ACM SIGGRAPH, 24(3), pages 1134–
1141, 2005. 49, 50
[Igarashi2009] T. Igarashi and Y. Igarashi, Implementing as-rigid-as-possible shape manipula-
tion and surface flattening, Journal of Graphics, GPU, and Game Tools, 14(1), pages 17–30,
2009. 49, 50
BIBLIOGRAPHY 75
[ Ju2005] T. Ju, S. Schaefer, and J. Warren, Mean value coordinates for closed triangular meshes,
ACM Transactions on Graphics (TOG)—Proc. of ACM SIGGRAPH 24(3), pages 561–566,
2005. DOI: 10.1145/1073204.1073229. 57

[Kaji2012] S. Kaji, S. Hirose, S. Sakata, Y. Mizoguchi, and K. Anjyo, Mathematical analysis


on affine maps for 2D shape interpolation, SCA Proc. of the ACM SIGGRAPH/Eurographics
Symposium on Computer Animation , pages 71–76, 2012 DOI: 10.2312/SCA/SCA12/071-
076. 42, 52

[Kaji2013] S. Kaji, S. Hirose, H. Ochiai, and K. Anjyo, A lie theoretic parameterization


of affine transformations, Proc. MEIS2013 Symposium: Mathematical Progress in Ex-
pressive Image Synthesis, MI Lecture Note Series vol. 50, pages 134–140, 2013. DOI:
10.1145/2542266.2542268. 53

[Kaji2016] S. Kaji and H. Ochiai, A concise parametrization of affine transformation, SIAM J.


Imaging Sci., 9(3), pages 1355–1373, 2016. 10.1137/16M1056936. 54, 55

[Kaji-code] S. Kaji, A c++ library for 3d affine transformation. https://github.com/shizuo-


kaji/AffineLib, 2014. 55

[Kavan2008] L. Kavan, S. Collins, J. Zara, and C. O’Sullivan, Geometric skinning with approx-
imate dual quaternion blending, ACM Transactions on Graphics (TOG), 27(4), Article 105,
2008. DOI: 10.1145/1409625.1409627. 17, 36, 53

[Kimmel2004] R. Kimmel, Numerical Geometry of Images, Springer-Verlag, 2004. DOI:


10.1007/978-0-387-21637-9. 63

[Klein1926] F. Klein, Vorlesungen über die Entwicklung der Mathematik im 19. Jahrhundert I,
Springer-Verlag, 1926. See also, Development of Mathematics in the 19th century, translated
by M. Ackerman, Math. Sci. Press, 1979. 25

[Knapp1996] A. Knapp, Lie Groups, Beyond an Introduction, Birkhäuser, 1996. DOI:


10.1007/978-1-4757-2453-0. 65

[Kobilarov2009] M. Kobilarov, K. Crane, and M. Desbrun, Lie group integrators for animation
and control of vehicles, ACM Transactions on Graphics (TOG), 28(6), Article 16, 2009. DOI:
10.1145/1516522.1516527. 64

[Lewis2000] J.P. Lewis, M. Cordner, and N. Fong, Pose space deformation: A unified approach
to shape interpolation and skeleton-driven deformation, SIGGRAPH Proc. of the 27th An-
nual Conference on Computer Graphics and Interactive Techniques, pages 165–172, 2000. DOI:
10.1145/344779.344862. 29
76 BIBLIOGRAPHY
[Matsuda2004] G. Matsuda, S. Kaji, and H. Ochiai, Anti-commutative dual 2d rigid transfor-
mation, Mathematical Progress in Expressive Image Synthesis I, Springer-Verlag, 2014. DOI:
10.1007/978-4-431-55007-5_17. 19

[Moler2003] C. Moler and C. van Loan, Nineteen dubious ways to compute the exponen-
tial of a matrix, twenty-five years later, SIAM Review, 45(1), pages 3–49, 2003. DOI:
10.1137/S00361445024180. 55

[Mumford2010] D. Mumford and A. Desoineux, Pattern eory, A.K. Peters, 2010. 64

[Nieto2013] J.R. Nieto and A. Susín, Cage based deformations: A survey, Deformation Models,
M.G. Hidalgo, A.M. Torres and Javier Varona Gómez (Eds.) Lecture Notes in Computa-
tional Vision and Biomechanics 7, 2013. DOI: 10.1007/978-94-007-5446-1_3. 29

[Ochiai2016a] H. Ochiai, K. Anjyo and A. Kimura, An elementary introduction to matrix expo-


nential for CG, SIGGRAPH Courses, Article No. 4, 2016. DOI: 10.1145/2897826.2927338.
63

[Ochiai2016b] H. Ochiai, K. Anjyo and A. Kimura, Mathematical basics for computer graphics,
2016. https://youtu.be/I2Y-pJYmu9A. 63

[Pérez2003] P. Pérez, M. Gangnet, and A. Blake, Poisson image editing, ACM Transactions on
Graphics (TOG), 22(3), pages 313–318, 2003. DOI: 10.1145/882262.882269. 58

[Serre1992] Jean-Pierre Serre, Lie algebras and lie groups. 1964 lectures given at Harvard Uni-
versity, 2nd ed., Lecture Notes in Mathematics, 1500, Springer-Verlag, Berlin, 1992. 35, 65

[Shoemake1985] K. Shoemake, Animating rotation with quaternion curves, In SIGGRAPH


Proc. of the 12th Annual Conference on Computer Graphics and Interactive Techniques,
pages 245–254, 1985. DOI: 10.1145/325334.325242. 13

[Shoemake1994a] K. Shoemake, Fiber bundle twist reduction, Graphics Gems IV, Academic
Press, pages 230–236, 1994. DOI: 10.1016/B978-0-12-336156-1.50031-8. 63

[Shoemake1994b] K. Shoemake, Quaternions, 1994. http://www.cs.ucr.edu/~vbz/resour


ces/quatut.pdf 41, 42, 44

[Stubhaug2002] A. Stubhaug, e Mathematician Sophus Lie—It was the Audacity of My ink-


ing, Springer-Verlag, 2002. e original publication in Norwegian is in 2000 from H. As-
chehoug & Co. DOI: 10.1007/978-3-662-04386-8. 33

[Takahashi2009] S. Takahashi, K. Yoshida, T. Kwon, K.H. Lee, J. Lee, and S.Y. Shin, Spectral-
based group formation control, Computer Graphics Forum, 28(2), pages 639–648. 2009. DOI:
10.1111/j.1467-8659.2009.01404.x. 64
BIBLIOGRAPHY 77
[Tournier2009] M. Tournier, X. Wu, N. Courty, E. Amaud, and L. Revéret, Motion compres-
sion using principal geodesics analysis, Computer Graphics Forum, 28(2), pages 355–364,
2009. DOI: 10.1111/j.1467-8659.2009.01375.x. 29
[Tournier2012] M. Tournier and L. Revéret, Principal geodesic dynamics, SCA Proc. of the ACM
SIGGRAPH/Eurographics Symposium on Computer Animation, pages 235–244, 2012. DOI:
10.2312/SCA/SCA12/235-244. 64
[Vince2011] J. Vince, Quaternions for Computer Graphics, Springer-Verlag, 2011. DOI:
10.1007/978-0-85729-760-0. 13
[Watt1992] A. Watt and M. Watt, Advanced Animation and Rendering Techniques, Addison
Wesley, 1992. 13
[Werman1995] M. Werman and D. Weishall, Similarity and affine invariant distances be-
tween 2d point sets, IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(18),
pages 810–814, 1995. DOI: 10.1109/34.400572. 50
[Xu2005] D. Xu, H. Zhang, Q. Wang, and H. Bao, Poisson shape interpolation, SPM
Proc. of the ACM Symposium on Solid and Physical Modeling, pages 267–274, 2005. DOI:
10.1145/1060244.1060274. 52
[Yu2004] Y. Yu, K. Zhou, D. Xu, X. Shi, H. Bao, B. Guo, and H.-Y. Shum, Mesh editing with
poisson-based gradient field manipulation, ACM Transactions on Graphics (TOG)—Proc. of
ACM SIGGRAPH, 23(3), pages 644–651, 2004. DOI: 10.1145/1015706.1015774. 53, 58,
59, 60
[Zayer2005] R. Zayer, C. Rssl, Z. Karni, and H.-P. Seidel, Harmonic guidance for surface de-
formation, Computer Graphics Forum, 24(3), pages 601–609, 2005. DOI: 10.1111/j.1467-
8659.2005.00885.x. 58, 60

You might also like