Mathematical Basics of Motion and Deformation in Computer Graphics. Ken Anjyo
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 quaternions in Chapters 4 and 5. The Lie theoretic approach is also successfully applied to parametrization issues in Chapters 6 and 7, where we provide several useful recipes for rigid motion description 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 mathematicians 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. The 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. These 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 mathematics. 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 mathematical concepts are useful in our graphics context, rather than learning deeply their rigorous mathematical entities.
GROUP
Let G be a set associated with an operation “·”. If the pair (G, ·) satisfies the following properties, then it is called a group. Or we would call G itself a group:
1. For any a, b ∊ G, the result of the operation, denoted by a · b, also belongs to G.
2. For any a, b and c ∊ G, we have a · (b · c) = (a · b) · c.
3. There exists an element e ∊ G, such that e · a = a · e = a, for any element a ∊ G. (The element is then called the identity of G).
4. For each a ∊ G, there exists an element b ∊ G such that a · b = b · a = e, where e is the identity. (The 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, respectively. R or C is then a group with addition (i.e., the operation “·” simply means +), and called commutative, since a + b = b + 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. The 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. The 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.
QUATERNION
The 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 numbers x + iy as those for ordered pairs of two real numbers (x, y). As is well known, complex numbers can express 2D rotations. This motivates many mathematicians 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 = R + Ri + Rj + Rk, where we introduce the three numbers i, j and k satisfying the following rules:
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.