3D orientation - PowerPoint PPT Presentation

1 / 65
About This Presentation
Title:

3D orientation

Description:

Quaternion. Exponential map. Joints and rotations ... Rotation of P=(0,r) about the unit vector n by an angle ? using the unit quaternion q=(s,v) ... – PowerPoint PPT presentation

Number of Views:164
Avg rating:3.0/5.0
Slides: 66
Provided by: dtiU
Category:

less

Transcript and Presenter's Notes

Title: 3D orientation


1
3D orientation
2
  • Rotation matrix
  • Fixed angle and Euler angle
  • Axis angle
  • Quaternion
  • Exponential map

3
Joints and rotations
Rotational DOFs are widely used in character
animation
Each joint can have up to 3 DOFs
1 DOF knee
2 DOF wrist
3 DOF arm
4
Representation of orientation
  • Homogeneous coordinates (review)
  • 4X4 matrix used to represent translation,
    scaling, and rotation
  • a point in the space is represented as
  • Treat all transformations the same so that they
    can be easily combined

5
Translation
translation matrix
new point
old point
6
Scaling
scaling matrix
new point
old point
7
Rotation
X axis
Y axis
Z axis
8
Composite transformations
A series of transformations on an object can be
applied as a series of matrix multiplications
position in the global coordinate
position in the local coordinate
9
Interpolation
  • In order to move things, we need both
    translation and rotation
  • Interpolating the translation is easy, but what
    about rotations?

10
Motivation
  • Finding the most natural and compact way to
    present rotation and orientations
  • Orientation interpolation which result in a
    natural motion
  • A closed mathematical form that deals with
    rotation and orientations (expansion for the
    complex numbers)

11
Rotation Matrix
  • A general rotation can be represented by a single
    3x3 matrix
  • Length Preserving (Isometric)
  • Reflection Preserving
  • Orthonormal

12
Fixed Angle Representation
  • Angles used to rotate about fixed axes
  • Orientations are specified by a set of 3 ordered
    parameters that represent 3 ordered rotations
    about fixed axes, ie. first about x, then y, then
    z
  • Many possible orderings, dont have to use all 3
    axes, but cant do the same axis back to back

13
Fixed Angle Representation
  • A rotation of 10,45, 90 would be written as
  • Rz(90) Ry(45), Rx(10) since we want to first
    rotate about x, y, z. It would be applied then to
    the point P. RzRyRx P
  • Problem occurs when two of the axes of rotation
    line up on top of each other. This is called
    Gimbal Lock

14
Gimbal Lock
  • A 90 degree rotation about the y axis essentially
    makes the first axis of rotation align with the
    third.
  • Incremental changes in x,z produce the same
    results youve lost a degree of freedom

15
Gimbal Lock
  • Phenomenon of two rotational axis of an object
    pointing in the same direction.
  • Simply put, it means your object won't rotate how
    you think it ought to rotate.

16
Interpolation of orientation
  • How about interpolating each entry of the
    rotation matrix?
  • The interpolated matrix might no longer be
    orthonormal, leading to nonsense for the
    in-between rotations

17
Interpolation of orientation
Example interpolate linearly from a positive 90
degree rotation about y axis to a negative 90
degree rotation about y
Linearly interpolate each component and halfway
between, you get this...
18
Properties of rotation matrix
  • Easily composed?
  • Interpolate?

19
  • Rotation matrix
  • Fixed angle and Euler angle
  • Axis angle
  • Quaternion
  • Exponential map

20
Fixed angle
  • Angles used to rotate about fixed axes
  • Orientations are specified by a set of 3 ordered
    parameters that represent 3 ordered rotations
    about fixed axes
  • Many possible orderings

21
Fixed angle
  • A rotation of Rz(90)Ry(60)Rx(30) looks like

22
Euler angle
  • Same as fixed angles, except now the axes move
    with the object
  • An Euler angle is a rotation about a single
    Cartesian axis
  • Create multi-DOF rotations by concatenating Euler
    angles
  • evaluate each axis independently in a set order

23
Euler angle vs. fixed angle
  • Rz(90)Ry(60)Rx(30) Ex(30)Ey(60)Ez(90)
  • Euler angle rotations about moving axes written
    in reverse order are the same as the fixed axis
    rotations

24
Gimbal Lock (again!)
  • Rotation by 90o causes a loss of a degree of
    freedom

25
Gimbal Lock
  • Phenomenon of two rotational axis of an object
    pointing in the same direction.
  • Simply put, it means your object won't rotate how
    you think it ought to rotate.

26
Gimbal Lock
A Gimbal is a hardware implementation of Euler
angles used for mounting gyroscopes or expensive
globes
Gimbal lock is a basic problem with representing
3D rotation using Euler angles or fixed angles
27
Gimbal lock
When two rotational axis of an object point in
the same direction, the rotation ends up losing
one degree of freedom
28
Properties of Euler angle
  • Easily composed?
  • Interpolate?
  • How about joint limit?
  • What seems to be the problem?

29
Euler Angles
  • A general rotation is a combination of three
    elementary rotations around the x-axis (x-roll)
    , around the y-axis (y-roll) and around the
    z-axis (z-roll).

30
Euler Angles
31
Euler Angles and Rotation Matrices
32
Euler angles interpolation
R(0,0,0),,R(?t,0,0),,R(?,0,0) t?0,1
R(0,0,0),,R(0,?t, ?t),,R(0,?, ?)
33
Euler Angles Interpolation ?Unnatural movement !
34
  • Rotation matrix
  • Fixed angle and Euler angle
  • Axis angle
  • Quaternion
  • Exponential map

