Skeletons Two - Computer Animation - Lecture Slides, Slides of Computer Graphics and Animation

DURING THE COURSE WORK OF MY MS, I LEARN ABOUT THE ANIMATION AND THIS LECTURE SLIDES OF THIS COURSE WORK OF "Computer Animation" HAVE THE IMPORTANT POINTS:Skeletons, Matrix Review Two, Coordinate Systems, Right Handed Coordinate System, Models, Position Vectors, Model, Numverts, Components, Translation

Typology: Slides

2012/2013

Uploaded on 04/30/2013

archan
archan 🇮🇳

3.8

(5)

92 documents

1 / 28

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Multiple Translations
We can also take advantage of the
associative property of vector addition to
combine a sequence of translations
For example, a translation along vector t1
followed by a translation along t2 and
finally t3 can be combined:
dvv
tttd
+=
++= 321
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c

Partial preview of the text

Download Skeletons Two - Computer Animation - Lecture Slides and more Slides Computer Graphics and Animation in PDF only on Docsity!

Multiple Translations

 We can also take advantage of the

associative property of vector addition to

combine a sequence of translations

 For example, a translation along vector t

1

followed by a translation along t

2

and

finally t

3

can be combined:

v v d

d t t t

1 2 3

Combining Transformations

 We see that we can combine a sequence

of rotations and/or scales

 We can also combine a sequence of

translations

 But what if we want to combine

translations with rotations/scales?

Homogeneous Transformations

 So we’ve basically taken the 3x3 rotation/scale matrix and the 3x1 translation vector from our original equation and combined them into a new 4x4 matrix (for today, we will always have [0 0 0 1] in the bottom row of the matrix)  We also replace our 3D position vector v with its 4D version [ v x v y v z

1]

 Using 4x4 transformation matrices allows us to combine rotations, translations, scales, shears, and reflections into a single matrix  For rendering, we use the bottom row as well to perform perspective projections, but for animation, we are mainly concerned with placing objects in 3D space, not rendering them into a 2D image, so we will almost always have [0 0 0 1] on the bottom row

Homogeneous Transformations

 For example, a translation by vector r followed

by a z -axis rotation can be represented as:

sin cos 0 0

cos sin 0 0

z y x z y x z y x

v

v

v

r

r

r

v

v

v

θ θ θ θ

Translations

 A 4x4 translation matrix that translates an

object by the vector r is:

z y x r r r T r

Pivot Points

 The standard rotation matrices pivot the object

about an axis through the origin

 What if we want the pivot point to be somewhere

else?

 The following transformation performs a z-axis

rotation pivoted around the point r

M = T ( r )⋅ R ( θ )⋅ T (− r )

z

General 4x4 Matrix

 Assuming we have [0 0 0 1] in the bottom row, we see that there are 12 different numbers in the upper 3x4 portion of the 4x4 matrix  There are also 12 degrees of freedom for an object undergoing a linear transformation in 3D space  3 of those are represented by the three translational axes  3 of them are for rotation in the 3 planes (xy, yz, xz)  3 of them are scales along the 3 main axes  and the last 3 are shears in the 3 main planes (xy, yz, xz)  The 3 numbers for translation are easily decoded ( dx, dy, dz )  The other 9 numbers, however, are encoded into the 9 numbers in the upper 3x3 portion of the matrix

Affine Transformations

 All of the transformations we’ve seen so

far are examples of affine transformations

 If we have a pair of parallel lines and

transform them with an affine

transformation, they will remain parallel

 Affine transformations are fast to compute

and very useful throughout computer

graphics

World Space

 We will define a new space called world space or global space  This space represents a 3D world or scene and may contain several objects placed in various locations  Every object in the world needs a matrix that transforms its vertices from its own object space into this world space  We will call this the object’s world matrix , or often, we will just call it the object’s matrix  For example, if we have 100 chairs in the room, we only need to store the object space data for the chair once, and we can use 100 different matrices to transform the chair model into 100 locations in the world

ABCD Vectors

 We mentioned that the translation information is easily extracted directly from the matrix, while the rotation information is encoded into the upper 3x3 portion of the matrix  Is there a geometric way to understand these 9 numbers?  In fact there is! The 9 constants make up 3 vectors called a , b , and c. If we think of the matrix as a transformation from object space to world space, then the a vector is essentially the object’s x-axis rotated into world space, b is its y-axis in world space, and c is its z- axis in world space. d is of course the position in world space.

Rigid Matrices

 If a 4x4 matrix represents a rigid

transformation, then the upper 3x3 portion

will be orthonormal

c a b b c a a b c a b c = × = × = × = = = 1

Character Skeletons

Skeletons

 Skeleton: A pose-able framework of joints

arranged in a tree structure. The skeleton is

used as an invisible armature to manipulate the

skin and other geometric data of the character

 Joint: A joint allows relative movement within the

skeleton. Joints are essentially 4x4 matrix

transformations. Joints can be rotational,

translational, or some non-realistic types as well

 Bone: Bone is really just a synonym for joint for

the most part. For example, one might refer to

the shoulder joint or upper arm bone (humerus)

and mean the same thing

DOFs

 Degree of Freedom (DOF): A variable _

describing a particular axis or dimension of

movement within a joint

 Joints typically have around 1-6 DOFs (_

1

…_

N

 Changing the DOF values over time results in

the animation of the skeleton

 In later weeks, we will extend the concept of a

DOF to be any animatable parameter within the

character rig

 Note: in a mathematical sense, a free rigid body

has 6 DOFs: 3 for position and 3 for rotation