Transformation Blending If every vertex is attached to only a single bone, then transformations applied to the bones may cause mesh surfaces to interpenetrate at a joint (Fig. 4.12a, b). Figure 4.12b also shows how large flat surface patches can appear at a joint when two adjacent vertices move away from each other because of […]

# Advanced Methods in Computer Graphics

## Skeletal Animation (Advanced Methods in Computer Graphics) Part 4

Skinned Mesh Node The SkinnedMesh class encapsulates data and related functions for loading a mesh file consisting of vertex and polygon lists, attaching a skeleton, and transforming the vertices using the joint angles associated with the bones of the skeleton (Listing 4.3). As shown in Fig. 4.11, the SkinnedMesh class uses three vertex lists in […]

## Quaternions (Advanced Methods in Computer Graphics) Part 1

Overview In computer graphics applications, quaternions are used to represent threedimensional rotations. They provide some key advantages over the traditional way of defining generic rotational transformations using Euler angles. Quaternions are also extremely useful for interpolating between two orientations in threedimensional space. Keyframe animations requiring orientation interpolation therefore find a very convenient mathematical tool in […]

## Quaternions (Advanced Methods in Computer Graphics) Part 2

Generalized Rotations Before we further analyze the transform properties of quaternions, it would be worthwhile to review some of the key concepts relating to general three-dimensional rotations. Any composite transformation that preserves length, angle and area is called a rigid-body transformation. If a rigid body transformation has also a fixed point (pivot), then it is […]

## Quaternions (Advanced Methods in Computer Graphics) Part 3

Quaternion Rotations We will now try to represent the rotational transformation in Fig. 5.6 by a unit quaternion Q = (q0,w), where the vector component w of the quaternion is along the axis of rotation. Therefore we have We saw earlier that a vector p can be transformed into another vector p’ using a unit […]

## Quaternions (Advanced Methods in Computer Graphics) Part 4

Rotation Interpolation Animation sequences commonly use interpolated values between two poses. A pose defines the position and orientation an object. Position interpolation can be carried out either by interpolating between the corresponding coordinate values, or by fitting parametric curves (splines) through the points. However, interpolation between two orientations in three-dimensional space need not always produce […]

## Quaternions (Advanced Methods in Computer Graphics) Part 5

Quaternion Linear Interpolation (LERP) Given two unit quaternions a linear interpolation gives the quaternion The quaternion resulting from the above equation is converted to a unit quaternion before a transformation of the form QPQ* is applied to all points P of the object. Every unit quaternion lies on a unit sphere in the four-dimensional space […]

## Quaternions (Advanced Methods in Computer Graphics) Part 6

Dual Quaternions In previous sections we saw applications of unit quaternions in representing rotational transformations. Dual quaternions generalize the notion of quaternions to an 8-tuple, and provide a convenient tool for representing rigid body transformations containing both rotations and translations in three-dimensional space. The mathematical structure of dual quaternions uses two quaternions that are combined […]

## Kinematics (Advanced Methods in Computer Graphics) Part 1

Overview The term “kinematics” refers to the study of the translational and rotational motion of objects without reference to mass, force or torque. Kinematics equations are used to describe three-dimensional motion of a multi-body system in terms of translational and rotational motions, and optionally, linear and angular velocities. Kinematics analysis becomes important in the animation […]

## Kinematics (Advanced Methods in Computer Graphics) Part 2

Linear and Angular Velocity In addition to the position and the orientation, the velocity of the end effector is also an important parameter in many applications involving a serial chain. For example, an articulated character model may be required to move an object with constant velocity. The velocity of the end effector is a combination […]