35
Goal
  • Find a parameterization in which
  • a simple steady rotation exists between two key
    orientations
  • moves are independent of the choice of the
    coordinate system

36
Axis angle
  • Represent orientation as a vector and a scalar
  • vector is the axis to rotate about
  • scalar is the angle to rotate by

37
Angle and Axis
  • Any orientation can be represented by a 4-tuple
  • angle, vector(x,y,z) where the angle is the
    amount to rotate by and the vector is the axis to
    rotate about
  • Can interpolate the angle and axis separately
  • No gimbal lock problems!
  • But, cant efficiently compose rotationsmust
    convert to matrices first!

38
Angular displacement
  • (?,n) defines an angular displacement of ? about
    an axis n

39
Properties of axis angle
  • Can avoid Gimbal lock. Why?
  • Can interpolate the vector and the scalar
    separately. How?

40
Axis angle interpolation
41
  • Rotation matrix
  • Fixed angle and Euler angle
  • Axis angle
  • Quaternion
  • Exponential map

42
Quaternion
4 tuple of real numbers
scalar
vector
Same information as axis angles but in a
different form
43
Quaternions ?
  • Extend the concept of rotation in 3D to 4D.
  • Avoids the problem of "gimbal-lock" and allows
    for the implementation of smooth and continuous
    rotation.
  • In effect, they may be considered to add a
    additional rotation angle to spherical
    coordinates ie. Longitude, Latitude and Rotation
    angles
  • A Quaternion is defined using four floating point
    values x y z w. These are calculated from the
    combination of the three coordinates of the
    rotation axis and the rotation angle.

44
How do quaternions relate to 3D animation?
  • Solution to "Gimbal lock"
  • Instead of rotating an object through a series of
    successive rotations, a quaternion allows the
    programmer to rotate an object through a single
    arbitary rotation axis.
  • Because the rotation axis is specifed as a unit
    direction vector, it may be calculated through
    vector mathematics or from spherical coordinates
    ie (longitude/latitude).
  • Quaternions interpolation smooth and
    predictable rotation effects.

45
Quaternion to Rotation Matrix
46
Quaternions Definition
  • Extension of complex numbers
  • 4-tuple of real numbers
  • s,x,y,z or s,v
  • s is a scalar
  • v is a vector
  • Same information as axis/angle but in a different
    form
  • Can be viewed as an original orientation or a
    rotation to apply to an object

47
Quaternions Math
48
Quaternions properties
  • The conjugate and magnitude are similar to
    complex numbers
  • Quaternions are non commutative

q1 (s1,v1) q2 (s2,v2) q1q2 (s1s2 v1.v2
, s1v2 s2v1 v1 x v2)
  • inverse
  • unit quaternion

49
Quaternion Rotation
  • To rotate a vector, v using quaternion math
  • represent the vector as 0,v
  • represent the rotation as a quaternion, q

50
Quaternions as Rotations
  • Rotation of P(0,r) about the unit vector n by an
    angle ? using the unit quaternion q(s,v)

but q(cos½?, sin½?n) where n1
51
Quaternions as Rotations
52
Quaternion math
Unit quaternion
Multiplication
53
Quaternion math
Conjugate
Inverse
the unit length quaternion
54
Quaternion Rotation
proof see Quaternions by Shoemaker
55
Quaternion Rotation
56
Quaternion composition
If and are unit quaternion
the combined rotation of first rotating by
and then by is equivalent to
57
Matrix form
58
Quaternion interpolation
1-angle rotation can be represented by a unit
circle
  • Interpolation means moving on n-D sphere
  • Now imagine a 4-D sphere for 3-angle rotation

59
Quaternion interpolation
  • Moving between two points on the 4D unit sphere
  • a unit quaternion at each step - another point on
    the 4D unit sphere
  • move with constant angular velocity along the
    great circle between the two points on the 4D
    unit sphere

60
Quaternion interpolation
Direct linear interpolation does not work
Linearly interpolated intermediate points are not
uniformly spaced when projected onto the circle
Spherical linear interpolation (SLERP)
Normalize to regain unit quaternion
61
Rotations in Reality
  • Its easiest to express rotations in Euler angles
    or Axis/angle
  • We can convert to/from any of these
    representations
  • Choose the best representation for the task
  • inputEuler angles
  • interpolation quaternions
  • composing rotations quaternions, orientation
    matrix

62
  • Rotation matrix
  • Fixed angle and Euler angle
  • Axis angle
  • Quaternion
  • Exponential map

63
Exponential map
  • Represent orientation as a vector
  • direction of the vector is the axis to rotate
    about
  • magnitude of the vector is the angle to rotate by
  • Zero vector represents the identity rotation

64
Properties of exponential map
  • No need to re-normalize the parameters
  • Fewer DOFs
  • Good interpolation behavior
  • Singularities exist but can be avoided

65
Choose a representation
  • Choose the best representation for the task
  • input
  • joint limits
  • interpolation
  • compositing
  • rendering

Euler angles
Euler angles, quaternion (harder)
quaternion or exponential map
quaternions or orientation matrix
orientation matrix ( quaternion can be
represented as matrix as well)
Write a Comment
User Comments (0)
About PowerShow.com