Lecture 11 Slide 6.837 Fall 2003 Computer Animation II Orientation Interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic.

Post on 19-Jan-2018

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Lecture 11 Slide Fall 2003 Debugging Debug all sub-parts as you write them Print as much information as possible Use simple test cases When stuck, use step-by-step debugging

Transcript

Lecture 11 Slide 6837 Fall 2003

Computer Animation II

OrientationInterpolation

Dynamics

Some slides courtesy of Leonard McMillan and Jovan Popovic

Lecture 11 Slide 6837 Fall 2003

Review from ThursdayInterpolation

bull Splines

Articulated bodiesbull 1048708Forward kinematicsbull 1048708Inverse Kinematicsbull 1048708Optimization

bull Gradient descentbull Following the steepest slope

bull Lagrangianmultipliersbull Turn optimization with constraints into no

constraints

Lecture 11 Slide 6837 Fall 2003

DebuggingDebug all sub-parts as you write them

Print as much information as possible

Use simple test cases

When stuck use step-by-step debugging

Lecture 11 Slide 6837 Fall 2003

Grid accelerationDebug all these steps

Sphere rasterization Ray initialization Marching Object insertion Acceleration

Lecture 11 Slide 6837 Fall 2003

Final projectFirst brainstorming session on ThursdayGroups of threeProposal due Monday 1027

A couple of pages Goals Progression

Appointment with staff

Lecture 11 Slide 6837 Fall 2003

Computer-Assisted Animation Keyframingautomate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a functionof small number of parameteresExample a clock with second minuteand hour handsbull hands should rotate togetherbull express the clock motions in terms ofa ldquosecondsrdquo variablebull the clock is animated by varying theseconds parameterExample 2 A bouncing ballbullAbs(sin(ωt+θ0))e-kt

Lecture 11 Slide 6837 Fall 2003

Computer-Assisted Animation Physically Based Animation

Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

Motion Capture

Captures style subtle nuances and realism You must observe someone do something

Lecture 11 Slide 6837 Fall 2003

OverviewInterpolation of rotations quaternions

Euler angles

Quaternions

Dynamics

Particles

Rigid body

Deformable objects

Lecture 11 Slide 6837 Fall 2003

Interpolating Orientations in 3-DRotation matrices

Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

Lecture 11 Slide 6837 Fall 2003

Flawed SolutionInterpolate each entry independently

Example M0 is identity and M1is 90o around x-axisIs

Is the result a rotation matrix

NO

For example RRTdoes not equal identity

This interpolation does not preserve rigidity

(angles and lengths)

Lecture 11 Slide 6837 Fall 2003

3D rotationsHow many degrees of freedom for 3D orientations

3 degrees of freedom

eg direction of rotation and angle

Or 3 Euler angles

Lecture 11 Slide 6837 Fall 2003

Euler AnglesAn Euler angle is a rotation about a single axis Any

orientation can be described composing three rotation around

each coordinate axis

Roll pitch and yaw

Courtesy of Gernot Hoffmann Used with permission

httpwwwfho-emdende~hoffmanngimbal09082002pdf

Lecture 11 Slide 6837 Fall 2003

Interpolating Euler AnglesNatural orientation representation

angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

= 120o around (1 1 1)But 30oaround Z then Y

differs from 40o around (1 1 1)

Lecture 11 Slide 6837 Fall 2003

GimballockGimbal lock two or more axis align resulting in a

loss of rotation degrees of freedom

Lecture 11 Slide 6837 Fall 2003

DemoBy Sobeitvoidfrom

httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

See also

httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

Lecture 11 Slide 6837 Fall 2003

Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

Lecture 11 Slide 6837 Fall 2003

Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

Lecture 11 Slide 6837 Fall 2003

OverviewInterpolation of rotations quaternions

Euler angles

Quaternions

Dynamics

Particles

Rigid body

Deformable objects

Lecture 11 Slide 6837 Fall 2003

Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

2 3-spheres

Lecture 11 Slide 6837 Fall 2003

1D sphere and complex planeInterpolate orientation in 2D1 angle

But messy because modulo 2π

Use interpolation in (complex) 2D planeOrientation = complex argument of the number

Lecture 11 Slide 6837 Fall 2003

Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

=gt The interpolated motion does not have uniform velocity it may speed up too much

Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

Lecture 11 Slide 6837 Fall 2003

2-angle orientationEmbed 2-sphere in 3D2 angles

Messy because modulo 2πand pole

Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

Lecture 11 Slide 6837 Fall 2003

3 angles

Use the same principle interpolate in higher-dimensional space Project back to unit sphere

Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

Due to Hamilton (1843) also Shoemake Siggraph85

Lecture 11 Slide 6837 Fall 2003

QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

Often noted (s v) What if we use ndashv

What is the quaternion of Identity rotation

Is there exactly one quaternion per rotation

What is the inverse q-1of quaternion q a b c d

Lecture 11 Slide 6837 Fall 2003

QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

Often noted (s v) What if we use ndashv

What is the quaternion of Identity rotation qi= 1 0 0 0

Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

- q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

What is the inverse q-1of quaternion q a b c d

Lecture 11 Slide 6837 Fall 2003

Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

Lecture 11 Slide 6837 Fall 2003

Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

cos(α2)sin(β2) v+vtimesv

cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

cos((α+β)2) v sin((α+β)2)

Lecture 11 Slide 6837 Fall 2003

Quaternion recap 1 (wake up)4D representation of orientation

q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

Consistent with rotation composition

How do we apply rotationsHow do we interpolate

Lecture 11 Slide 6837 Fall 2003

Quaternion Algebra

Two general quaternionsare multiplied by a special rule

To rotate 3D pointvector p by q compute q0 p q-1

p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

=c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

Lecture 11 Slide 6837 Fall 2003

Quaternion Algebra

Two general quaternionsare multiplied by a special rule

To rotate 3D pointvector p by q compute q0 p q-1

Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

But not commutative q1 q2 neq2 q1

Lecture 11 Slide 6837 Fall 2003

Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

Lecture 11 Slide 6837 Fall 2003

Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

Lecture 11 Slide 6837 Fall 2003

QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

hellip

Lecture 11 Slide 6837 Fall 2003

FunJulia Sets in Quaternion space

Mandelbrot set Zn+1=Zn2+Z0

Julia set Zn+1=Zn2+C

httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

Images removed due to copyright considerations

See also httpwwwchaosprodegallerygalleryphpcat=Anim

Lecture 11 Slide 6837 Fall 2003

FunJulia Sets in Quaternion space

Julia set Zn+1=Zn2+C

Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

Images removed due to copyright considerations

Lecture 11 Slide 6837 Fall 2003

Recap quaternions3 angles represented in 4D

q= cos(θ2) vsin(θ2)

Weird multiplication rules

Good interpolation using slerp

Lecture 11 Slide 6837 Fall 2003

OverviewInterpolation of rotations quaternions

Euler angles

Quaternions

Dynamics

Particles

Rigid body

Deformable objects

Lecture 11 Slide 6837 Fall 2003

Break movie time

Pixar For the Bird

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38

    Lecture 11 Slide 6837 Fall 2003

    Review from ThursdayInterpolation

    bull Splines

    Articulated bodiesbull 1048708Forward kinematicsbull 1048708Inverse Kinematicsbull 1048708Optimization

    bull Gradient descentbull Following the steepest slope

    bull Lagrangianmultipliersbull Turn optimization with constraints into no

    constraints

    Lecture 11 Slide 6837 Fall 2003

    DebuggingDebug all sub-parts as you write them

    Print as much information as possible

    Use simple test cases

    When stuck use step-by-step debugging

    Lecture 11 Slide 6837 Fall 2003

    Grid accelerationDebug all these steps

    Sphere rasterization Ray initialization Marching Object insertion Acceleration

    Lecture 11 Slide 6837 Fall 2003

    Final projectFirst brainstorming session on ThursdayGroups of threeProposal due Monday 1027

    A couple of pages Goals Progression

    Appointment with staff

    Lecture 11 Slide 6837 Fall 2003

    Computer-Assisted Animation Keyframingautomate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a functionof small number of parameteresExample a clock with second minuteand hour handsbull hands should rotate togetherbull express the clock motions in terms ofa ldquosecondsrdquo variablebull the clock is animated by varying theseconds parameterExample 2 A bouncing ballbullAbs(sin(ωt+θ0))e-kt

    Lecture 11 Slide 6837 Fall 2003

    Computer-Assisted Animation Physically Based Animation

    Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

    Motion Capture

    Captures style subtle nuances and realism You must observe someone do something

    Lecture 11 Slide 6837 Fall 2003

    OverviewInterpolation of rotations quaternions

    Euler angles

    Quaternions

    Dynamics

    Particles

    Rigid body

    Deformable objects

    Lecture 11 Slide 6837 Fall 2003

    Interpolating Orientations in 3-DRotation matrices

    Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

    Lecture 11 Slide 6837 Fall 2003

    Flawed SolutionInterpolate each entry independently

    Example M0 is identity and M1is 90o around x-axisIs

    Is the result a rotation matrix

    NO

    For example RRTdoes not equal identity

    This interpolation does not preserve rigidity

    (angles and lengths)

    Lecture 11 Slide 6837 Fall 2003

    3D rotationsHow many degrees of freedom for 3D orientations

    3 degrees of freedom

    eg direction of rotation and angle

    Or 3 Euler angles

    Lecture 11 Slide 6837 Fall 2003

    Euler AnglesAn Euler angle is a rotation about a single axis Any

    orientation can be described composing three rotation around

    each coordinate axis

    Roll pitch and yaw

    Courtesy of Gernot Hoffmann Used with permission

    httpwwwfho-emdende~hoffmanngimbal09082002pdf

    Lecture 11 Slide 6837 Fall 2003

    Interpolating Euler AnglesNatural orientation representation

    angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

    = 120o around (1 1 1)But 30oaround Z then Y

    differs from 40o around (1 1 1)

    Lecture 11 Slide 6837 Fall 2003

    GimballockGimbal lock two or more axis align resulting in a

    loss of rotation degrees of freedom

    Lecture 11 Slide 6837 Fall 2003

    DemoBy Sobeitvoidfrom

    httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

    See also

    httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

    Lecture 11 Slide 6837 Fall 2003

    Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

    Lecture 11 Slide 6837 Fall 2003

    Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

    Lecture 11 Slide 6837 Fall 2003

    OverviewInterpolation of rotations quaternions

    Euler angles

    Quaternions

    Dynamics

    Particles

    Rigid body

    Deformable objects

    Lecture 11 Slide 6837 Fall 2003

    Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

    2 3-spheres

    Lecture 11 Slide 6837 Fall 2003

    1D sphere and complex planeInterpolate orientation in 2D1 angle

    But messy because modulo 2π

    Use interpolation in (complex) 2D planeOrientation = complex argument of the number

    Lecture 11 Slide 6837 Fall 2003

    Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

    =gt The interpolated motion does not have uniform velocity it may speed up too much

    Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

    Lecture 11 Slide 6837 Fall 2003

    2-angle orientationEmbed 2-sphere in 3D2 angles

    Messy because modulo 2πand pole

    Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

    Lecture 11 Slide 6837 Fall 2003

    3 angles

    Use the same principle interpolate in higher-dimensional space Project back to unit sphere

    Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

    Due to Hamilton (1843) also Shoemake Siggraph85

    Lecture 11 Slide 6837 Fall 2003

    QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

    Often noted (s v) What if we use ndashv

    What is the quaternion of Identity rotation

    Is there exactly one quaternion per rotation

    What is the inverse q-1of quaternion q a b c d

    Lecture 11 Slide 6837 Fall 2003

    QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

    Often noted (s v) What if we use ndashv

    What is the quaternion of Identity rotation qi= 1 0 0 0

    Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

    - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

    What is the inverse q-1of quaternion q a b c d

    Lecture 11 Slide 6837 Fall 2003

    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

    Lecture 11 Slide 6837 Fall 2003

    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

    cos(α2)sin(β2) v+vtimesv

    cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

    cos((α+β)2) v sin((α+β)2)

    Lecture 11 Slide 6837 Fall 2003

    Quaternion recap 1 (wake up)4D representation of orientation

    q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

    Consistent with rotation composition

    How do we apply rotationsHow do we interpolate

    Lecture 11 Slide 6837 Fall 2003

    Quaternion Algebra

    Two general quaternionsare multiplied by a special rule

    To rotate 3D pointvector p by q compute q0 p q-1

    p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

    =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

    q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

    Lecture 11 Slide 6837 Fall 2003

    Quaternion Algebra

    Two general quaternionsare multiplied by a special rule

    To rotate 3D pointvector p by q compute q0 p q-1

    Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

    But not commutative q1 q2 neq2 q1

    Lecture 11 Slide 6837 Fall 2003

    Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

    Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

    Lecture 11 Slide 6837 Fall 2003

    Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

    Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

    Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

    Lecture 11 Slide 6837 Fall 2003

    QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

    i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

    hellip

    Lecture 11 Slide 6837 Fall 2003

    FunJulia Sets in Quaternion space

    Mandelbrot set Zn+1=Zn2+Z0

    Julia set Zn+1=Zn2+C

    httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

    Images removed due to copyright considerations

    See also httpwwwchaosprodegallerygalleryphpcat=Anim

    Lecture 11 Slide 6837 Fall 2003

    FunJulia Sets in Quaternion space

    Julia set Zn+1=Zn2+C

    Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

    Images removed due to copyright considerations

    Lecture 11 Slide 6837 Fall 2003

    Recap quaternions3 angles represented in 4D

    q= cos(θ2) vsin(θ2)

    Weird multiplication rules

    Good interpolation using slerp

    Lecture 11 Slide 6837 Fall 2003

    OverviewInterpolation of rotations quaternions

    Euler angles

    Quaternions

    Dynamics

    Particles

    Rigid body

    Deformable objects

    Lecture 11 Slide 6837 Fall 2003

    Break movie time

    Pixar For the Bird

    • Slide 1
    • Slide 2
    • Slide 3
    • Slide 4
    • Slide 5
    • Slide 6
    • Slide 7
    • Slide 8
    • Slide 9
    • Slide 10
    • Slide 11
    • Slide 12
    • Slide 13
    • Slide 14
    • Slide 15
    • Slide 16
    • Slide 17
    • Slide 18
    • Slide 19
    • Slide 20
    • Slide 21
    • Slide 22
    • Slide 23
    • Slide 24
    • Slide 25
    • Slide 26
    • Slide 27
    • Slide 28
    • Slide 29
    • Slide 30
    • Slide 31
    • Slide 32
    • Slide 33
    • Slide 34
    • Slide 35
    • Slide 36
    • Slide 37
    • Slide 38

      Lecture 11 Slide 6837 Fall 2003

      DebuggingDebug all sub-parts as you write them

      Print as much information as possible

      Use simple test cases

      When stuck use step-by-step debugging

      Lecture 11 Slide 6837 Fall 2003

      Grid accelerationDebug all these steps

      Sphere rasterization Ray initialization Marching Object insertion Acceleration

      Lecture 11 Slide 6837 Fall 2003

      Final projectFirst brainstorming session on ThursdayGroups of threeProposal due Monday 1027

      A couple of pages Goals Progression

      Appointment with staff

      Lecture 11 Slide 6837 Fall 2003

      Computer-Assisted Animation Keyframingautomate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a functionof small number of parameteresExample a clock with second minuteand hour handsbull hands should rotate togetherbull express the clock motions in terms ofa ldquosecondsrdquo variablebull the clock is animated by varying theseconds parameterExample 2 A bouncing ballbullAbs(sin(ωt+θ0))e-kt

      Lecture 11 Slide 6837 Fall 2003

      Computer-Assisted Animation Physically Based Animation

      Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

      Motion Capture

      Captures style subtle nuances and realism You must observe someone do something

      Lecture 11 Slide 6837 Fall 2003

      OverviewInterpolation of rotations quaternions

      Euler angles

      Quaternions

      Dynamics

      Particles

      Rigid body

      Deformable objects

      Lecture 11 Slide 6837 Fall 2003

      Interpolating Orientations in 3-DRotation matrices

      Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

      Lecture 11 Slide 6837 Fall 2003

      Flawed SolutionInterpolate each entry independently

      Example M0 is identity and M1is 90o around x-axisIs

      Is the result a rotation matrix

      NO

      For example RRTdoes not equal identity

      This interpolation does not preserve rigidity

      (angles and lengths)

      Lecture 11 Slide 6837 Fall 2003

      3D rotationsHow many degrees of freedom for 3D orientations

      3 degrees of freedom

      eg direction of rotation and angle

      Or 3 Euler angles

      Lecture 11 Slide 6837 Fall 2003

      Euler AnglesAn Euler angle is a rotation about a single axis Any

      orientation can be described composing three rotation around

      each coordinate axis

      Roll pitch and yaw

      Courtesy of Gernot Hoffmann Used with permission

      httpwwwfho-emdende~hoffmanngimbal09082002pdf

      Lecture 11 Slide 6837 Fall 2003

      Interpolating Euler AnglesNatural orientation representation

      angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

      = 120o around (1 1 1)But 30oaround Z then Y

      differs from 40o around (1 1 1)

      Lecture 11 Slide 6837 Fall 2003

      GimballockGimbal lock two or more axis align resulting in a

      loss of rotation degrees of freedom

      Lecture 11 Slide 6837 Fall 2003

      DemoBy Sobeitvoidfrom

      httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

      See also

      httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

      Lecture 11 Slide 6837 Fall 2003

      Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

      Lecture 11 Slide 6837 Fall 2003

      Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

      Lecture 11 Slide 6837 Fall 2003

      OverviewInterpolation of rotations quaternions

      Euler angles

      Quaternions

      Dynamics

      Particles

      Rigid body

      Deformable objects

      Lecture 11 Slide 6837 Fall 2003

      Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

      2 3-spheres

      Lecture 11 Slide 6837 Fall 2003

      1D sphere and complex planeInterpolate orientation in 2D1 angle

      But messy because modulo 2π

      Use interpolation in (complex) 2D planeOrientation = complex argument of the number

      Lecture 11 Slide 6837 Fall 2003

      Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

      =gt The interpolated motion does not have uniform velocity it may speed up too much

      Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

      Lecture 11 Slide 6837 Fall 2003

      2-angle orientationEmbed 2-sphere in 3D2 angles

      Messy because modulo 2πand pole

      Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

      Lecture 11 Slide 6837 Fall 2003

      3 angles

      Use the same principle interpolate in higher-dimensional space Project back to unit sphere

      Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

      Due to Hamilton (1843) also Shoemake Siggraph85

      Lecture 11 Slide 6837 Fall 2003

      QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

      Often noted (s v) What if we use ndashv

      What is the quaternion of Identity rotation

      Is there exactly one quaternion per rotation

      What is the inverse q-1of quaternion q a b c d

      Lecture 11 Slide 6837 Fall 2003

      QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

      Often noted (s v) What if we use ndashv

      What is the quaternion of Identity rotation qi= 1 0 0 0

      Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

      - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

      What is the inverse q-1of quaternion q a b c d

      Lecture 11 Slide 6837 Fall 2003

      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

      Lecture 11 Slide 6837 Fall 2003

      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

      cos(α2)sin(β2) v+vtimesv

      cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

      cos((α+β)2) v sin((α+β)2)

      Lecture 11 Slide 6837 Fall 2003

      Quaternion recap 1 (wake up)4D representation of orientation

      q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

      Consistent with rotation composition

      How do we apply rotationsHow do we interpolate

      Lecture 11 Slide 6837 Fall 2003

      Quaternion Algebra

      Two general quaternionsare multiplied by a special rule

      To rotate 3D pointvector p by q compute q0 p q-1

      p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

      =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

      q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

      Lecture 11 Slide 6837 Fall 2003

      Quaternion Algebra

      Two general quaternionsare multiplied by a special rule

      To rotate 3D pointvector p by q compute q0 p q-1

      Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

      But not commutative q1 q2 neq2 q1

      Lecture 11 Slide 6837 Fall 2003

      Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

      Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

      Lecture 11 Slide 6837 Fall 2003

      Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

      Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

      Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

      Lecture 11 Slide 6837 Fall 2003

      QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

      i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

      hellip

      Lecture 11 Slide 6837 Fall 2003

      FunJulia Sets in Quaternion space

      Mandelbrot set Zn+1=Zn2+Z0

      Julia set Zn+1=Zn2+C

      httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

      Images removed due to copyright considerations

      See also httpwwwchaosprodegallerygalleryphpcat=Anim

      Lecture 11 Slide 6837 Fall 2003

      FunJulia Sets in Quaternion space

      Julia set Zn+1=Zn2+C

      Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

      Images removed due to copyright considerations

      Lecture 11 Slide 6837 Fall 2003

      Recap quaternions3 angles represented in 4D

      q= cos(θ2) vsin(θ2)

      Weird multiplication rules

      Good interpolation using slerp

      Lecture 11 Slide 6837 Fall 2003

      OverviewInterpolation of rotations quaternions

      Euler angles

      Quaternions

      Dynamics

      Particles

      Rigid body

      Deformable objects

      Lecture 11 Slide 6837 Fall 2003

      Break movie time

      Pixar For the Bird

      • Slide 1
      • Slide 2
      • Slide 3
      • Slide 4
      • Slide 5
      • Slide 6
      • Slide 7
      • Slide 8
      • Slide 9
      • Slide 10
      • Slide 11
      • Slide 12
      • Slide 13
      • Slide 14
      • Slide 15
      • Slide 16
      • Slide 17
      • Slide 18
      • Slide 19
      • Slide 20
      • Slide 21
      • Slide 22
      • Slide 23
      • Slide 24
      • Slide 25
      • Slide 26
      • Slide 27
      • Slide 28
      • Slide 29
      • Slide 30
      • Slide 31
      • Slide 32
      • Slide 33
      • Slide 34
      • Slide 35
      • Slide 36
      • Slide 37
      • Slide 38

        Lecture 11 Slide 6837 Fall 2003

        Grid accelerationDebug all these steps

        Sphere rasterization Ray initialization Marching Object insertion Acceleration

        Lecture 11 Slide 6837 Fall 2003

        Final projectFirst brainstorming session on ThursdayGroups of threeProposal due Monday 1027

        A couple of pages Goals Progression

        Appointment with staff

        Lecture 11 Slide 6837 Fall 2003

        Computer-Assisted Animation Keyframingautomate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a functionof small number of parameteresExample a clock with second minuteand hour handsbull hands should rotate togetherbull express the clock motions in terms ofa ldquosecondsrdquo variablebull the clock is animated by varying theseconds parameterExample 2 A bouncing ballbullAbs(sin(ωt+θ0))e-kt

        Lecture 11 Slide 6837 Fall 2003

        Computer-Assisted Animation Physically Based Animation

        Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

        Motion Capture

        Captures style subtle nuances and realism You must observe someone do something

        Lecture 11 Slide 6837 Fall 2003

        OverviewInterpolation of rotations quaternions

        Euler angles

        Quaternions

        Dynamics

        Particles

        Rigid body

        Deformable objects

        Lecture 11 Slide 6837 Fall 2003

        Interpolating Orientations in 3-DRotation matrices

        Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

        Lecture 11 Slide 6837 Fall 2003

        Flawed SolutionInterpolate each entry independently

        Example M0 is identity and M1is 90o around x-axisIs

        Is the result a rotation matrix

        NO

        For example RRTdoes not equal identity

        This interpolation does not preserve rigidity

        (angles and lengths)

        Lecture 11 Slide 6837 Fall 2003

        3D rotationsHow many degrees of freedom for 3D orientations

        3 degrees of freedom

        eg direction of rotation and angle

        Or 3 Euler angles

        Lecture 11 Slide 6837 Fall 2003

        Euler AnglesAn Euler angle is a rotation about a single axis Any

        orientation can be described composing three rotation around

        each coordinate axis

        Roll pitch and yaw

        Courtesy of Gernot Hoffmann Used with permission

        httpwwwfho-emdende~hoffmanngimbal09082002pdf

        Lecture 11 Slide 6837 Fall 2003

        Interpolating Euler AnglesNatural orientation representation

        angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

        = 120o around (1 1 1)But 30oaround Z then Y

        differs from 40o around (1 1 1)

        Lecture 11 Slide 6837 Fall 2003

        GimballockGimbal lock two or more axis align resulting in a

        loss of rotation degrees of freedom

        Lecture 11 Slide 6837 Fall 2003

        DemoBy Sobeitvoidfrom

        httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

        See also

        httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

        Lecture 11 Slide 6837 Fall 2003

        Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

        Lecture 11 Slide 6837 Fall 2003

        Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

        Lecture 11 Slide 6837 Fall 2003

        OverviewInterpolation of rotations quaternions

        Euler angles

        Quaternions

        Dynamics

        Particles

        Rigid body

        Deformable objects

        Lecture 11 Slide 6837 Fall 2003

        Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

        2 3-spheres

        Lecture 11 Slide 6837 Fall 2003

        1D sphere and complex planeInterpolate orientation in 2D1 angle

        But messy because modulo 2π

        Use interpolation in (complex) 2D planeOrientation = complex argument of the number

        Lecture 11 Slide 6837 Fall 2003

        Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

        =gt The interpolated motion does not have uniform velocity it may speed up too much

        Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

        Lecture 11 Slide 6837 Fall 2003

        2-angle orientationEmbed 2-sphere in 3D2 angles

        Messy because modulo 2πand pole

        Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

        Lecture 11 Slide 6837 Fall 2003

        3 angles

        Use the same principle interpolate in higher-dimensional space Project back to unit sphere

        Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

        Due to Hamilton (1843) also Shoemake Siggraph85

        Lecture 11 Slide 6837 Fall 2003

        QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

        Often noted (s v) What if we use ndashv

        What is the quaternion of Identity rotation

        Is there exactly one quaternion per rotation

        What is the inverse q-1of quaternion q a b c d

        Lecture 11 Slide 6837 Fall 2003

        QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

        Often noted (s v) What if we use ndashv

        What is the quaternion of Identity rotation qi= 1 0 0 0

        Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

        - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

        What is the inverse q-1of quaternion q a b c d

        Lecture 11 Slide 6837 Fall 2003

        Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

        Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

        Lecture 11 Slide 6837 Fall 2003

        Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

        Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

        cos(α2)sin(β2) v+vtimesv

        cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

        cos((α+β)2) v sin((α+β)2)

        Lecture 11 Slide 6837 Fall 2003

        Quaternion recap 1 (wake up)4D representation of orientation

        q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

        Consistent with rotation composition

        How do we apply rotationsHow do we interpolate

        Lecture 11 Slide 6837 Fall 2003

        Quaternion Algebra

        Two general quaternionsare multiplied by a special rule

        To rotate 3D pointvector p by q compute q0 p q-1

        p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

        =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

        q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

        Lecture 11 Slide 6837 Fall 2003

        Quaternion Algebra

        Two general quaternionsare multiplied by a special rule

        To rotate 3D pointvector p by q compute q0 p q-1

        Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

        But not commutative q1 q2 neq2 q1

        Lecture 11 Slide 6837 Fall 2003

        Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

        Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

        Lecture 11 Slide 6837 Fall 2003

        Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

        Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

        Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

        Lecture 11 Slide 6837 Fall 2003

        QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

        i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

        hellip

        Lecture 11 Slide 6837 Fall 2003

        FunJulia Sets in Quaternion space

        Mandelbrot set Zn+1=Zn2+Z0

        Julia set Zn+1=Zn2+C

        httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

        Images removed due to copyright considerations

        See also httpwwwchaosprodegallerygalleryphpcat=Anim

        Lecture 11 Slide 6837 Fall 2003

        FunJulia Sets in Quaternion space

        Julia set Zn+1=Zn2+C

        Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

        Images removed due to copyright considerations

        Lecture 11 Slide 6837 Fall 2003

        Recap quaternions3 angles represented in 4D

        q= cos(θ2) vsin(θ2)

        Weird multiplication rules

        Good interpolation using slerp

        Lecture 11 Slide 6837 Fall 2003

        OverviewInterpolation of rotations quaternions

        Euler angles

        Quaternions

        Dynamics

        Particles

        Rigid body

        Deformable objects

        Lecture 11 Slide 6837 Fall 2003

        Break movie time

        Pixar For the Bird

        • Slide 1
        • Slide 2
        • Slide 3
        • Slide 4
        • Slide 5
        • Slide 6
        • Slide 7
        • Slide 8
        • Slide 9
        • Slide 10
        • Slide 11
        • Slide 12
        • Slide 13
        • Slide 14
        • Slide 15
        • Slide 16
        • Slide 17
        • Slide 18
        • Slide 19
        • Slide 20
        • Slide 21
        • Slide 22
        • Slide 23
        • Slide 24
        • Slide 25
        • Slide 26
        • Slide 27
        • Slide 28
        • Slide 29
        • Slide 30
        • Slide 31
        • Slide 32
        • Slide 33
        • Slide 34
        • Slide 35
        • Slide 36
        • Slide 37
        • Slide 38

          Lecture 11 Slide 6837 Fall 2003

          Final projectFirst brainstorming session on ThursdayGroups of threeProposal due Monday 1027

          A couple of pages Goals Progression

          Appointment with staff

          Lecture 11 Slide 6837 Fall 2003

          Computer-Assisted Animation Keyframingautomate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a functionof small number of parameteresExample a clock with second minuteand hour handsbull hands should rotate togetherbull express the clock motions in terms ofa ldquosecondsrdquo variablebull the clock is animated by varying theseconds parameterExample 2 A bouncing ballbullAbs(sin(ωt+θ0))e-kt

          Lecture 11 Slide 6837 Fall 2003

          Computer-Assisted Animation Physically Based Animation

          Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

          Motion Capture

          Captures style subtle nuances and realism You must observe someone do something

          Lecture 11 Slide 6837 Fall 2003

          OverviewInterpolation of rotations quaternions

          Euler angles

          Quaternions

          Dynamics

          Particles

          Rigid body

          Deformable objects

          Lecture 11 Slide 6837 Fall 2003

          Interpolating Orientations in 3-DRotation matrices

          Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

          Lecture 11 Slide 6837 Fall 2003

          Flawed SolutionInterpolate each entry independently

          Example M0 is identity and M1is 90o around x-axisIs

          Is the result a rotation matrix

          NO

          For example RRTdoes not equal identity

          This interpolation does not preserve rigidity

          (angles and lengths)

          Lecture 11 Slide 6837 Fall 2003

          3D rotationsHow many degrees of freedom for 3D orientations

          3 degrees of freedom

          eg direction of rotation and angle

          Or 3 Euler angles

          Lecture 11 Slide 6837 Fall 2003

          Euler AnglesAn Euler angle is a rotation about a single axis Any

          orientation can be described composing three rotation around

          each coordinate axis

          Roll pitch and yaw

          Courtesy of Gernot Hoffmann Used with permission

          httpwwwfho-emdende~hoffmanngimbal09082002pdf

          Lecture 11 Slide 6837 Fall 2003

          Interpolating Euler AnglesNatural orientation representation

          angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

          = 120o around (1 1 1)But 30oaround Z then Y

          differs from 40o around (1 1 1)

          Lecture 11 Slide 6837 Fall 2003

          GimballockGimbal lock two or more axis align resulting in a

          loss of rotation degrees of freedom

          Lecture 11 Slide 6837 Fall 2003

          DemoBy Sobeitvoidfrom

          httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

          See also

          httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

          Lecture 11 Slide 6837 Fall 2003

          Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

          Lecture 11 Slide 6837 Fall 2003

          Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

          Lecture 11 Slide 6837 Fall 2003

          OverviewInterpolation of rotations quaternions

          Euler angles

          Quaternions

          Dynamics

          Particles

          Rigid body

          Deformable objects

          Lecture 11 Slide 6837 Fall 2003

          Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

          2 3-spheres

          Lecture 11 Slide 6837 Fall 2003

          1D sphere and complex planeInterpolate orientation in 2D1 angle

          But messy because modulo 2π

          Use interpolation in (complex) 2D planeOrientation = complex argument of the number

          Lecture 11 Slide 6837 Fall 2003

          Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

          =gt The interpolated motion does not have uniform velocity it may speed up too much

          Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

          Lecture 11 Slide 6837 Fall 2003

          2-angle orientationEmbed 2-sphere in 3D2 angles

          Messy because modulo 2πand pole

          Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

          Lecture 11 Slide 6837 Fall 2003

          3 angles

          Use the same principle interpolate in higher-dimensional space Project back to unit sphere

          Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

          Due to Hamilton (1843) also Shoemake Siggraph85

          Lecture 11 Slide 6837 Fall 2003

          QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

          Often noted (s v) What if we use ndashv

          What is the quaternion of Identity rotation

          Is there exactly one quaternion per rotation

          What is the inverse q-1of quaternion q a b c d

          Lecture 11 Slide 6837 Fall 2003

          QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

          Often noted (s v) What if we use ndashv

          What is the quaternion of Identity rotation qi= 1 0 0 0

          Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

          - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

          What is the inverse q-1of quaternion q a b c d

          Lecture 11 Slide 6837 Fall 2003

          Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

          Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

          Lecture 11 Slide 6837 Fall 2003

          Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

          Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

          cos(α2)sin(β2) v+vtimesv

          cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

          cos((α+β)2) v sin((α+β)2)

          Lecture 11 Slide 6837 Fall 2003

          Quaternion recap 1 (wake up)4D representation of orientation

          q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

          Consistent with rotation composition

          How do we apply rotationsHow do we interpolate

          Lecture 11 Slide 6837 Fall 2003

          Quaternion Algebra

          Two general quaternionsare multiplied by a special rule

          To rotate 3D pointvector p by q compute q0 p q-1

          p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

          =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

          q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

          Lecture 11 Slide 6837 Fall 2003

          Quaternion Algebra

          Two general quaternionsare multiplied by a special rule

          To rotate 3D pointvector p by q compute q0 p q-1

          Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

          But not commutative q1 q2 neq2 q1

          Lecture 11 Slide 6837 Fall 2003

          Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

          Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

          Lecture 11 Slide 6837 Fall 2003

          Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

          Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

          Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

          Lecture 11 Slide 6837 Fall 2003

          QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

          i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

          hellip

          Lecture 11 Slide 6837 Fall 2003

          FunJulia Sets in Quaternion space

          Mandelbrot set Zn+1=Zn2+Z0

          Julia set Zn+1=Zn2+C

          httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

          Images removed due to copyright considerations

          See also httpwwwchaosprodegallerygalleryphpcat=Anim

          Lecture 11 Slide 6837 Fall 2003

          FunJulia Sets in Quaternion space

          Julia set Zn+1=Zn2+C

          Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

          Images removed due to copyright considerations

          Lecture 11 Slide 6837 Fall 2003

          Recap quaternions3 angles represented in 4D

          q= cos(θ2) vsin(θ2)

          Weird multiplication rules

          Good interpolation using slerp

          Lecture 11 Slide 6837 Fall 2003

          OverviewInterpolation of rotations quaternions

          Euler angles

          Quaternions

          Dynamics

          Particles

          Rigid body

          Deformable objects

          Lecture 11 Slide 6837 Fall 2003

          Break movie time

          Pixar For the Bird

          • Slide 1
          • Slide 2
          • Slide 3
          • Slide 4
          • Slide 5
          • Slide 6
          • Slide 7
          • Slide 8
          • Slide 9
          • Slide 10
          • Slide 11
          • Slide 12
          • Slide 13
          • Slide 14
          • Slide 15
          • Slide 16
          • Slide 17
          • Slide 18
          • Slide 19
          • Slide 20
          • Slide 21
          • Slide 22
          • Slide 23
          • Slide 24
          • Slide 25
          • Slide 26
          • Slide 27
          • Slide 28
          • Slide 29
          • Slide 30
          • Slide 31
          • Slide 32
          • Slide 33
          • Slide 34
          • Slide 35
          • Slide 36
          • Slide 37
          • Slide 38

            Lecture 11 Slide 6837 Fall 2003

            Computer-Assisted Animation Keyframingautomate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a functionof small number of parameteresExample a clock with second minuteand hour handsbull hands should rotate togetherbull express the clock motions in terms ofa ldquosecondsrdquo variablebull the clock is animated by varying theseconds parameterExample 2 A bouncing ballbullAbs(sin(ωt+θ0))e-kt

            Lecture 11 Slide 6837 Fall 2003

            Computer-Assisted Animation Physically Based Animation

            Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

            Motion Capture

            Captures style subtle nuances and realism You must observe someone do something

            Lecture 11 Slide 6837 Fall 2003

            OverviewInterpolation of rotations quaternions

            Euler angles

            Quaternions

            Dynamics

            Particles

            Rigid body

            Deformable objects

            Lecture 11 Slide 6837 Fall 2003

            Interpolating Orientations in 3-DRotation matrices

            Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

            Lecture 11 Slide 6837 Fall 2003

            Flawed SolutionInterpolate each entry independently

            Example M0 is identity and M1is 90o around x-axisIs

            Is the result a rotation matrix

            NO

            For example RRTdoes not equal identity

            This interpolation does not preserve rigidity

            (angles and lengths)

            Lecture 11 Slide 6837 Fall 2003

            3D rotationsHow many degrees of freedom for 3D orientations

            3 degrees of freedom

            eg direction of rotation and angle

            Or 3 Euler angles

            Lecture 11 Slide 6837 Fall 2003

            Euler AnglesAn Euler angle is a rotation about a single axis Any

            orientation can be described composing three rotation around

            each coordinate axis

            Roll pitch and yaw

            Courtesy of Gernot Hoffmann Used with permission

            httpwwwfho-emdende~hoffmanngimbal09082002pdf

            Lecture 11 Slide 6837 Fall 2003

            Interpolating Euler AnglesNatural orientation representation

            angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

            = 120o around (1 1 1)But 30oaround Z then Y

            differs from 40o around (1 1 1)

            Lecture 11 Slide 6837 Fall 2003

            GimballockGimbal lock two or more axis align resulting in a

            loss of rotation degrees of freedom

            Lecture 11 Slide 6837 Fall 2003

            DemoBy Sobeitvoidfrom

            httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

            See also

            httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

            Lecture 11 Slide 6837 Fall 2003

            Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

            Lecture 11 Slide 6837 Fall 2003

            Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

            Lecture 11 Slide 6837 Fall 2003

            OverviewInterpolation of rotations quaternions

            Euler angles

            Quaternions

            Dynamics

            Particles

            Rigid body

            Deformable objects

            Lecture 11 Slide 6837 Fall 2003

            Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

            2 3-spheres

            Lecture 11 Slide 6837 Fall 2003

            1D sphere and complex planeInterpolate orientation in 2D1 angle

            But messy because modulo 2π

            Use interpolation in (complex) 2D planeOrientation = complex argument of the number

            Lecture 11 Slide 6837 Fall 2003

            Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

            =gt The interpolated motion does not have uniform velocity it may speed up too much

            Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

            Lecture 11 Slide 6837 Fall 2003

            2-angle orientationEmbed 2-sphere in 3D2 angles

            Messy because modulo 2πand pole

            Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

            Lecture 11 Slide 6837 Fall 2003

            3 angles

            Use the same principle interpolate in higher-dimensional space Project back to unit sphere

            Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

            Due to Hamilton (1843) also Shoemake Siggraph85

            Lecture 11 Slide 6837 Fall 2003

            QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

            Often noted (s v) What if we use ndashv

            What is the quaternion of Identity rotation

            Is there exactly one quaternion per rotation

            What is the inverse q-1of quaternion q a b c d

            Lecture 11 Slide 6837 Fall 2003

            QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

            Often noted (s v) What if we use ndashv

            What is the quaternion of Identity rotation qi= 1 0 0 0

            Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

            - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

            What is the inverse q-1of quaternion q a b c d

            Lecture 11 Slide 6837 Fall 2003

            Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

            Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

            Lecture 11 Slide 6837 Fall 2003

            Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

            Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

            cos(α2)sin(β2) v+vtimesv

            cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

            cos((α+β)2) v sin((α+β)2)

            Lecture 11 Slide 6837 Fall 2003

            Quaternion recap 1 (wake up)4D representation of orientation

            q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

            Consistent with rotation composition

            How do we apply rotationsHow do we interpolate

            Lecture 11 Slide 6837 Fall 2003

            Quaternion Algebra

            Two general quaternionsare multiplied by a special rule

            To rotate 3D pointvector p by q compute q0 p q-1

            p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

            =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

            q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

            Lecture 11 Slide 6837 Fall 2003

            Quaternion Algebra

            Two general quaternionsare multiplied by a special rule

            To rotate 3D pointvector p by q compute q0 p q-1

            Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

            But not commutative q1 q2 neq2 q1

            Lecture 11 Slide 6837 Fall 2003

            Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

            Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

            Lecture 11 Slide 6837 Fall 2003

            Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

            Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

            Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

            Lecture 11 Slide 6837 Fall 2003

            QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

            i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

            hellip

            Lecture 11 Slide 6837 Fall 2003

            FunJulia Sets in Quaternion space

            Mandelbrot set Zn+1=Zn2+Z0

            Julia set Zn+1=Zn2+C

            httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

            Images removed due to copyright considerations

            See also httpwwwchaosprodegallerygalleryphpcat=Anim

            Lecture 11 Slide 6837 Fall 2003

            FunJulia Sets in Quaternion space

            Julia set Zn+1=Zn2+C

            Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

            Images removed due to copyright considerations

            Lecture 11 Slide 6837 Fall 2003

            Recap quaternions3 angles represented in 4D

            q= cos(θ2) vsin(θ2)

            Weird multiplication rules

            Good interpolation using slerp

            Lecture 11 Slide 6837 Fall 2003

            OverviewInterpolation of rotations quaternions

            Euler angles

            Quaternions

            Dynamics

            Particles

            Rigid body

            Deformable objects

            Lecture 11 Slide 6837 Fall 2003

            Break movie time

            Pixar For the Bird

            • Slide 1
            • Slide 2
            • Slide 3
            • Slide 4
            • Slide 5
            • Slide 6
            • Slide 7
            • Slide 8
            • Slide 9
            • Slide 10
            • Slide 11
            • Slide 12
            • Slide 13
            • Slide 14
            • Slide 15
            • Slide 16
            • Slide 17
            • Slide 18
            • Slide 19
            • Slide 20
            • Slide 21
            • Slide 22
            • Slide 23
            • Slide 24
            • Slide 25
            • Slide 26
            • Slide 27
            • Slide 28
            • Slide 29
            • Slide 30
            • Slide 31
            • Slide 32
            • Slide 33
            • Slide 34
            • Slide 35
            • Slide 36
            • Slide 37
            • Slide 38

              Lecture 11 Slide 6837 Fall 2003

              Computer-Assisted Animation Physically Based Animation

              Assign physical properties to objects (masses forces inertial properties) Simulate physics by solving equations Realistic but difficult to control

              Motion Capture

              Captures style subtle nuances and realism You must observe someone do something

              Lecture 11 Slide 6837 Fall 2003

              OverviewInterpolation of rotations quaternions

              Euler angles

              Quaternions

              Dynamics

              Particles

              Rigid body

              Deformable objects

              Lecture 11 Slide 6837 Fall 2003

              Interpolating Orientations in 3-DRotation matrices

              Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

              Lecture 11 Slide 6837 Fall 2003

              Flawed SolutionInterpolate each entry independently

              Example M0 is identity and M1is 90o around x-axisIs

              Is the result a rotation matrix

              NO

              For example RRTdoes not equal identity

              This interpolation does not preserve rigidity

              (angles and lengths)

              Lecture 11 Slide 6837 Fall 2003

              3D rotationsHow many degrees of freedom for 3D orientations

              3 degrees of freedom

              eg direction of rotation and angle

              Or 3 Euler angles

              Lecture 11 Slide 6837 Fall 2003

              Euler AnglesAn Euler angle is a rotation about a single axis Any

              orientation can be described composing three rotation around

              each coordinate axis

              Roll pitch and yaw

              Courtesy of Gernot Hoffmann Used with permission

              httpwwwfho-emdende~hoffmanngimbal09082002pdf

              Lecture 11 Slide 6837 Fall 2003

              Interpolating Euler AnglesNatural orientation representation

              angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

              = 120o around (1 1 1)But 30oaround Z then Y

              differs from 40o around (1 1 1)

              Lecture 11 Slide 6837 Fall 2003

              GimballockGimbal lock two or more axis align resulting in a

              loss of rotation degrees of freedom

              Lecture 11 Slide 6837 Fall 2003

              DemoBy Sobeitvoidfrom

              httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

              See also

              httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

              Lecture 11 Slide 6837 Fall 2003

              Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

              Lecture 11 Slide 6837 Fall 2003

              Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

              Lecture 11 Slide 6837 Fall 2003

              OverviewInterpolation of rotations quaternions

              Euler angles

              Quaternions

              Dynamics

              Particles

              Rigid body

              Deformable objects

              Lecture 11 Slide 6837 Fall 2003

              Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

              2 3-spheres

              Lecture 11 Slide 6837 Fall 2003

              1D sphere and complex planeInterpolate orientation in 2D1 angle

              But messy because modulo 2π

              Use interpolation in (complex) 2D planeOrientation = complex argument of the number

              Lecture 11 Slide 6837 Fall 2003

              Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

              =gt The interpolated motion does not have uniform velocity it may speed up too much

              Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

              Lecture 11 Slide 6837 Fall 2003

              2-angle orientationEmbed 2-sphere in 3D2 angles

              Messy because modulo 2πand pole

              Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

              Lecture 11 Slide 6837 Fall 2003

              3 angles

              Use the same principle interpolate in higher-dimensional space Project back to unit sphere

              Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

              Due to Hamilton (1843) also Shoemake Siggraph85

              Lecture 11 Slide 6837 Fall 2003

              QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

              Often noted (s v) What if we use ndashv

              What is the quaternion of Identity rotation

              Is there exactly one quaternion per rotation

              What is the inverse q-1of quaternion q a b c d

              Lecture 11 Slide 6837 Fall 2003

              QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

              Often noted (s v) What if we use ndashv

              What is the quaternion of Identity rotation qi= 1 0 0 0

              Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

              - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

              What is the inverse q-1of quaternion q a b c d

              Lecture 11 Slide 6837 Fall 2003

              Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

              Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

              Lecture 11 Slide 6837 Fall 2003

              Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

              Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

              cos(α2)sin(β2) v+vtimesv

              cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

              cos((α+β)2) v sin((α+β)2)

              Lecture 11 Slide 6837 Fall 2003

              Quaternion recap 1 (wake up)4D representation of orientation

              q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

              Consistent with rotation composition

              How do we apply rotationsHow do we interpolate

              Lecture 11 Slide 6837 Fall 2003

              Quaternion Algebra

              Two general quaternionsare multiplied by a special rule

              To rotate 3D pointvector p by q compute q0 p q-1

              p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

              =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

              q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

              Lecture 11 Slide 6837 Fall 2003

              Quaternion Algebra

              Two general quaternionsare multiplied by a special rule

              To rotate 3D pointvector p by q compute q0 p q-1

              Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

              But not commutative q1 q2 neq2 q1

              Lecture 11 Slide 6837 Fall 2003

              Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

              Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

              Lecture 11 Slide 6837 Fall 2003

              Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

              Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

              Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

              Lecture 11 Slide 6837 Fall 2003

              QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

              i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

              hellip

              Lecture 11 Slide 6837 Fall 2003

              FunJulia Sets in Quaternion space

              Mandelbrot set Zn+1=Zn2+Z0

              Julia set Zn+1=Zn2+C

              httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

              Images removed due to copyright considerations

              See also httpwwwchaosprodegallerygalleryphpcat=Anim

              Lecture 11 Slide 6837 Fall 2003

              FunJulia Sets in Quaternion space

              Julia set Zn+1=Zn2+C

              Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

              Images removed due to copyright considerations

              Lecture 11 Slide 6837 Fall 2003

              Recap quaternions3 angles represented in 4D

              q= cos(θ2) vsin(θ2)

              Weird multiplication rules

              Good interpolation using slerp

              Lecture 11 Slide 6837 Fall 2003

              OverviewInterpolation of rotations quaternions

              Euler angles

              Quaternions

              Dynamics

              Particles

              Rigid body

              Deformable objects

              Lecture 11 Slide 6837 Fall 2003

              Break movie time

              Pixar For the Bird

              • Slide 1
              • Slide 2
              • Slide 3
              • Slide 4
              • Slide 5
              • Slide 6
              • Slide 7
              • Slide 8
              • Slide 9
              • Slide 10
              • Slide 11
              • Slide 12
              • Slide 13
              • Slide 14
              • Slide 15
              • Slide 16
              • Slide 17
              • Slide 18
              • Slide 19
              • Slide 20
              • Slide 21
              • Slide 22
              • Slide 23
              • Slide 24
              • Slide 25
              • Slide 26
              • Slide 27
              • Slide 28
              • Slide 29
              • Slide 30
              • Slide 31
              • Slide 32
              • Slide 33
              • Slide 34
              • Slide 35
              • Slide 36
              • Slide 37
              • Slide 38

                Lecture 11 Slide 6837 Fall 2003

                OverviewInterpolation of rotations quaternions

                Euler angles

                Quaternions

                Dynamics

                Particles

                Rigid body

                Deformable objects

                Lecture 11 Slide 6837 Fall 2003

                Interpolating Orientations in 3-DRotation matrices

                Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

                Lecture 11 Slide 6837 Fall 2003

                Flawed SolutionInterpolate each entry independently

                Example M0 is identity and M1is 90o around x-axisIs

                Is the result a rotation matrix

                NO

                For example RRTdoes not equal identity

                This interpolation does not preserve rigidity

                (angles and lengths)

                Lecture 11 Slide 6837 Fall 2003

                3D rotationsHow many degrees of freedom for 3D orientations

                3 degrees of freedom

                eg direction of rotation and angle

                Or 3 Euler angles

                Lecture 11 Slide 6837 Fall 2003

                Euler AnglesAn Euler angle is a rotation about a single axis Any

                orientation can be described composing three rotation around

                each coordinate axis

                Roll pitch and yaw

                Courtesy of Gernot Hoffmann Used with permission

                httpwwwfho-emdende~hoffmanngimbal09082002pdf

                Lecture 11 Slide 6837 Fall 2003

                Interpolating Euler AnglesNatural orientation representation

                angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

                = 120o around (1 1 1)But 30oaround Z then Y

                differs from 40o around (1 1 1)

                Lecture 11 Slide 6837 Fall 2003

                GimballockGimbal lock two or more axis align resulting in a

                loss of rotation degrees of freedom

                Lecture 11 Slide 6837 Fall 2003

                DemoBy Sobeitvoidfrom

                httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                See also

                httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                Lecture 11 Slide 6837 Fall 2003

                Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                Lecture 11 Slide 6837 Fall 2003

                Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                Lecture 11 Slide 6837 Fall 2003

                OverviewInterpolation of rotations quaternions

                Euler angles

                Quaternions

                Dynamics

                Particles

                Rigid body

                Deformable objects

                Lecture 11 Slide 6837 Fall 2003

                Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                2 3-spheres

                Lecture 11 Slide 6837 Fall 2003

                1D sphere and complex planeInterpolate orientation in 2D1 angle

                But messy because modulo 2π

                Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                Lecture 11 Slide 6837 Fall 2003

                Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                =gt The interpolated motion does not have uniform velocity it may speed up too much

                Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                Lecture 11 Slide 6837 Fall 2003

                2-angle orientationEmbed 2-sphere in 3D2 angles

                Messy because modulo 2πand pole

                Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                Lecture 11 Slide 6837 Fall 2003

                3 angles

                Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                Due to Hamilton (1843) also Shoemake Siggraph85

                Lecture 11 Slide 6837 Fall 2003

                QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                Often noted (s v) What if we use ndashv

                What is the quaternion of Identity rotation

                Is there exactly one quaternion per rotation

                What is the inverse q-1of quaternion q a b c d

                Lecture 11 Slide 6837 Fall 2003

                QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                Often noted (s v) What if we use ndashv

                What is the quaternion of Identity rotation qi= 1 0 0 0

                Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                What is the inverse q-1of quaternion q a b c d

                Lecture 11 Slide 6837 Fall 2003

                Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                Lecture 11 Slide 6837 Fall 2003

                Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                cos(α2)sin(β2) v+vtimesv

                cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                cos((α+β)2) v sin((α+β)2)

                Lecture 11 Slide 6837 Fall 2003

                Quaternion recap 1 (wake up)4D representation of orientation

                q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                Consistent with rotation composition

                How do we apply rotationsHow do we interpolate

                Lecture 11 Slide 6837 Fall 2003

                Quaternion Algebra

                Two general quaternionsare multiplied by a special rule

                To rotate 3D pointvector p by q compute q0 p q-1

                p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                Lecture 11 Slide 6837 Fall 2003

                Quaternion Algebra

                Two general quaternionsare multiplied by a special rule

                To rotate 3D pointvector p by q compute q0 p q-1

                Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                But not commutative q1 q2 neq2 q1

                Lecture 11 Slide 6837 Fall 2003

                Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                Lecture 11 Slide 6837 Fall 2003

                Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                Lecture 11 Slide 6837 Fall 2003

                QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                hellip

                Lecture 11 Slide 6837 Fall 2003

                FunJulia Sets in Quaternion space

                Mandelbrot set Zn+1=Zn2+Z0

                Julia set Zn+1=Zn2+C

                httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                Images removed due to copyright considerations

                See also httpwwwchaosprodegallerygalleryphpcat=Anim

                Lecture 11 Slide 6837 Fall 2003

                FunJulia Sets in Quaternion space

                Julia set Zn+1=Zn2+C

                Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                Images removed due to copyright considerations

                Lecture 11 Slide 6837 Fall 2003

                Recap quaternions3 angles represented in 4D

                q= cos(θ2) vsin(θ2)

                Weird multiplication rules

                Good interpolation using slerp

                Lecture 11 Slide 6837 Fall 2003

                OverviewInterpolation of rotations quaternions

                Euler angles

                Quaternions

                Dynamics

                Particles

                Rigid body

                Deformable objects

                Lecture 11 Slide 6837 Fall 2003

                Break movie time

                Pixar For the Bird

                • Slide 1
                • Slide 2
                • Slide 3
                • Slide 4
                • Slide 5
                • Slide 6
                • Slide 7
                • Slide 8
                • Slide 9
                • Slide 10
                • Slide 11
                • Slide 12
                • Slide 13
                • Slide 14
                • Slide 15
                • Slide 16
                • Slide 17
                • Slide 18
                • Slide 19
                • Slide 20
                • Slide 21
                • Slide 22
                • Slide 23
                • Slide 24
                • Slide 25
                • Slide 26
                • Slide 27
                • Slide 28
                • Slide 29
                • Slide 30
                • Slide 31
                • Slide 32
                • Slide 33
                • Slide 34
                • Slide 35
                • Slide 36
                • Slide 37
                • Slide 38

                  Lecture 11 Slide 6837 Fall 2003

                  Interpolating Orientations in 3-DRotation matrices

                  Given rotation matrices Mi and time ti find M(t) such that M(ti)=Mi

                  Lecture 11 Slide 6837 Fall 2003

                  Flawed SolutionInterpolate each entry independently

                  Example M0 is identity and M1is 90o around x-axisIs

                  Is the result a rotation matrix

                  NO

                  For example RRTdoes not equal identity

                  This interpolation does not preserve rigidity

                  (angles and lengths)

                  Lecture 11 Slide 6837 Fall 2003

                  3D rotationsHow many degrees of freedom for 3D orientations

                  3 degrees of freedom

                  eg direction of rotation and angle

                  Or 3 Euler angles

                  Lecture 11 Slide 6837 Fall 2003

                  Euler AnglesAn Euler angle is a rotation about a single axis Any

                  orientation can be described composing three rotation around

                  each coordinate axis

                  Roll pitch and yaw

                  Courtesy of Gernot Hoffmann Used with permission

                  httpwwwfho-emdende~hoffmanngimbal09082002pdf

                  Lecture 11 Slide 6837 Fall 2003

                  Interpolating Euler AnglesNatural orientation representation

                  angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

                  = 120o around (1 1 1)But 30oaround Z then Y

                  differs from 40o around (1 1 1)

                  Lecture 11 Slide 6837 Fall 2003

                  GimballockGimbal lock two or more axis align resulting in a

                  loss of rotation degrees of freedom

                  Lecture 11 Slide 6837 Fall 2003

                  DemoBy Sobeitvoidfrom

                  httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                  See also

                  httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                  Lecture 11 Slide 6837 Fall 2003

                  Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                  Lecture 11 Slide 6837 Fall 2003

                  Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                  Lecture 11 Slide 6837 Fall 2003

                  OverviewInterpolation of rotations quaternions

                  Euler angles

                  Quaternions

                  Dynamics

                  Particles

                  Rigid body

                  Deformable objects

                  Lecture 11 Slide 6837 Fall 2003

                  Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                  2 3-spheres

                  Lecture 11 Slide 6837 Fall 2003

                  1D sphere and complex planeInterpolate orientation in 2D1 angle

                  But messy because modulo 2π

                  Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                  Lecture 11 Slide 6837 Fall 2003

                  Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                  =gt The interpolated motion does not have uniform velocity it may speed up too much

                  Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                  Lecture 11 Slide 6837 Fall 2003

                  2-angle orientationEmbed 2-sphere in 3D2 angles

                  Messy because modulo 2πand pole

                  Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                  Lecture 11 Slide 6837 Fall 2003

                  3 angles

                  Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                  Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                  Due to Hamilton (1843) also Shoemake Siggraph85

                  Lecture 11 Slide 6837 Fall 2003

                  QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                  Often noted (s v) What if we use ndashv

                  What is the quaternion of Identity rotation

                  Is there exactly one quaternion per rotation

                  What is the inverse q-1of quaternion q a b c d

                  Lecture 11 Slide 6837 Fall 2003

                  QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                  Often noted (s v) What if we use ndashv

                  What is the quaternion of Identity rotation qi= 1 0 0 0

                  Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                  - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                  What is the inverse q-1of quaternion q a b c d

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                  Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                  Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                  cos(α2)sin(β2) v+vtimesv

                  cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                  cos((α+β)2) v sin((α+β)2)

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion recap 1 (wake up)4D representation of orientation

                  q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                  Consistent with rotation composition

                  How do we apply rotationsHow do we interpolate

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion Algebra

                  Two general quaternionsare multiplied by a special rule

                  To rotate 3D pointvector p by q compute q0 p q-1

                  p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                  =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                  q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion Algebra

                  Two general quaternionsare multiplied by a special rule

                  To rotate 3D pointvector p by q compute q0 p q-1

                  Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                  But not commutative q1 q2 neq2 q1

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                  Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                  Lecture 11 Slide 6837 Fall 2003

                  Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                  Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                  Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                  Lecture 11 Slide 6837 Fall 2003

                  QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                  i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                  hellip

                  Lecture 11 Slide 6837 Fall 2003

                  FunJulia Sets in Quaternion space

                  Mandelbrot set Zn+1=Zn2+Z0

                  Julia set Zn+1=Zn2+C

                  httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                  Images removed due to copyright considerations

                  See also httpwwwchaosprodegallerygalleryphpcat=Anim

                  Lecture 11 Slide 6837 Fall 2003

                  FunJulia Sets in Quaternion space

                  Julia set Zn+1=Zn2+C

                  Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                  Images removed due to copyright considerations

                  Lecture 11 Slide 6837 Fall 2003

                  Recap quaternions3 angles represented in 4D

                  q= cos(θ2) vsin(θ2)

                  Weird multiplication rules

                  Good interpolation using slerp

                  Lecture 11 Slide 6837 Fall 2003

                  OverviewInterpolation of rotations quaternions

                  Euler angles

                  Quaternions

                  Dynamics

                  Particles

                  Rigid body

                  Deformable objects

                  Lecture 11 Slide 6837 Fall 2003

                  Break movie time

                  Pixar For the Bird

                  • Slide 1
                  • Slide 2
                  • Slide 3
                  • Slide 4
                  • Slide 5
                  • Slide 6
                  • Slide 7
                  • Slide 8
                  • Slide 9
                  • Slide 10
                  • Slide 11
                  • Slide 12
                  • Slide 13
                  • Slide 14
                  • Slide 15
                  • Slide 16
                  • Slide 17
                  • Slide 18
                  • Slide 19
                  • Slide 20
                  • Slide 21
                  • Slide 22
                  • Slide 23
                  • Slide 24
                  • Slide 25
                  • Slide 26
                  • Slide 27
                  • Slide 28
                  • Slide 29
                  • Slide 30
                  • Slide 31
                  • Slide 32
                  • Slide 33
                  • Slide 34
                  • Slide 35
                  • Slide 36
                  • Slide 37
                  • Slide 38

                    Lecture 11 Slide 6837 Fall 2003

                    Flawed SolutionInterpolate each entry independently

                    Example M0 is identity and M1is 90o around x-axisIs

                    Is the result a rotation matrix

                    NO

                    For example RRTdoes not equal identity

                    This interpolation does not preserve rigidity

                    (angles and lengths)

                    Lecture 11 Slide 6837 Fall 2003

                    3D rotationsHow many degrees of freedom for 3D orientations

                    3 degrees of freedom

                    eg direction of rotation and angle

                    Or 3 Euler angles

                    Lecture 11 Slide 6837 Fall 2003

                    Euler AnglesAn Euler angle is a rotation about a single axis Any

                    orientation can be described composing three rotation around

                    each coordinate axis

                    Roll pitch and yaw

                    Courtesy of Gernot Hoffmann Used with permission

                    httpwwwfho-emdende~hoffmanngimbal09082002pdf

                    Lecture 11 Slide 6837 Fall 2003

                    Interpolating Euler AnglesNatural orientation representation

                    angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

                    = 120o around (1 1 1)But 30oaround Z then Y

                    differs from 40o around (1 1 1)

                    Lecture 11 Slide 6837 Fall 2003

                    GimballockGimbal lock two or more axis align resulting in a

                    loss of rotation degrees of freedom

                    Lecture 11 Slide 6837 Fall 2003

                    DemoBy Sobeitvoidfrom

                    httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                    See also

                    httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                    Lecture 11 Slide 6837 Fall 2003

                    Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                    Lecture 11 Slide 6837 Fall 2003

                    Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                    Lecture 11 Slide 6837 Fall 2003

                    OverviewInterpolation of rotations quaternions

                    Euler angles

                    Quaternions

                    Dynamics

                    Particles

                    Rigid body

                    Deformable objects

                    Lecture 11 Slide 6837 Fall 2003

                    Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                    2 3-spheres

                    Lecture 11 Slide 6837 Fall 2003

                    1D sphere and complex planeInterpolate orientation in 2D1 angle

                    But messy because modulo 2π

                    Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                    Lecture 11 Slide 6837 Fall 2003

                    Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                    =gt The interpolated motion does not have uniform velocity it may speed up too much

                    Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                    Lecture 11 Slide 6837 Fall 2003

                    2-angle orientationEmbed 2-sphere in 3D2 angles

                    Messy because modulo 2πand pole

                    Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                    Lecture 11 Slide 6837 Fall 2003

                    3 angles

                    Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                    Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                    Due to Hamilton (1843) also Shoemake Siggraph85

                    Lecture 11 Slide 6837 Fall 2003

                    QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                    Often noted (s v) What if we use ndashv

                    What is the quaternion of Identity rotation

                    Is there exactly one quaternion per rotation

                    What is the inverse q-1of quaternion q a b c d

                    Lecture 11 Slide 6837 Fall 2003

                    QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                    Often noted (s v) What if we use ndashv

                    What is the quaternion of Identity rotation qi= 1 0 0 0

                    Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                    - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                    What is the inverse q-1of quaternion q a b c d

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                    cos(α2)sin(β2) v+vtimesv

                    cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                    cos((α+β)2) v sin((α+β)2)

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion recap 1 (wake up)4D representation of orientation

                    q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                    Consistent with rotation composition

                    How do we apply rotationsHow do we interpolate

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion Algebra

                    Two general quaternionsare multiplied by a special rule

                    To rotate 3D pointvector p by q compute q0 p q-1

                    p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                    =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                    q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion Algebra

                    Two general quaternionsare multiplied by a special rule

                    To rotate 3D pointvector p by q compute q0 p q-1

                    Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                    But not commutative q1 q2 neq2 q1

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                    Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                    Lecture 11 Slide 6837 Fall 2003

                    Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                    Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                    Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                    Lecture 11 Slide 6837 Fall 2003

                    QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                    i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                    hellip

                    Lecture 11 Slide 6837 Fall 2003

                    FunJulia Sets in Quaternion space

                    Mandelbrot set Zn+1=Zn2+Z0

                    Julia set Zn+1=Zn2+C

                    httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                    Images removed due to copyright considerations

                    See also httpwwwchaosprodegallerygalleryphpcat=Anim

                    Lecture 11 Slide 6837 Fall 2003

                    FunJulia Sets in Quaternion space

                    Julia set Zn+1=Zn2+C

                    Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                    Images removed due to copyright considerations

                    Lecture 11 Slide 6837 Fall 2003

                    Recap quaternions3 angles represented in 4D

                    q= cos(θ2) vsin(θ2)

                    Weird multiplication rules

                    Good interpolation using slerp

                    Lecture 11 Slide 6837 Fall 2003

                    OverviewInterpolation of rotations quaternions

                    Euler angles

                    Quaternions

                    Dynamics

                    Particles

                    Rigid body

                    Deformable objects

                    Lecture 11 Slide 6837 Fall 2003

                    Break movie time

                    Pixar For the Bird

                    • Slide 1
                    • Slide 2
                    • Slide 3
                    • Slide 4
                    • Slide 5
                    • Slide 6
                    • Slide 7
                    • Slide 8
                    • Slide 9
                    • Slide 10
                    • Slide 11
                    • Slide 12
                    • Slide 13
                    • Slide 14
                    • Slide 15
                    • Slide 16
                    • Slide 17
                    • Slide 18
                    • Slide 19
                    • Slide 20
                    • Slide 21
                    • Slide 22
                    • Slide 23
                    • Slide 24
                    • Slide 25
                    • Slide 26
                    • Slide 27
                    • Slide 28
                    • Slide 29
                    • Slide 30
                    • Slide 31
                    • Slide 32
                    • Slide 33
                    • Slide 34
                    • Slide 35
                    • Slide 36
                    • Slide 37
                    • Slide 38

                      Lecture 11 Slide 6837 Fall 2003

                      3D rotationsHow many degrees of freedom for 3D orientations

                      3 degrees of freedom

                      eg direction of rotation and angle

                      Or 3 Euler angles

                      Lecture 11 Slide 6837 Fall 2003

                      Euler AnglesAn Euler angle is a rotation about a single axis Any

                      orientation can be described composing three rotation around

                      each coordinate axis

                      Roll pitch and yaw

                      Courtesy of Gernot Hoffmann Used with permission

                      httpwwwfho-emdende~hoffmanngimbal09082002pdf

                      Lecture 11 Slide 6837 Fall 2003

                      Interpolating Euler AnglesNatural orientation representation

                      angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

                      = 120o around (1 1 1)But 30oaround Z then Y

                      differs from 40o around (1 1 1)

                      Lecture 11 Slide 6837 Fall 2003

                      GimballockGimbal lock two or more axis align resulting in a

                      loss of rotation degrees of freedom

                      Lecture 11 Slide 6837 Fall 2003

                      DemoBy Sobeitvoidfrom

                      httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                      See also

                      httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                      Lecture 11 Slide 6837 Fall 2003

                      Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                      Lecture 11 Slide 6837 Fall 2003

                      Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                      Lecture 11 Slide 6837 Fall 2003

                      OverviewInterpolation of rotations quaternions

                      Euler angles

                      Quaternions

                      Dynamics

                      Particles

                      Rigid body

                      Deformable objects

                      Lecture 11 Slide 6837 Fall 2003

                      Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                      2 3-spheres

                      Lecture 11 Slide 6837 Fall 2003

                      1D sphere and complex planeInterpolate orientation in 2D1 angle

                      But messy because modulo 2π

                      Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                      Lecture 11 Slide 6837 Fall 2003

                      Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                      =gt The interpolated motion does not have uniform velocity it may speed up too much

                      Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                      Lecture 11 Slide 6837 Fall 2003

                      2-angle orientationEmbed 2-sphere in 3D2 angles

                      Messy because modulo 2πand pole

                      Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                      Lecture 11 Slide 6837 Fall 2003

                      3 angles

                      Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                      Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                      Due to Hamilton (1843) also Shoemake Siggraph85

                      Lecture 11 Slide 6837 Fall 2003

                      QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                      Often noted (s v) What if we use ndashv

                      What is the quaternion of Identity rotation

                      Is there exactly one quaternion per rotation

                      What is the inverse q-1of quaternion q a b c d

                      Lecture 11 Slide 6837 Fall 2003

                      QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                      Often noted (s v) What if we use ndashv

                      What is the quaternion of Identity rotation qi= 1 0 0 0

                      Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                      - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                      What is the inverse q-1of quaternion q a b c d

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                      cos(α2)sin(β2) v+vtimesv

                      cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                      cos((α+β)2) v sin((α+β)2)

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion recap 1 (wake up)4D representation of orientation

                      q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                      Consistent with rotation composition

                      How do we apply rotationsHow do we interpolate

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion Algebra

                      Two general quaternionsare multiplied by a special rule

                      To rotate 3D pointvector p by q compute q0 p q-1

                      p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                      =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                      q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion Algebra

                      Two general quaternionsare multiplied by a special rule

                      To rotate 3D pointvector p by q compute q0 p q-1

                      Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                      But not commutative q1 q2 neq2 q1

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                      Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                      Lecture 11 Slide 6837 Fall 2003

                      Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                      Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                      Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                      Lecture 11 Slide 6837 Fall 2003

                      QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                      i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                      hellip

                      Lecture 11 Slide 6837 Fall 2003

                      FunJulia Sets in Quaternion space

                      Mandelbrot set Zn+1=Zn2+Z0

                      Julia set Zn+1=Zn2+C

                      httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                      Images removed due to copyright considerations

                      See also httpwwwchaosprodegallerygalleryphpcat=Anim

                      Lecture 11 Slide 6837 Fall 2003

                      FunJulia Sets in Quaternion space

                      Julia set Zn+1=Zn2+C

                      Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                      Images removed due to copyright considerations

                      Lecture 11 Slide 6837 Fall 2003

                      Recap quaternions3 angles represented in 4D

                      q= cos(θ2) vsin(θ2)

                      Weird multiplication rules

                      Good interpolation using slerp

                      Lecture 11 Slide 6837 Fall 2003

                      OverviewInterpolation of rotations quaternions

                      Euler angles

                      Quaternions

                      Dynamics

                      Particles

                      Rigid body

                      Deformable objects

                      Lecture 11 Slide 6837 Fall 2003

                      Break movie time

                      Pixar For the Bird

                      • Slide 1
                      • Slide 2
                      • Slide 3
                      • Slide 4
                      • Slide 5
                      • Slide 6
                      • Slide 7
                      • Slide 8
                      • Slide 9
                      • Slide 10
                      • Slide 11
                      • Slide 12
                      • Slide 13
                      • Slide 14
                      • Slide 15
                      • Slide 16
                      • Slide 17
                      • Slide 18
                      • Slide 19
                      • Slide 20
                      • Slide 21
                      • Slide 22
                      • Slide 23
                      • Slide 24
                      • Slide 25
                      • Slide 26
                      • Slide 27
                      • Slide 28
                      • Slide 29
                      • Slide 30
                      • Slide 31
                      • Slide 32
                      • Slide 33
                      • Slide 34
                      • Slide 35
                      • Slide 36
                      • Slide 37
                      • Slide 38

                        Lecture 11 Slide 6837 Fall 2003

                        Euler AnglesAn Euler angle is a rotation about a single axis Any

                        orientation can be described composing three rotation around

                        each coordinate axis

                        Roll pitch and yaw

                        Courtesy of Gernot Hoffmann Used with permission

                        httpwwwfho-emdende~hoffmanngimbal09082002pdf

                        Lecture 11 Slide 6837 Fall 2003

                        Interpolating Euler AnglesNatural orientation representation

                        angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

                        = 120o around (1 1 1)But 30oaround Z then Y

                        differs from 40o around (1 1 1)

                        Lecture 11 Slide 6837 Fall 2003

                        GimballockGimbal lock two or more axis align resulting in a

                        loss of rotation degrees of freedom

                        Lecture 11 Slide 6837 Fall 2003

                        DemoBy Sobeitvoidfrom

                        httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                        See also

                        httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                        Lecture 11 Slide 6837 Fall 2003

                        Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                        Lecture 11 Slide 6837 Fall 2003

                        Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                        Lecture 11 Slide 6837 Fall 2003

                        OverviewInterpolation of rotations quaternions

                        Euler angles

                        Quaternions

                        Dynamics

                        Particles

                        Rigid body

                        Deformable objects

                        Lecture 11 Slide 6837 Fall 2003

                        Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                        2 3-spheres

                        Lecture 11 Slide 6837 Fall 2003

                        1D sphere and complex planeInterpolate orientation in 2D1 angle

                        But messy because modulo 2π

                        Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                        Lecture 11 Slide 6837 Fall 2003

                        Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                        =gt The interpolated motion does not have uniform velocity it may speed up too much

                        Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                        Lecture 11 Slide 6837 Fall 2003

                        2-angle orientationEmbed 2-sphere in 3D2 angles

                        Messy because modulo 2πand pole

                        Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                        Lecture 11 Slide 6837 Fall 2003

                        3 angles

                        Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                        Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                        Due to Hamilton (1843) also Shoemake Siggraph85

                        Lecture 11 Slide 6837 Fall 2003

                        QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                        Often noted (s v) What if we use ndashv

                        What is the quaternion of Identity rotation

                        Is there exactly one quaternion per rotation

                        What is the inverse q-1of quaternion q a b c d

                        Lecture 11 Slide 6837 Fall 2003

                        QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                        Often noted (s v) What if we use ndashv

                        What is the quaternion of Identity rotation qi= 1 0 0 0

                        Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                        - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                        What is the inverse q-1of quaternion q a b c d

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                        Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                        Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                        cos(α2)sin(β2) v+vtimesv

                        cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                        cos((α+β)2) v sin((α+β)2)

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion recap 1 (wake up)4D representation of orientation

                        q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                        Consistent with rotation composition

                        How do we apply rotationsHow do we interpolate

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion Algebra

                        Two general quaternionsare multiplied by a special rule

                        To rotate 3D pointvector p by q compute q0 p q-1

                        p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                        =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                        q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion Algebra

                        Two general quaternionsare multiplied by a special rule

                        To rotate 3D pointvector p by q compute q0 p q-1

                        Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                        But not commutative q1 q2 neq2 q1

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                        Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                        Lecture 11 Slide 6837 Fall 2003

                        Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                        Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                        Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                        Lecture 11 Slide 6837 Fall 2003

                        QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                        i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                        hellip

                        Lecture 11 Slide 6837 Fall 2003

                        FunJulia Sets in Quaternion space

                        Mandelbrot set Zn+1=Zn2+Z0

                        Julia set Zn+1=Zn2+C

                        httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                        Images removed due to copyright considerations

                        See also httpwwwchaosprodegallerygalleryphpcat=Anim

                        Lecture 11 Slide 6837 Fall 2003

                        FunJulia Sets in Quaternion space

                        Julia set Zn+1=Zn2+C

                        Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                        Images removed due to copyright considerations

                        Lecture 11 Slide 6837 Fall 2003

                        Recap quaternions3 angles represented in 4D

                        q= cos(θ2) vsin(θ2)

                        Weird multiplication rules

                        Good interpolation using slerp

                        Lecture 11 Slide 6837 Fall 2003

                        OverviewInterpolation of rotations quaternions

                        Euler angles

                        Quaternions

                        Dynamics

                        Particles

                        Rigid body

                        Deformable objects

                        Lecture 11 Slide 6837 Fall 2003

                        Break movie time

                        Pixar For the Bird

                        • Slide 1
                        • Slide 2
                        • Slide 3
                        • Slide 4
                        • Slide 5
                        • Slide 6
                        • Slide 7
                        • Slide 8
                        • Slide 9
                        • Slide 10
                        • Slide 11
                        • Slide 12
                        • Slide 13
                        • Slide 14
                        • Slide 15
                        • Slide 16
                        • Slide 17
                        • Slide 18
                        • Slide 19
                        • Slide 20
                        • Slide 21
                        • Slide 22
                        • Slide 23
                        • Slide 24
                        • Slide 25
                        • Slide 26
                        • Slide 27
                        • Slide 28
                        • Slide 29
                        • Slide 30
                        • Slide 31
                        • Slide 32
                        • Slide 33
                        • Slide 34
                        • Slide 35
                        • Slide 36
                        • Slide 37
                        • Slide 38

                          Lecture 11 Slide 6837 Fall 2003

                          Interpolating Euler AnglesNatural orientation representation

                          angles for 3 degrees of freedomUnnatural interpolationA rotation of 90o first around Z and then around Y

                          = 120o around (1 1 1)But 30oaround Z then Y

                          differs from 40o around (1 1 1)

                          Lecture 11 Slide 6837 Fall 2003

                          GimballockGimbal lock two or more axis align resulting in a

                          loss of rotation degrees of freedom

                          Lecture 11 Slide 6837 Fall 2003

                          DemoBy Sobeitvoidfrom

                          httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                          See also

                          httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                          Lecture 11 Slide 6837 Fall 2003

                          Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                          Lecture 11 Slide 6837 Fall 2003

                          Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                          Lecture 11 Slide 6837 Fall 2003

                          OverviewInterpolation of rotations quaternions

                          Euler angles

                          Quaternions

                          Dynamics

                          Particles

                          Rigid body

                          Deformable objects

                          Lecture 11 Slide 6837 Fall 2003

                          Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                          2 3-spheres

                          Lecture 11 Slide 6837 Fall 2003

                          1D sphere and complex planeInterpolate orientation in 2D1 angle

                          But messy because modulo 2π

                          Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                          Lecture 11 Slide 6837 Fall 2003

                          Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                          =gt The interpolated motion does not have uniform velocity it may speed up too much

                          Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                          Lecture 11 Slide 6837 Fall 2003

                          2-angle orientationEmbed 2-sphere in 3D2 angles

                          Messy because modulo 2πand pole

                          Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                          Lecture 11 Slide 6837 Fall 2003

                          3 angles

                          Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                          Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                          Due to Hamilton (1843) also Shoemake Siggraph85

                          Lecture 11 Slide 6837 Fall 2003

                          QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                          Often noted (s v) What if we use ndashv

                          What is the quaternion of Identity rotation

                          Is there exactly one quaternion per rotation

                          What is the inverse q-1of quaternion q a b c d

                          Lecture 11 Slide 6837 Fall 2003

                          QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                          Often noted (s v) What if we use ndashv

                          What is the quaternion of Identity rotation qi= 1 0 0 0

                          Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                          - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                          What is the inverse q-1of quaternion q a b c d

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                          Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                          Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                          cos(α2)sin(β2) v+vtimesv

                          cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                          cos((α+β)2) v sin((α+β)2)

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion recap 1 (wake up)4D representation of orientation

                          q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                          Consistent with rotation composition

                          How do we apply rotationsHow do we interpolate

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion Algebra

                          Two general quaternionsare multiplied by a special rule

                          To rotate 3D pointvector p by q compute q0 p q-1

                          p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                          =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                          q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion Algebra

                          Two general quaternionsare multiplied by a special rule

                          To rotate 3D pointvector p by q compute q0 p q-1

                          Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                          But not commutative q1 q2 neq2 q1

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                          Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                          Lecture 11 Slide 6837 Fall 2003

                          Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                          Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                          Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                          Lecture 11 Slide 6837 Fall 2003

                          QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                          i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                          hellip

                          Lecture 11 Slide 6837 Fall 2003

                          FunJulia Sets in Quaternion space

                          Mandelbrot set Zn+1=Zn2+Z0

                          Julia set Zn+1=Zn2+C

                          httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                          Images removed due to copyright considerations

                          See also httpwwwchaosprodegallerygalleryphpcat=Anim

                          Lecture 11 Slide 6837 Fall 2003

                          FunJulia Sets in Quaternion space

                          Julia set Zn+1=Zn2+C

                          Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                          Images removed due to copyright considerations

                          Lecture 11 Slide 6837 Fall 2003

                          Recap quaternions3 angles represented in 4D

                          q= cos(θ2) vsin(θ2)

                          Weird multiplication rules

                          Good interpolation using slerp

                          Lecture 11 Slide 6837 Fall 2003

                          OverviewInterpolation of rotations quaternions

                          Euler angles

                          Quaternions

                          Dynamics

                          Particles

                          Rigid body

                          Deformable objects

                          Lecture 11 Slide 6837 Fall 2003

                          Break movie time

                          Pixar For the Bird

                          • Slide 1
                          • Slide 2
                          • Slide 3
                          • Slide 4
                          • Slide 5
                          • Slide 6
                          • Slide 7
                          • Slide 8
                          • Slide 9
                          • Slide 10
                          • Slide 11
                          • Slide 12
                          • Slide 13
                          • Slide 14
                          • Slide 15
                          • Slide 16
                          • Slide 17
                          • Slide 18
                          • Slide 19
                          • Slide 20
                          • Slide 21
                          • Slide 22
                          • Slide 23
                          • Slide 24
                          • Slide 25
                          • Slide 26
                          • Slide 27
                          • Slide 28
                          • Slide 29
                          • Slide 30
                          • Slide 31
                          • Slide 32
                          • Slide 33
                          • Slide 34
                          • Slide 35
                          • Slide 36
                          • Slide 37
                          • Slide 38

                            Lecture 11 Slide 6837 Fall 2003

                            GimballockGimbal lock two or more axis align resulting in a

                            loss of rotation degrees of freedom

                            Lecture 11 Slide 6837 Fall 2003

                            DemoBy Sobeitvoidfrom

                            httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                            See also

                            httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                            Lecture 11 Slide 6837 Fall 2003

                            Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                            Lecture 11 Slide 6837 Fall 2003

                            Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                            Lecture 11 Slide 6837 Fall 2003

                            OverviewInterpolation of rotations quaternions

                            Euler angles

                            Quaternions

                            Dynamics

                            Particles

                            Rigid body

                            Deformable objects

                            Lecture 11 Slide 6837 Fall 2003

                            Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                            2 3-spheres

                            Lecture 11 Slide 6837 Fall 2003

                            1D sphere and complex planeInterpolate orientation in 2D1 angle

                            But messy because modulo 2π

                            Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                            Lecture 11 Slide 6837 Fall 2003

                            Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                            =gt The interpolated motion does not have uniform velocity it may speed up too much

                            Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                            Lecture 11 Slide 6837 Fall 2003

                            2-angle orientationEmbed 2-sphere in 3D2 angles

                            Messy because modulo 2πand pole

                            Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                            Lecture 11 Slide 6837 Fall 2003

                            3 angles

                            Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                            Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                            Due to Hamilton (1843) also Shoemake Siggraph85

                            Lecture 11 Slide 6837 Fall 2003

                            QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                            Often noted (s v) What if we use ndashv

                            What is the quaternion of Identity rotation

                            Is there exactly one quaternion per rotation

                            What is the inverse q-1of quaternion q a b c d

                            Lecture 11 Slide 6837 Fall 2003

                            QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                            Often noted (s v) What if we use ndashv

                            What is the quaternion of Identity rotation qi= 1 0 0 0

                            Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                            - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                            What is the inverse q-1of quaternion q a b c d

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                            Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                            Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                            cos(α2)sin(β2) v+vtimesv

                            cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                            cos((α+β)2) v sin((α+β)2)

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion recap 1 (wake up)4D representation of orientation

                            q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                            Consistent with rotation composition

                            How do we apply rotationsHow do we interpolate

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion Algebra

                            Two general quaternionsare multiplied by a special rule

                            To rotate 3D pointvector p by q compute q0 p q-1

                            p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                            =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                            q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion Algebra

                            Two general quaternionsare multiplied by a special rule

                            To rotate 3D pointvector p by q compute q0 p q-1

                            Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                            But not commutative q1 q2 neq2 q1

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                            Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                            Lecture 11 Slide 6837 Fall 2003

                            Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                            Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                            Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                            Lecture 11 Slide 6837 Fall 2003

                            QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                            i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                            hellip

                            Lecture 11 Slide 6837 Fall 2003

                            FunJulia Sets in Quaternion space

                            Mandelbrot set Zn+1=Zn2+Z0

                            Julia set Zn+1=Zn2+C

                            httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                            Images removed due to copyright considerations

                            See also httpwwwchaosprodegallerygalleryphpcat=Anim

                            Lecture 11 Slide 6837 Fall 2003

                            FunJulia Sets in Quaternion space

                            Julia set Zn+1=Zn2+C

                            Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                            Images removed due to copyright considerations

                            Lecture 11 Slide 6837 Fall 2003

                            Recap quaternions3 angles represented in 4D

                            q= cos(θ2) vsin(θ2)

                            Weird multiplication rules

                            Good interpolation using slerp

                            Lecture 11 Slide 6837 Fall 2003

                            OverviewInterpolation of rotations quaternions

                            Euler angles

                            Quaternions

                            Dynamics

                            Particles

                            Rigid body

                            Deformable objects

                            Lecture 11 Slide 6837 Fall 2003

                            Break movie time

                            Pixar For the Bird

                            • Slide 1
                            • Slide 2
                            • Slide 3
                            • Slide 4
                            • Slide 5
                            • Slide 6
                            • Slide 7
                            • Slide 8
                            • Slide 9
                            • Slide 10
                            • Slide 11
                            • Slide 12
                            • Slide 13
                            • Slide 14
                            • Slide 15
                            • Slide 16
                            • Slide 17
                            • Slide 18
                            • Slide 19
                            • Slide 20
                            • Slide 21
                            • Slide 22
                            • Slide 23
                            • Slide 24
                            • Slide 25
                            • Slide 26
                            • Slide 27
                            • Slide 28
                            • Slide 29
                            • Slide 30
                            • Slide 31
                            • Slide 32
                            • Slide 33
                            • Slide 34
                            • Slide 35
                            • Slide 36
                            • Slide 37
                            • Slide 38

                              Lecture 11 Slide 6837 Fall 2003

                              DemoBy Sobeitvoidfrom

                              httpwwwgamedevnetreferenceprogrammingfeaturesqpowerspage7asp

                              See also

                              httpwwwcgluwaterloocaGALLERYimage_htmlgimbaljpghtml

                              Lecture 11 Slide 6837 Fall 2003

                              Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                              Lecture 11 Slide 6837 Fall 2003

                              Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                              Lecture 11 Slide 6837 Fall 2003

                              OverviewInterpolation of rotations quaternions

                              Euler angles

                              Quaternions

                              Dynamics

                              Particles

                              Rigid body

                              Deformable objects

                              Lecture 11 Slide 6837 Fall 2003

                              Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                              2 3-spheres

                              Lecture 11 Slide 6837 Fall 2003

                              1D sphere and complex planeInterpolate orientation in 2D1 angle

                              But messy because modulo 2π

                              Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                              Lecture 11 Slide 6837 Fall 2003

                              Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                              =gt The interpolated motion does not have uniform velocity it may speed up too much

                              Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                              Lecture 11 Slide 6837 Fall 2003

                              2-angle orientationEmbed 2-sphere in 3D2 angles

                              Messy because modulo 2πand pole

                              Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                              Lecture 11 Slide 6837 Fall 2003

                              3 angles

                              Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                              Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                              Due to Hamilton (1843) also Shoemake Siggraph85

                              Lecture 11 Slide 6837 Fall 2003

                              QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                              Often noted (s v) What if we use ndashv

                              What is the quaternion of Identity rotation

                              Is there exactly one quaternion per rotation

                              What is the inverse q-1of quaternion q a b c d

                              Lecture 11 Slide 6837 Fall 2003

                              QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                              Often noted (s v) What if we use ndashv

                              What is the quaternion of Identity rotation qi= 1 0 0 0

                              Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                              - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                              What is the inverse q-1of quaternion q a b c d

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                              Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                              Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                              cos(α2)sin(β2) v+vtimesv

                              cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                              cos((α+β)2) v sin((α+β)2)

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion recap 1 (wake up)4D representation of orientation

                              q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                              Consistent with rotation composition

                              How do we apply rotationsHow do we interpolate

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion Algebra

                              Two general quaternionsare multiplied by a special rule

                              To rotate 3D pointvector p by q compute q0 p q-1

                              p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                              =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                              q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion Algebra

                              Two general quaternionsare multiplied by a special rule

                              To rotate 3D pointvector p by q compute q0 p q-1

                              Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                              But not commutative q1 q2 neq2 q1

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                              Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                              Lecture 11 Slide 6837 Fall 2003

                              Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                              Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                              Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                              Lecture 11 Slide 6837 Fall 2003

                              QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                              i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                              hellip

                              Lecture 11 Slide 6837 Fall 2003

                              FunJulia Sets in Quaternion space

                              Mandelbrot set Zn+1=Zn2+Z0

                              Julia set Zn+1=Zn2+C

                              httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                              Images removed due to copyright considerations

                              See also httpwwwchaosprodegallerygalleryphpcat=Anim

                              Lecture 11 Slide 6837 Fall 2003

                              FunJulia Sets in Quaternion space

                              Julia set Zn+1=Zn2+C

                              Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                              Images removed due to copyright considerations

                              Lecture 11 Slide 6837 Fall 2003

                              Recap quaternions3 angles represented in 4D

                              q= cos(θ2) vsin(θ2)

                              Weird multiplication rules

                              Good interpolation using slerp

                              Lecture 11 Slide 6837 Fall 2003

                              OverviewInterpolation of rotations quaternions

                              Euler angles

                              Quaternions

                              Dynamics

                              Particles

                              Rigid body

                              Deformable objects

                              Lecture 11 Slide 6837 Fall 2003

                              Break movie time

                              Pixar For the Bird

                              • Slide 1
                              • Slide 2
                              • Slide 3
                              • Slide 4
                              • Slide 5
                              • Slide 6
                              • Slide 7
                              • Slide 8
                              • Slide 9
                              • Slide 10
                              • Slide 11
                              • Slide 12
                              • Slide 13
                              • Slide 14
                              • Slide 15
                              • Slide 16
                              • Slide 17
                              • Slide 18
                              • Slide 19
                              • Slide 20
                              • Slide 21
                              • Slide 22
                              • Slide 23
                              • Slide 24
                              • Slide 25
                              • Slide 26
                              • Slide 27
                              • Slide 28
                              • Slide 29
                              • Slide 30
                              • Slide 31
                              • Slide 32
                              • Slide 33
                              • Slide 34
                              • Slide 35
                              • Slide 36
                              • Slide 37
                              • Slide 38

                                Lecture 11 Slide 6837 Fall 2003

                                Euler angles in the real worldApollo inertial measurement unitTo prevent lock they had to add a fourth Gimbal

                                Lecture 11 Slide 6837 Fall 2003

                                Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                                Lecture 11 Slide 6837 Fall 2003

                                OverviewInterpolation of rotations quaternions

                                Euler angles

                                Quaternions

                                Dynamics

                                Particles

                                Rigid body

                                Deformable objects

                                Lecture 11 Slide 6837 Fall 2003

                                Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                                2 3-spheres

                                Lecture 11 Slide 6837 Fall 2003

                                1D sphere and complex planeInterpolate orientation in 2D1 angle

                                But messy because modulo 2π

                                Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                                Lecture 11 Slide 6837 Fall 2003

                                Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                                =gt The interpolated motion does not have uniform velocity it may speed up too much

                                Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                                Lecture 11 Slide 6837 Fall 2003

                                2-angle orientationEmbed 2-sphere in 3D2 angles

                                Messy because modulo 2πand pole

                                Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                Lecture 11 Slide 6837 Fall 2003

                                3 angles

                                Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                Due to Hamilton (1843) also Shoemake Siggraph85

                                Lecture 11 Slide 6837 Fall 2003

                                QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                Often noted (s v) What if we use ndashv

                                What is the quaternion of Identity rotation

                                Is there exactly one quaternion per rotation

                                What is the inverse q-1of quaternion q a b c d

                                Lecture 11 Slide 6837 Fall 2003

                                QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                Often noted (s v) What if we use ndashv

                                What is the quaternion of Identity rotation qi= 1 0 0 0

                                Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                What is the inverse q-1of quaternion q a b c d

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                cos(α2)sin(β2) v+vtimesv

                                cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                cos((α+β)2) v sin((α+β)2)

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion recap 1 (wake up)4D representation of orientation

                                q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                Consistent with rotation composition

                                How do we apply rotationsHow do we interpolate

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion Algebra

                                Two general quaternionsare multiplied by a special rule

                                To rotate 3D pointvector p by q compute q0 p q-1

                                p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion Algebra

                                Two general quaternionsare multiplied by a special rule

                                To rotate 3D pointvector p by q compute q0 p q-1

                                Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                But not commutative q1 q2 neq2 q1

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                Lecture 11 Slide 6837 Fall 2003

                                Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                Lecture 11 Slide 6837 Fall 2003

                                QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                hellip

                                Lecture 11 Slide 6837 Fall 2003

                                FunJulia Sets in Quaternion space

                                Mandelbrot set Zn+1=Zn2+Z0

                                Julia set Zn+1=Zn2+C

                                httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                Images removed due to copyright considerations

                                See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                Lecture 11 Slide 6837 Fall 2003

                                FunJulia Sets in Quaternion space

                                Julia set Zn+1=Zn2+C

                                Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                Images removed due to copyright considerations

                                Lecture 11 Slide 6837 Fall 2003

                                Recap quaternions3 angles represented in 4D

                                q= cos(θ2) vsin(θ2)

                                Weird multiplication rules

                                Good interpolation using slerp

                                Lecture 11 Slide 6837 Fall 2003

                                OverviewInterpolation of rotations quaternions

                                Euler angles

                                Quaternions

                                Dynamics

                                Particles

                                Rigid body

                                Deformable objects

                                Lecture 11 Slide 6837 Fall 2003

                                Break movie time

                                Pixar For the Bird

                                • Slide 1
                                • Slide 2
                                • Slide 3
                                • Slide 4
                                • Slide 5
                                • Slide 6
                                • Slide 7
                                • Slide 8
                                • Slide 9
                                • Slide 10
                                • Slide 11
                                • Slide 12
                                • Slide 13
                                • Slide 14
                                • Slide 15
                                • Slide 16
                                • Slide 17
                                • Slide 18
                                • Slide 19
                                • Slide 20
                                • Slide 21
                                • Slide 22
                                • Slide 23
                                • Slide 24
                                • Slide 25
                                • Slide 26
                                • Slide 27
                                • Slide 28
                                • Slide 29
                                • Slide 30
                                • Slide 31
                                • Slide 32
                                • Slide 33
                                • Slide 34
                                • Slide 35
                                • Slide 36
                                • Slide 37
                                • Slide 38

                                  Lecture 11 Slide 6837 Fall 2003

                                  Recap Euler angles3 angles along 3 axisPoor interpolation lockBut used in flight simulation etc because natural

                                  Lecture 11 Slide 6837 Fall 2003

                                  OverviewInterpolation of rotations quaternions

                                  Euler angles

                                  Quaternions

                                  Dynamics

                                  Particles

                                  Rigid body

                                  Deformable objects

                                  Lecture 11 Slide 6837 Fall 2003

                                  Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                                  2 3-spheres

                                  Lecture 11 Slide 6837 Fall 2003

                                  1D sphere and complex planeInterpolate orientation in 2D1 angle

                                  But messy because modulo 2π

                                  Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                                  Lecture 11 Slide 6837 Fall 2003

                                  Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                                  =gt The interpolated motion does not have uniform velocity it may speed up too much

                                  Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                                  Lecture 11 Slide 6837 Fall 2003

                                  2-angle orientationEmbed 2-sphere in 3D2 angles

                                  Messy because modulo 2πand pole

                                  Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                  Lecture 11 Slide 6837 Fall 2003

                                  3 angles

                                  Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                  Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                  Due to Hamilton (1843) also Shoemake Siggraph85

                                  Lecture 11 Slide 6837 Fall 2003

                                  QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                  Often noted (s v) What if we use ndashv

                                  What is the quaternion of Identity rotation

                                  Is there exactly one quaternion per rotation

                                  What is the inverse q-1of quaternion q a b c d

                                  Lecture 11 Slide 6837 Fall 2003

                                  QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                  Often noted (s v) What if we use ndashv

                                  What is the quaternion of Identity rotation qi= 1 0 0 0

                                  Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                  - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                  What is the inverse q-1of quaternion q a b c d

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                  Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                  Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                  cos(α2)sin(β2) v+vtimesv

                                  cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                  cos((α+β)2) v sin((α+β)2)

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion recap 1 (wake up)4D representation of orientation

                                  q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                  Consistent with rotation composition

                                  How do we apply rotationsHow do we interpolate

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion Algebra

                                  Two general quaternionsare multiplied by a special rule

                                  To rotate 3D pointvector p by q compute q0 p q-1

                                  p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                  =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                  q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion Algebra

                                  Two general quaternionsare multiplied by a special rule

                                  To rotate 3D pointvector p by q compute q0 p q-1

                                  Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                  But not commutative q1 q2 neq2 q1

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                  Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                  Lecture 11 Slide 6837 Fall 2003

                                  Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                  Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                  Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                  Lecture 11 Slide 6837 Fall 2003

                                  QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                  i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                  hellip

                                  Lecture 11 Slide 6837 Fall 2003

                                  FunJulia Sets in Quaternion space

                                  Mandelbrot set Zn+1=Zn2+Z0

                                  Julia set Zn+1=Zn2+C

                                  httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                  Images removed due to copyright considerations

                                  See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                  Lecture 11 Slide 6837 Fall 2003

                                  FunJulia Sets in Quaternion space

                                  Julia set Zn+1=Zn2+C

                                  Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                  Images removed due to copyright considerations

                                  Lecture 11 Slide 6837 Fall 2003

                                  Recap quaternions3 angles represented in 4D

                                  q= cos(θ2) vsin(θ2)

                                  Weird multiplication rules

                                  Good interpolation using slerp

                                  Lecture 11 Slide 6837 Fall 2003

                                  OverviewInterpolation of rotations quaternions

                                  Euler angles

                                  Quaternions

                                  Dynamics

                                  Particles

                                  Rigid body

                                  Deformable objects

                                  Lecture 11 Slide 6837 Fall 2003

                                  Break movie time

                                  Pixar For the Bird

                                  • Slide 1
                                  • Slide 2
                                  • Slide 3
                                  • Slide 4
                                  • Slide 5
                                  • Slide 6
                                  • Slide 7
                                  • Slide 8
                                  • Slide 9
                                  • Slide 10
                                  • Slide 11
                                  • Slide 12
                                  • Slide 13
                                  • Slide 14
                                  • Slide 15
                                  • Slide 16
                                  • Slide 17
                                  • Slide 18
                                  • Slide 19
                                  • Slide 20
                                  • Slide 21
                                  • Slide 22
                                  • Slide 23
                                  • Slide 24
                                  • Slide 25
                                  • Slide 26
                                  • Slide 27
                                  • Slide 28
                                  • Slide 29
                                  • Slide 30
                                  • Slide 31
                                  • Slide 32
                                  • Slide 33
                                  • Slide 34
                                  • Slide 35
                                  • Slide 36
                                  • Slide 37
                                  • Slide 38

                                    Lecture 11 Slide 6837 Fall 2003

                                    OverviewInterpolation of rotations quaternions

                                    Euler angles

                                    Quaternions

                                    Dynamics

                                    Particles

                                    Rigid body

                                    Deformable objects

                                    Lecture 11 Slide 6837 Fall 2003

                                    Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                                    2 3-spheres

                                    Lecture 11 Slide 6837 Fall 2003

                                    1D sphere and complex planeInterpolate orientation in 2D1 angle

                                    But messy because modulo 2π

                                    Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                                    Lecture 11 Slide 6837 Fall 2003

                                    Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                                    =gt The interpolated motion does not have uniform velocity it may speed up too much

                                    Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                                    Lecture 11 Slide 6837 Fall 2003

                                    2-angle orientationEmbed 2-sphere in 3D2 angles

                                    Messy because modulo 2πand pole

                                    Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                    Lecture 11 Slide 6837 Fall 2003

                                    3 angles

                                    Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                    Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                    Due to Hamilton (1843) also Shoemake Siggraph85

                                    Lecture 11 Slide 6837 Fall 2003

                                    QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                    Often noted (s v) What if we use ndashv

                                    What is the quaternion of Identity rotation

                                    Is there exactly one quaternion per rotation

                                    What is the inverse q-1of quaternion q a b c d

                                    Lecture 11 Slide 6837 Fall 2003

                                    QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                    Often noted (s v) What if we use ndashv

                                    What is the quaternion of Identity rotation qi= 1 0 0 0

                                    Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                    - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                    What is the inverse q-1of quaternion q a b c d

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                    cos(α2)sin(β2) v+vtimesv

                                    cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                    cos((α+β)2) v sin((α+β)2)

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion recap 1 (wake up)4D representation of orientation

                                    q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                    Consistent with rotation composition

                                    How do we apply rotationsHow do we interpolate

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion Algebra

                                    Two general quaternionsare multiplied by a special rule

                                    To rotate 3D pointvector p by q compute q0 p q-1

                                    p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                    =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                    q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion Algebra

                                    Two general quaternionsare multiplied by a special rule

                                    To rotate 3D pointvector p by q compute q0 p q-1

                                    Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                    But not commutative q1 q2 neq2 q1

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                    Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                    Lecture 11 Slide 6837 Fall 2003

                                    Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                    Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                    Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                    Lecture 11 Slide 6837 Fall 2003

                                    QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                    i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                    hellip

                                    Lecture 11 Slide 6837 Fall 2003

                                    FunJulia Sets in Quaternion space

                                    Mandelbrot set Zn+1=Zn2+Z0

                                    Julia set Zn+1=Zn2+C

                                    httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                    Images removed due to copyright considerations

                                    See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                    Lecture 11 Slide 6837 Fall 2003

                                    FunJulia Sets in Quaternion space

                                    Julia set Zn+1=Zn2+C

                                    Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                    Images removed due to copyright considerations

                                    Lecture 11 Slide 6837 Fall 2003

                                    Recap quaternions3 angles represented in 4D

                                    q= cos(θ2) vsin(θ2)

                                    Weird multiplication rules

                                    Good interpolation using slerp

                                    Lecture 11 Slide 6837 Fall 2003

                                    OverviewInterpolation of rotations quaternions

                                    Euler angles

                                    Quaternions

                                    Dynamics

                                    Particles

                                    Rigid body

                                    Deformable objects

                                    Lecture 11 Slide 6837 Fall 2003

                                    Break movie time

                                    Pixar For the Bird

                                    • Slide 1
                                    • Slide 2
                                    • Slide 3
                                    • Slide 4
                                    • Slide 5
                                    • Slide 6
                                    • Slide 7
                                    • Slide 8
                                    • Slide 9
                                    • Slide 10
                                    • Slide 11
                                    • Slide 12
                                    • Slide 13
                                    • Slide 14
                                    • Slide 15
                                    • Slide 16
                                    • Slide 17
                                    • Slide 18
                                    • Slide 19
                                    • Slide 20
                                    • Slide 21
                                    • Slide 22
                                    • Slide 23
                                    • Slide 24
                                    • Slide 25
                                    • Slide 26
                                    • Slide 27
                                    • Slide 28
                                    • Slide 29
                                    • Slide 30
                                    • Slide 31
                                    • Slide 32
                                    • Slide 33
                                    • Slide 34
                                    • Slide 35
                                    • Slide 36
                                    • Slide 37
                                    • Slide 38

                                      Lecture 11 Slide 6837 Fall 2003

                                      Solution Quaternion InterpolationInterpolate orientation on the unit sphereBy analogy 1- 2- 3-DOF rotations as constrained points on 1

                                      2 3-spheres

                                      Lecture 11 Slide 6837 Fall 2003

                                      1D sphere and complex planeInterpolate orientation in 2D1 angle

                                      But messy because modulo 2π

                                      Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                                      Lecture 11 Slide 6837 Fall 2003

                                      Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                                      =gt The interpolated motion does not have uniform velocity it may speed up too much

                                      Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                                      Lecture 11 Slide 6837 Fall 2003

                                      2-angle orientationEmbed 2-sphere in 3D2 angles

                                      Messy because modulo 2πand pole

                                      Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                      Lecture 11 Slide 6837 Fall 2003

                                      3 angles

                                      Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                      Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                      Due to Hamilton (1843) also Shoemake Siggraph85

                                      Lecture 11 Slide 6837 Fall 2003

                                      QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                      Often noted (s v) What if we use ndashv

                                      What is the quaternion of Identity rotation

                                      Is there exactly one quaternion per rotation

                                      What is the inverse q-1of quaternion q a b c d

                                      Lecture 11 Slide 6837 Fall 2003

                                      QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                      Often noted (s v) What if we use ndashv

                                      What is the quaternion of Identity rotation qi= 1 0 0 0

                                      Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                      - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                      What is the inverse q-1of quaternion q a b c d

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                      cos(α2)sin(β2) v+vtimesv

                                      cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                      cos((α+β)2) v sin((α+β)2)

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion recap 1 (wake up)4D representation of orientation

                                      q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                      Consistent with rotation composition

                                      How do we apply rotationsHow do we interpolate

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion Algebra

                                      Two general quaternionsare multiplied by a special rule

                                      To rotate 3D pointvector p by q compute q0 p q-1

                                      p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                      =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                      q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion Algebra

                                      Two general quaternionsare multiplied by a special rule

                                      To rotate 3D pointvector p by q compute q0 p q-1

                                      Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                      But not commutative q1 q2 neq2 q1

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                      Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                      Lecture 11 Slide 6837 Fall 2003

                                      Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                      Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                      Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                      Lecture 11 Slide 6837 Fall 2003

                                      QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                      i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                      hellip

                                      Lecture 11 Slide 6837 Fall 2003

                                      FunJulia Sets in Quaternion space

                                      Mandelbrot set Zn+1=Zn2+Z0

                                      Julia set Zn+1=Zn2+C

                                      httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                      Images removed due to copyright considerations

                                      See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                      Lecture 11 Slide 6837 Fall 2003

                                      FunJulia Sets in Quaternion space

                                      Julia set Zn+1=Zn2+C

                                      Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                      Images removed due to copyright considerations

                                      Lecture 11 Slide 6837 Fall 2003

                                      Recap quaternions3 angles represented in 4D

                                      q= cos(θ2) vsin(θ2)

                                      Weird multiplication rules

                                      Good interpolation using slerp

                                      Lecture 11 Slide 6837 Fall 2003

                                      OverviewInterpolation of rotations quaternions

                                      Euler angles

                                      Quaternions

                                      Dynamics

                                      Particles

                                      Rigid body

                                      Deformable objects

                                      Lecture 11 Slide 6837 Fall 2003

                                      Break movie time

                                      Pixar For the Bird

                                      • Slide 1
                                      • Slide 2
                                      • Slide 3
                                      • Slide 4
                                      • Slide 5
                                      • Slide 6
                                      • Slide 7
                                      • Slide 8
                                      • Slide 9
                                      • Slide 10
                                      • Slide 11
                                      • Slide 12
                                      • Slide 13
                                      • Slide 14
                                      • Slide 15
                                      • Slide 16
                                      • Slide 17
                                      • Slide 18
                                      • Slide 19
                                      • Slide 20
                                      • Slide 21
                                      • Slide 22
                                      • Slide 23
                                      • Slide 24
                                      • Slide 25
                                      • Slide 26
                                      • Slide 27
                                      • Slide 28
                                      • Slide 29
                                      • Slide 30
                                      • Slide 31
                                      • Slide 32
                                      • Slide 33
                                      • Slide 34
                                      • Slide 35
                                      • Slide 36
                                      • Slide 37
                                      • Slide 38

                                        Lecture 11 Slide 6837 Fall 2003

                                        1D sphere and complex planeInterpolate orientation in 2D1 angle

                                        But messy because modulo 2π

                                        Use interpolation in (complex) 2D planeOrientation = complex argument of the number

                                        Lecture 11 Slide 6837 Fall 2003

                                        Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                                        =gt The interpolated motion does not have uniform velocity it may speed up too much

                                        Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                                        Lecture 11 Slide 6837 Fall 2003

                                        2-angle orientationEmbed 2-sphere in 3D2 angles

                                        Messy because modulo 2πand pole

                                        Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                        Lecture 11 Slide 6837 Fall 2003

                                        3 angles

                                        Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                        Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                        Due to Hamilton (1843) also Shoemake Siggraph85

                                        Lecture 11 Slide 6837 Fall 2003

                                        QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                        Often noted (s v) What if we use ndashv

                                        What is the quaternion of Identity rotation

                                        Is there exactly one quaternion per rotation

                                        What is the inverse q-1of quaternion q a b c d

                                        Lecture 11 Slide 6837 Fall 2003

                                        QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                        Often noted (s v) What if we use ndashv

                                        What is the quaternion of Identity rotation qi= 1 0 0 0

                                        Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                        - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                        What is the inverse q-1of quaternion q a b c d

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                        Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                        Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                        cos(α2)sin(β2) v+vtimesv

                                        cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                        cos((α+β)2) v sin((α+β)2)

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion recap 1 (wake up)4D representation of orientation

                                        q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                        Consistent with rotation composition

                                        How do we apply rotationsHow do we interpolate

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion Algebra

                                        Two general quaternionsare multiplied by a special rule

                                        To rotate 3D pointvector p by q compute q0 p q-1

                                        p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                        =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                        q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion Algebra

                                        Two general quaternionsare multiplied by a special rule

                                        To rotate 3D pointvector p by q compute q0 p q-1

                                        Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                        But not commutative q1 q2 neq2 q1

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                        Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                        Lecture 11 Slide 6837 Fall 2003

                                        Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                        Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                        Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                        Lecture 11 Slide 6837 Fall 2003

                                        QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                        i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                        hellip

                                        Lecture 11 Slide 6837 Fall 2003

                                        FunJulia Sets in Quaternion space

                                        Mandelbrot set Zn+1=Zn2+Z0

                                        Julia set Zn+1=Zn2+C

                                        httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                        Images removed due to copyright considerations

                                        See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                        Lecture 11 Slide 6837 Fall 2003

                                        FunJulia Sets in Quaternion space

                                        Julia set Zn+1=Zn2+C

                                        Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                        Images removed due to copyright considerations

                                        Lecture 11 Slide 6837 Fall 2003

                                        Recap quaternions3 angles represented in 4D

                                        q= cos(θ2) vsin(θ2)

                                        Weird multiplication rules

                                        Good interpolation using slerp

                                        Lecture 11 Slide 6837 Fall 2003

                                        OverviewInterpolation of rotations quaternions

                                        Euler angles

                                        Quaternions

                                        Dynamics

                                        Particles

                                        Rigid body

                                        Deformable objects

                                        Lecture 11 Slide 6837 Fall 2003

                                        Break movie time

                                        Pixar For the Bird

                                        • Slide 1
                                        • Slide 2
                                        • Slide 3
                                        • Slide 4
                                        • Slide 5
                                        • Slide 6
                                        • Slide 7
                                        • Slide 8
                                        • Slide 9
                                        • Slide 10
                                        • Slide 11
                                        • Slide 12
                                        • Slide 13
                                        • Slide 14
                                        • Slide 15
                                        • Slide 16
                                        • Slide 17
                                        • Slide 18
                                        • Slide 19
                                        • Slide 20
                                        • Slide 21
                                        • Slide 22
                                        • Slide 23
                                        • Slide 24
                                        • Slide 25
                                        • Slide 26
                                        • Slide 27
                                        • Slide 28
                                        • Slide 29
                                        • Slide 30
                                        • Slide 31
                                        • Slide 32
                                        • Slide 33
                                        • Slide 34
                                        • Slide 35
                                        • Slide 36
                                        • Slide 37
                                        • Slide 38

                                          Lecture 11 Slide 6837 Fall 2003

                                          Velocity issue amp slerp linear interpolation (lerp) in the plane interpolates the straightline between the two orientations and not their sphericaldistance Lerp(q0 q1t )=q(t)=q0(1-t)+q1t

                                          =gt The interpolated motion does not have uniform velocity it may speed up too much

                                          Solution Spherical linear interpolation (slerp) interpolate along the arc lines by adding a sine term

                                          Lecture 11 Slide 6837 Fall 2003

                                          2-angle orientationEmbed 2-sphere in 3D2 angles

                                          Messy because modulo 2πand pole

                                          Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                          Lecture 11 Slide 6837 Fall 2003

                                          3 angles

                                          Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                          Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                          Due to Hamilton (1843) also Shoemake Siggraph85

                                          Lecture 11 Slide 6837 Fall 2003

                                          QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                          Often noted (s v) What if we use ndashv

                                          What is the quaternion of Identity rotation

                                          Is there exactly one quaternion per rotation

                                          What is the inverse q-1of quaternion q a b c d

                                          Lecture 11 Slide 6837 Fall 2003

                                          QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                          Often noted (s v) What if we use ndashv

                                          What is the quaternion of Identity rotation qi= 1 0 0 0

                                          Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                          - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                          What is the inverse q-1of quaternion q a b c d

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                          Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                          Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                          cos(α2)sin(β2) v+vtimesv

                                          cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                          cos((α+β)2) v sin((α+β)2)

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion recap 1 (wake up)4D representation of orientation

                                          q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                          Consistent with rotation composition

                                          How do we apply rotationsHow do we interpolate

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion Algebra

                                          Two general quaternionsare multiplied by a special rule

                                          To rotate 3D pointvector p by q compute q0 p q-1

                                          p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                          =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                          q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion Algebra

                                          Two general quaternionsare multiplied by a special rule

                                          To rotate 3D pointvector p by q compute q0 p q-1

                                          Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                          But not commutative q1 q2 neq2 q1

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                          Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                          Lecture 11 Slide 6837 Fall 2003

                                          Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                          Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                          Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                          Lecture 11 Slide 6837 Fall 2003

                                          QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                          i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                          hellip

                                          Lecture 11 Slide 6837 Fall 2003

                                          FunJulia Sets in Quaternion space

                                          Mandelbrot set Zn+1=Zn2+Z0

                                          Julia set Zn+1=Zn2+C

                                          httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                          Images removed due to copyright considerations

                                          See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                          Lecture 11 Slide 6837 Fall 2003

                                          FunJulia Sets in Quaternion space

                                          Julia set Zn+1=Zn2+C

                                          Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                          Images removed due to copyright considerations

                                          Lecture 11 Slide 6837 Fall 2003

                                          Recap quaternions3 angles represented in 4D

                                          q= cos(θ2) vsin(θ2)

                                          Weird multiplication rules

                                          Good interpolation using slerp

                                          Lecture 11 Slide 6837 Fall 2003

                                          OverviewInterpolation of rotations quaternions

                                          Euler angles

                                          Quaternions

                                          Dynamics

                                          Particles

                                          Rigid body

                                          Deformable objects

                                          Lecture 11 Slide 6837 Fall 2003

                                          Break movie time

                                          Pixar For the Bird

                                          • Slide 1
                                          • Slide 2
                                          • Slide 3
                                          • Slide 4
                                          • Slide 5
                                          • Slide 6
                                          • Slide 7
                                          • Slide 8
                                          • Slide 9
                                          • Slide 10
                                          • Slide 11
                                          • Slide 12
                                          • Slide 13
                                          • Slide 14
                                          • Slide 15
                                          • Slide 16
                                          • Slide 17
                                          • Slide 18
                                          • Slide 19
                                          • Slide 20
                                          • Slide 21
                                          • Slide 22
                                          • Slide 23
                                          • Slide 24
                                          • Slide 25
                                          • Slide 26
                                          • Slide 27
                                          • Slide 28
                                          • Slide 29
                                          • Slide 30
                                          • Slide 31
                                          • Slide 32
                                          • Slide 33
                                          • Slide 34
                                          • Slide 35
                                          • Slide 36
                                          • Slide 37
                                          • Slide 38

                                            Lecture 11 Slide 6837 Fall 2003

                                            2-angle orientationEmbed 2-sphere in 3D2 angles

                                            Messy because modulo 2πand pole

                                            Use linear interpolation in 3D spaceOrientation = projection onto the sphereSame velocity correction

                                            Lecture 11 Slide 6837 Fall 2003

                                            3 angles

                                            Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                            Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                            Due to Hamilton (1843) also Shoemake Siggraph85

                                            Lecture 11 Slide 6837 Fall 2003

                                            QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                            Often noted (s v) What if we use ndashv

                                            What is the quaternion of Identity rotation

                                            Is there exactly one quaternion per rotation

                                            What is the inverse q-1of quaternion q a b c d

                                            Lecture 11 Slide 6837 Fall 2003

                                            QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                            Often noted (s v) What if we use ndashv

                                            What is the quaternion of Identity rotation qi= 1 0 0 0

                                            Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                            - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                            What is the inverse q-1of quaternion q a b c d

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                            Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                            Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                            cos(α2)sin(β2) v+vtimesv

                                            cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                            cos((α+β)2) v sin((α+β)2)

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion recap 1 (wake up)4D representation of orientation

                                            q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                            Consistent with rotation composition

                                            How do we apply rotationsHow do we interpolate

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion Algebra

                                            Two general quaternionsare multiplied by a special rule

                                            To rotate 3D pointvector p by q compute q0 p q-1

                                            p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                            =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                            q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion Algebra

                                            Two general quaternionsare multiplied by a special rule

                                            To rotate 3D pointvector p by q compute q0 p q-1

                                            Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                            But not commutative q1 q2 neq2 q1

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                            Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                            Lecture 11 Slide 6837 Fall 2003

                                            Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                            Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                            Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                            Lecture 11 Slide 6837 Fall 2003

                                            QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                            i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                            hellip

                                            Lecture 11 Slide 6837 Fall 2003

                                            FunJulia Sets in Quaternion space

                                            Mandelbrot set Zn+1=Zn2+Z0

                                            Julia set Zn+1=Zn2+C

                                            httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                            Images removed due to copyright considerations

                                            See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                            Lecture 11 Slide 6837 Fall 2003

                                            FunJulia Sets in Quaternion space

                                            Julia set Zn+1=Zn2+C

                                            Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                            Images removed due to copyright considerations

                                            Lecture 11 Slide 6837 Fall 2003

                                            Recap quaternions3 angles represented in 4D

                                            q= cos(θ2) vsin(θ2)

                                            Weird multiplication rules

                                            Good interpolation using slerp

                                            Lecture 11 Slide 6837 Fall 2003

                                            OverviewInterpolation of rotations quaternions

                                            Euler angles

                                            Quaternions

                                            Dynamics

                                            Particles

                                            Rigid body

                                            Deformable objects

                                            Lecture 11 Slide 6837 Fall 2003

                                            Break movie time

                                            Pixar For the Bird

                                            • Slide 1
                                            • Slide 2
                                            • Slide 3
                                            • Slide 4
                                            • Slide 5
                                            • Slide 6
                                            • Slide 7
                                            • Slide 8
                                            • Slide 9
                                            • Slide 10
                                            • Slide 11
                                            • Slide 12
                                            • Slide 13
                                            • Slide 14
                                            • Slide 15
                                            • Slide 16
                                            • Slide 17
                                            • Slide 18
                                            • Slide 19
                                            • Slide 20
                                            • Slide 21
                                            • Slide 22
                                            • Slide 23
                                            • Slide 24
                                            • Slide 25
                                            • Slide 26
                                            • Slide 27
                                            • Slide 28
                                            • Slide 29
                                            • Slide 30
                                            • Slide 31
                                            • Slide 32
                                            • Slide 33
                                            • Slide 34
                                            • Slide 35
                                            • Slide 36
                                            • Slide 37
                                            • Slide 38

                                              Lecture 11 Slide 6837 Fall 2003

                                              3 angles

                                              Use the same principle interpolate in higher-dimensional space Project back to unit sphere

                                              Probably need the 3-sphere embedded in 4DMore complex harder to visualizeUse the so-called Quaternions

                                              Due to Hamilton (1843) also Shoemake Siggraph85

                                              Lecture 11 Slide 6837 Fall 2003

                                              QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                              Often noted (s v) What if we use ndashv

                                              What is the quaternion of Identity rotation

                                              Is there exactly one quaternion per rotation

                                              What is the inverse q-1of quaternion q a b c d

                                              Lecture 11 Slide 6837 Fall 2003

                                              QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                              Often noted (s v) What if we use ndashv

                                              What is the quaternion of Identity rotation qi= 1 0 0 0

                                              Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                              - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                              What is the inverse q-1of quaternion q a b c d

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                              Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                              Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                              cos(α2)sin(β2) v+vtimesv

                                              cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                              cos((α+β)2) v sin((α+β)2)

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion recap 1 (wake up)4D representation of orientation

                                              q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                              Consistent with rotation composition

                                              How do we apply rotationsHow do we interpolate

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion Algebra

                                              Two general quaternionsare multiplied by a special rule

                                              To rotate 3D pointvector p by q compute q0 p q-1

                                              p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                              =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                              q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion Algebra

                                              Two general quaternionsare multiplied by a special rule

                                              To rotate 3D pointvector p by q compute q0 p q-1

                                              Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                              But not commutative q1 q2 neq2 q1

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                              Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                              Lecture 11 Slide 6837 Fall 2003

                                              Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                              Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                              Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                              Lecture 11 Slide 6837 Fall 2003

                                              QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                              i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                              hellip

                                              Lecture 11 Slide 6837 Fall 2003

                                              FunJulia Sets in Quaternion space

                                              Mandelbrot set Zn+1=Zn2+Z0

                                              Julia set Zn+1=Zn2+C

                                              httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                              Images removed due to copyright considerations

                                              See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                              Lecture 11 Slide 6837 Fall 2003

                                              FunJulia Sets in Quaternion space

                                              Julia set Zn+1=Zn2+C

                                              Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                              Images removed due to copyright considerations

                                              Lecture 11 Slide 6837 Fall 2003

                                              Recap quaternions3 angles represented in 4D

                                              q= cos(θ2) vsin(θ2)

                                              Weird multiplication rules

                                              Good interpolation using slerp

                                              Lecture 11 Slide 6837 Fall 2003

                                              OverviewInterpolation of rotations quaternions

                                              Euler angles

                                              Quaternions

                                              Dynamics

                                              Particles

                                              Rigid body

                                              Deformable objects

                                              Lecture 11 Slide 6837 Fall 2003

                                              Break movie time

                                              Pixar For the Bird

                                              • Slide 1
                                              • Slide 2
                                              • Slide 3
                                              • Slide 4
                                              • Slide 5
                                              • Slide 6
                                              • Slide 7
                                              • Slide 8
                                              • Slide 9
                                              • Slide 10
                                              • Slide 11
                                              • Slide 12
                                              • Slide 13
                                              • Slide 14
                                              • Slide 15
                                              • Slide 16
                                              • Slide 17
                                              • Slide 18
                                              • Slide 19
                                              • Slide 20
                                              • Slide 21
                                              • Slide 22
                                              • Slide 23
                                              • Slide 24
                                              • Slide 25
                                              • Slide 26
                                              • Slide 27
                                              • Slide 28
                                              • Slide 29
                                              • Slide 30
                                              • Slide 31
                                              • Slide 32
                                              • Slide 33
                                              • Slide 34
                                              • Slide 35
                                              • Slide 36
                                              • Slide 37
                                              • Slide 38

                                                Lecture 11 Slide 6837 Fall 2003

                                                QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                                Often noted (s v) What if we use ndashv

                                                What is the quaternion of Identity rotation

                                                Is there exactly one quaternion per rotation

                                                What is the inverse q-1of quaternion q a b c d

                                                Lecture 11 Slide 6837 Fall 2003

                                                QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                                Often noted (s v) What if we use ndashv

                                                What is the quaternion of Identity rotation qi= 1 0 0 0

                                                Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                                - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                                What is the inverse q-1of quaternion q a b c d

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                                cos(α2)sin(β2) v+vtimesv

                                                cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                                cos((α+β)2) v sin((α+β)2)

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion recap 1 (wake up)4D representation of orientation

                                                q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                                Consistent with rotation composition

                                                How do we apply rotationsHow do we interpolate

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion Algebra

                                                Two general quaternionsare multiplied by a special rule

                                                To rotate 3D pointvector p by q compute q0 p q-1

                                                p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                                =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                                q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion Algebra

                                                Two general quaternionsare multiplied by a special rule

                                                To rotate 3D pointvector p by q compute q0 p q-1

                                                Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                But not commutative q1 q2 neq2 q1

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                Lecture 11 Slide 6837 Fall 2003

                                                Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                Lecture 11 Slide 6837 Fall 2003

                                                QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                hellip

                                                Lecture 11 Slide 6837 Fall 2003

                                                FunJulia Sets in Quaternion space

                                                Mandelbrot set Zn+1=Zn2+Z0

                                                Julia set Zn+1=Zn2+C

                                                httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                Images removed due to copyright considerations

                                                See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                Lecture 11 Slide 6837 Fall 2003

                                                FunJulia Sets in Quaternion space

                                                Julia set Zn+1=Zn2+C

                                                Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                Images removed due to copyright considerations

                                                Lecture 11 Slide 6837 Fall 2003

                                                Recap quaternions3 angles represented in 4D

                                                q= cos(θ2) vsin(θ2)

                                                Weird multiplication rules

                                                Good interpolation using slerp

                                                Lecture 11 Slide 6837 Fall 2003

                                                OverviewInterpolation of rotations quaternions

                                                Euler angles

                                                Quaternions

                                                Dynamics

                                                Particles

                                                Rigid body

                                                Deformable objects

                                                Lecture 11 Slide 6837 Fall 2003

                                                Break movie time

                                                Pixar For the Bird

                                                • Slide 1
                                                • Slide 2
                                                • Slide 3
                                                • Slide 4
                                                • Slide 5
                                                • Slide 6
                                                • Slide 7
                                                • Slide 8
                                                • Slide 9
                                                • Slide 10
                                                • Slide 11
                                                • Slide 12
                                                • Slide 13
                                                • Slide 14
                                                • Slide 15
                                                • Slide 16
                                                • Slide 17
                                                • Slide 18
                                                • Slide 19
                                                • Slide 20
                                                • Slide 21
                                                • Slide 22
                                                • Slide 23
                                                • Slide 24
                                                • Slide 25
                                                • Slide 26
                                                • Slide 27
                                                • Slide 28
                                                • Slide 29
                                                • Slide 30
                                                • Slide 31
                                                • Slide 32
                                                • Slide 33
                                                • Slide 34
                                                • Slide 35
                                                • Slide 36
                                                • Slide 37
                                                • Slide 38

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  QuaternionsQuaternions are unit vectors on 3-sphere (in 4D)Right-hand rotation of θ radians about v isq = cos(θ2) vsin(θ2)

                                                  Often noted (s v) What if we use ndashv

                                                  What is the quaternion of Identity rotation qi= 1 0 0 0

                                                  Is there exactly one quaternion per rotation No q=cos(θ2) vsin(θ2) is the same rotation as

                                                  - q=cos((θ+2π)2) vsin((θ+2π)2) Antipodal on the quaternion sphere

                                                  What is the inverse q-1of quaternion q a b c d

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                  Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                  Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                                  cos(α2)sin(β2) v+vtimesv

                                                  cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                                  cos((α+β)2) v sin((α+β)2)

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion recap 1 (wake up)4D representation of orientation

                                                  q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                                  Consistent with rotation composition

                                                  How do we apply rotationsHow do we interpolate

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion Algebra

                                                  Two general quaternionsare multiplied by a special rule

                                                  To rotate 3D pointvector p by q compute q0 p q-1

                                                  p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                                  =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                                  q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion Algebra

                                                  Two general quaternionsare multiplied by a special rule

                                                  To rotate 3D pointvector p by q compute q0 p q-1

                                                  Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                  But not commutative q1 q2 neq2 q1

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                  Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                  Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                  Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                  i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                  hellip

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  FunJulia Sets in Quaternion space

                                                  Mandelbrot set Zn+1=Zn2+Z0

                                                  Julia set Zn+1=Zn2+C

                                                  httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                  Images removed due to copyright considerations

                                                  See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  FunJulia Sets in Quaternion space

                                                  Julia set Zn+1=Zn2+C

                                                  Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                  Images removed due to copyright considerations

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Recap quaternions3 angles represented in 4D

                                                  q= cos(θ2) vsin(θ2)

                                                  Weird multiplication rules

                                                  Good interpolation using slerp

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  OverviewInterpolation of rotations quaternions

                                                  Euler angles

                                                  Quaternions

                                                  Dynamics

                                                  Particles

                                                  Rigid body

                                                  Deformable objects

                                                  Lecture 11 Slide 6837 Fall 2003

                                                  Break movie time

                                                  Pixar For the Bird

                                                  • Slide 1
                                                  • Slide 2
                                                  • Slide 3
                                                  • Slide 4
                                                  • Slide 5
                                                  • Slide 6
                                                  • Slide 7
                                                  • Slide 8
                                                  • Slide 9
                                                  • Slide 10
                                                  • Slide 11
                                                  • Slide 12
                                                  • Slide 13
                                                  • Slide 14
                                                  • Slide 15
                                                  • Slide 16
                                                  • Slide 17
                                                  • Slide 18
                                                  • Slide 19
                                                  • Slide 20
                                                  • Slide 21
                                                  • Slide 22
                                                  • Slide 23
                                                  • Slide 24
                                                  • Slide 25
                                                  • Slide 26
                                                  • Slide 27
                                                  • Slide 28
                                                  • Slide 29
                                                  • Slide 30
                                                  • Slide 31
                                                  • Slide 32
                                                  • Slide 33
                                                  • Slide 34
                                                  • Slide 35
                                                  • Slide 36
                                                  • Slide 37
                                                  • Slide 38

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2)

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                    Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                                    cos(α2)sin(β2) v+vtimesv

                                                    cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                                    cos((α+β)2) v sin((α+β)2)

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion recap 1 (wake up)4D representation of orientation

                                                    q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                                    Consistent with rotation composition

                                                    How do we apply rotationsHow do we interpolate

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion Algebra

                                                    Two general quaternionsare multiplied by a special rule

                                                    To rotate 3D pointvector p by q compute q0 p q-1

                                                    p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                                    =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                                    q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion Algebra

                                                    Two general quaternionsare multiplied by a special rule

                                                    To rotate 3D pointvector p by q compute q0 p q-1

                                                    Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                    But not commutative q1 q2 neq2 q1

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                    Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                    Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                    Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                    i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                    hellip

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    FunJulia Sets in Quaternion space

                                                    Mandelbrot set Zn+1=Zn2+Z0

                                                    Julia set Zn+1=Zn2+C

                                                    httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                    Images removed due to copyright considerations

                                                    See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    FunJulia Sets in Quaternion space

                                                    Julia set Zn+1=Zn2+C

                                                    Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                    Images removed due to copyright considerations

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Recap quaternions3 angles represented in 4D

                                                    q= cos(θ2) vsin(θ2)

                                                    Weird multiplication rules

                                                    Good interpolation using slerp

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    OverviewInterpolation of rotations quaternions

                                                    Euler angles

                                                    Quaternions

                                                    Dynamics

                                                    Particles

                                                    Rigid body

                                                    Deformable objects

                                                    Lecture 11 Slide 6837 Fall 2003

                                                    Break movie time

                                                    Pixar For the Bird

                                                    • Slide 1
                                                    • Slide 2
                                                    • Slide 3
                                                    • Slide 4
                                                    • Slide 5
                                                    • Slide 6
                                                    • Slide 7
                                                    • Slide 8
                                                    • Slide 9
                                                    • Slide 10
                                                    • Slide 11
                                                    • Slide 12
                                                    • Slide 13
                                                    • Slide 14
                                                    • Slide 15
                                                    • Slide 16
                                                    • Slide 17
                                                    • Slide 18
                                                    • Slide 19
                                                    • Slide 20
                                                    • Slide 21
                                                    • Slide 22
                                                    • Slide 23
                                                    • Slide 24
                                                    • Slide 25
                                                    • Slide 26
                                                    • Slide 27
                                                    • Slide 28
                                                    • Slide 29
                                                    • Slide 30
                                                    • Slide 31
                                                    • Slide 32
                                                    • Slide 33
                                                    • Slide 34
                                                    • Slide 35
                                                    • Slide 36
                                                    • Slide 37
                                                    • Slide 38

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Quaternion AlgebraTwo general quaternionsare multiplied by a special rule

                                                      Sanity check cos(α2) vsin(α2) cos(β2) vsin(β2) cos(α2)cos(β2) -sin(α2)v sin(β2) v cos(β2) sin(α2) v+

                                                      cos(α2)sin(β2) v+vtimesv

                                                      cos(α2)cos(β2) -sin(α2)sin(β2)v(cos(β2) sin(α2) + cos(α2) sin(β2))

                                                      cos((α+β)2) v sin((α+β)2)

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Quaternion recap 1 (wake up)4D representation of orientation

                                                      q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                                      Consistent with rotation composition

                                                      How do we apply rotationsHow do we interpolate

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Quaternion Algebra

                                                      Two general quaternionsare multiplied by a special rule

                                                      To rotate 3D pointvector p by q compute q0 p q-1

                                                      p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                                      =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                                      q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Quaternion Algebra

                                                      Two general quaternionsare multiplied by a special rule

                                                      To rotate 3D pointvector p by q compute q0 p q-1

                                                      Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                      But not commutative q1 q2 neq2 q1

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                      Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                      Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                      Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                      i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                      hellip

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      FunJulia Sets in Quaternion space

                                                      Mandelbrot set Zn+1=Zn2+Z0

                                                      Julia set Zn+1=Zn2+C

                                                      httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                      Images removed due to copyright considerations

                                                      See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      FunJulia Sets in Quaternion space

                                                      Julia set Zn+1=Zn2+C

                                                      Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                      Images removed due to copyright considerations

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Recap quaternions3 angles represented in 4D

                                                      q= cos(θ2) vsin(θ2)

                                                      Weird multiplication rules

                                                      Good interpolation using slerp

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      OverviewInterpolation of rotations quaternions

                                                      Euler angles

                                                      Quaternions

                                                      Dynamics

                                                      Particles

                                                      Rigid body

                                                      Deformable objects

                                                      Lecture 11 Slide 6837 Fall 2003

                                                      Break movie time

                                                      Pixar For the Bird

                                                      • Slide 1
                                                      • Slide 2
                                                      • Slide 3
                                                      • Slide 4
                                                      • Slide 5
                                                      • Slide 6
                                                      • Slide 7
                                                      • Slide 8
                                                      • Slide 9
                                                      • Slide 10
                                                      • Slide 11
                                                      • Slide 12
                                                      • Slide 13
                                                      • Slide 14
                                                      • Slide 15
                                                      • Slide 16
                                                      • Slide 17
                                                      • Slide 18
                                                      • Slide 19
                                                      • Slide 20
                                                      • Slide 21
                                                      • Slide 22
                                                      • Slide 23
                                                      • Slide 24
                                                      • Slide 25
                                                      • Slide 26
                                                      • Slide 27
                                                      • Slide 28
                                                      • Slide 29
                                                      • Slide 30
                                                      • Slide 31
                                                      • Slide 32
                                                      • Slide 33
                                                      • Slide 34
                                                      • Slide 35
                                                      • Slide 36
                                                      • Slide 37
                                                      • Slide 38

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Quaternion recap 1 (wake up)4D representation of orientation

                                                        q= cos(θ2) vsin(θ2)Inverse is q-1 =(s -v)Multiplication rule

                                                        Consistent with rotation composition

                                                        How do we apply rotationsHow do we interpolate

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Quaternion Algebra

                                                        Two general quaternionsare multiplied by a special rule

                                                        To rotate 3D pointvector p by q compute q0 p q-1

                                                        p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                                        =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                                        q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Quaternion Algebra

                                                        Two general quaternionsare multiplied by a special rule

                                                        To rotate 3D pointvector p by q compute q0 p q-1

                                                        Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                        But not commutative q1 q2 neq2 q1

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                        Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                        Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                        Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                        i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                        hellip

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        FunJulia Sets in Quaternion space

                                                        Mandelbrot set Zn+1=Zn2+Z0

                                                        Julia set Zn+1=Zn2+C

                                                        httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                        Images removed due to copyright considerations

                                                        See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        FunJulia Sets in Quaternion space

                                                        Julia set Zn+1=Zn2+C

                                                        Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                        Images removed due to copyright considerations

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Recap quaternions3 angles represented in 4D

                                                        q= cos(θ2) vsin(θ2)

                                                        Weird multiplication rules

                                                        Good interpolation using slerp

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        OverviewInterpolation of rotations quaternions

                                                        Euler angles

                                                        Quaternions

                                                        Dynamics

                                                        Particles

                                                        Rigid body

                                                        Deformable objects

                                                        Lecture 11 Slide 6837 Fall 2003

                                                        Break movie time

                                                        Pixar For the Bird

                                                        • Slide 1
                                                        • Slide 2
                                                        • Slide 3
                                                        • Slide 4
                                                        • Slide 5
                                                        • Slide 6
                                                        • Slide 7
                                                        • Slide 8
                                                        • Slide 9
                                                        • Slide 10
                                                        • Slide 11
                                                        • Slide 12
                                                        • Slide 13
                                                        • Slide 14
                                                        • Slide 15
                                                        • Slide 16
                                                        • Slide 17
                                                        • Slide 18
                                                        • Slide 19
                                                        • Slide 20
                                                        • Slide 21
                                                        • Slide 22
                                                        • Slide 23
                                                        • Slide 24
                                                        • Slide 25
                                                        • Slide 26
                                                        • Slide 27
                                                        • Slide 28
                                                        • Slide 29
                                                        • Slide 30
                                                        • Slide 31
                                                        • Slide 32
                                                        • Slide 33
                                                        • Slide 34
                                                        • Slide 35
                                                        • Slide 36
                                                        • Slide 37
                                                        • Slide 38

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          Quaternion Algebra

                                                          Two general quaternionsare multiplied by a special rule

                                                          To rotate 3D pointvector p by q compute q0 p q-1

                                                          p= (xyz) q= cos(θ2) 00sin(θ2) = c 00sq0p= c 0 0 s 0 x y z

                                                          =c0-zs cp+0(00s)+ (00s) timesp=-zs c p+ (-sysx0)

                                                          q0p q -1= -zs c p+ (-sysx0) c 00-s= -zsc-(cp+(-sysx0))(00-s) -zs(00-s)+c(cp+(-sy sx0))+ (c p+ (-sysx0) ) x (00-s) = 0 (00zs2)+c2p+(-csy csx0)+(-csy csx 0)+(s2x s2y 0)= 0 (c2x-2csy-s2x c2y+2csx-s2y zs2+sc2)

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          Quaternion Algebra

                                                          Two general quaternionsare multiplied by a special rule

                                                          To rotate 3D pointvector p by q compute q0 p q-1

                                                          Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                          But not commutative q1 q2 neq2 q1

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                          Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                          Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                          Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                          i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                          hellip

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          FunJulia Sets in Quaternion space

                                                          Mandelbrot set Zn+1=Zn2+Z0

                                                          Julia set Zn+1=Zn2+C

                                                          httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                          Images removed due to copyright considerations

                                                          See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          FunJulia Sets in Quaternion space

                                                          Julia set Zn+1=Zn2+C

                                                          Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                          Images removed due to copyright considerations

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          Recap quaternions3 angles represented in 4D

                                                          q= cos(θ2) vsin(θ2)

                                                          Weird multiplication rules

                                                          Good interpolation using slerp

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          OverviewInterpolation of rotations quaternions

                                                          Euler angles

                                                          Quaternions

                                                          Dynamics

                                                          Particles

                                                          Rigid body

                                                          Deformable objects

                                                          Lecture 11 Slide 6837 Fall 2003

                                                          Break movie time

                                                          Pixar For the Bird

                                                          • Slide 1
                                                          • Slide 2
                                                          • Slide 3
                                                          • Slide 4
                                                          • Slide 5
                                                          • Slide 6
                                                          • Slide 7
                                                          • Slide 8
                                                          • Slide 9
                                                          • Slide 10
                                                          • Slide 11
                                                          • Slide 12
                                                          • Slide 13
                                                          • Slide 14
                                                          • Slide 15
                                                          • Slide 16
                                                          • Slide 17
                                                          • Slide 18
                                                          • Slide 19
                                                          • Slide 20
                                                          • Slide 21
                                                          • Slide 22
                                                          • Slide 23
                                                          • Slide 24
                                                          • Slide 25
                                                          • Slide 26
                                                          • Slide 27
                                                          • Slide 28
                                                          • Slide 29
                                                          • Slide 30
                                                          • Slide 31
                                                          • Slide 32
                                                          • Slide 33
                                                          • Slide 34
                                                          • Slide 35
                                                          • Slide 36
                                                          • Slide 37
                                                          • Slide 38

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            Quaternion Algebra

                                                            Two general quaternionsare multiplied by a special rule

                                                            To rotate 3D pointvector p by q compute q0 p q-1

                                                            Quaternionsare associative (q1 q2) q3 = q1 (q2 q3)

                                                            But not commutative q1 q2 neq2 q1

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                            Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                            Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                            Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                            i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                            hellip

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            FunJulia Sets in Quaternion space

                                                            Mandelbrot set Zn+1=Zn2+Z0

                                                            Julia set Zn+1=Zn2+C

                                                            httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                            Images removed due to copyright considerations

                                                            See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            FunJulia Sets in Quaternion space

                                                            Julia set Zn+1=Zn2+C

                                                            Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                            Images removed due to copyright considerations

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            Recap quaternions3 angles represented in 4D

                                                            q= cos(θ2) vsin(θ2)

                                                            Weird multiplication rules

                                                            Good interpolation using slerp

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            OverviewInterpolation of rotations quaternions

                                                            Euler angles

                                                            Quaternions

                                                            Dynamics

                                                            Particles

                                                            Rigid body

                                                            Deformable objects

                                                            Lecture 11 Slide 6837 Fall 2003

                                                            Break movie time

                                                            Pixar For the Bird

                                                            • Slide 1
                                                            • Slide 2
                                                            • Slide 3
                                                            • Slide 4
                                                            • Slide 5
                                                            • Slide 6
                                                            • Slide 7
                                                            • Slide 8
                                                            • Slide 9
                                                            • Slide 10
                                                            • Slide 11
                                                            • Slide 12
                                                            • Slide 13
                                                            • Slide 14
                                                            • Slide 15
                                                            • Slide 16
                                                            • Slide 17
                                                            • Slide 18
                                                            • Slide 19
                                                            • Slide 20
                                                            • Slide 21
                                                            • Slide 22
                                                            • Slide 23
                                                            • Slide 24
                                                            • Slide 25
                                                            • Slide 26
                                                            • Slide 27
                                                            • Slide 28
                                                            • Slide 29
                                                            • Slide 30
                                                            • Slide 31
                                                            • Slide 32
                                                            • Slide 33
                                                            • Slide 34
                                                            • Slide 35
                                                            • Slide 36
                                                            • Slide 37
                                                            • Slide 38

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              Quaternion Interpolation (velocity) The only problem with linear interpolation (lerp) of quaternionsis that it interpolates the straight line (the secant) between the two quaternionsand not their spherical distance As a result the interpolated motion does not have smooth velocity it may speed up too much in some sections

                                                              Spherical linear interpolation (slerp) removes this problem byinterpolating along the arc lines instead of the secant lines

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                              Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                              Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                              i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                              hellip

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              FunJulia Sets in Quaternion space

                                                              Mandelbrot set Zn+1=Zn2+Z0

                                                              Julia set Zn+1=Zn2+C

                                                              httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                              Images removed due to copyright considerations

                                                              See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              FunJulia Sets in Quaternion space

                                                              Julia set Zn+1=Zn2+C

                                                              Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                              Images removed due to copyright considerations

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              Recap quaternions3 angles represented in 4D

                                                              q= cos(θ2) vsin(θ2)

                                                              Weird multiplication rules

                                                              Good interpolation using slerp

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              OverviewInterpolation of rotations quaternions

                                                              Euler angles

                                                              Quaternions

                                                              Dynamics

                                                              Particles

                                                              Rigid body

                                                              Deformable objects

                                                              Lecture 11 Slide 6837 Fall 2003

                                                              Break movie time

                                                              Pixar For the Bird

                                                              • Slide 1
                                                              • Slide 2
                                                              • Slide 3
                                                              • Slide 4
                                                              • Slide 5
                                                              • Slide 6
                                                              • Slide 7
                                                              • Slide 8
                                                              • Slide 9
                                                              • Slide 10
                                                              • Slide 11
                                                              • Slide 12
                                                              • Slide 13
                                                              • Slide 14
                                                              • Slide 15
                                                              • Slide 16
                                                              • Slide 17
                                                              • Slide 18
                                                              • Slide 19
                                                              • Slide 20
                                                              • Slide 21
                                                              • Slide 22
                                                              • Slide 23
                                                              • Slide 24
                                                              • Slide 25
                                                              • Slide 26
                                                              • Slide 27
                                                              • Slide 28
                                                              • Slide 29
                                                              • Slide 30
                                                              • Slide 31
                                                              • Slide 32
                                                              • Slide 33
                                                              • Slide 34
                                                              • Slide 35
                                                              • Slide 36
                                                              • Slide 37
                                                              • Slide 38

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                Quaternion InterpolationHigher-order interpolations must stay on sphereSee Shoemakepaper for

                                                                Matrix equivalent of composition Details of higher-order interpolation More of underlying theory

                                                                Problems No notion of favored direction (eg up for camera) No notion of multiple rotations needs more key points

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                                i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                                hellip

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                FunJulia Sets in Quaternion space

                                                                Mandelbrot set Zn+1=Zn2+Z0

                                                                Julia set Zn+1=Zn2+C

                                                                httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                                Images removed due to copyright considerations

                                                                See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                FunJulia Sets in Quaternion space

                                                                Julia set Zn+1=Zn2+C

                                                                Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                                Images removed due to copyright considerations

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                Recap quaternions3 angles represented in 4D

                                                                q= cos(θ2) vsin(θ2)

                                                                Weird multiplication rules

                                                                Good interpolation using slerp

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                OverviewInterpolation of rotations quaternions

                                                                Euler angles

                                                                Quaternions

                                                                Dynamics

                                                                Particles

                                                                Rigid body

                                                                Deformable objects

                                                                Lecture 11 Slide 6837 Fall 2003

                                                                Break movie time

                                                                Pixar For the Bird

                                                                • Slide 1
                                                                • Slide 2
                                                                • Slide 3
                                                                • Slide 4
                                                                • Slide 5
                                                                • Slide 6
                                                                • Slide 7
                                                                • Slide 8
                                                                • Slide 9
                                                                • Slide 10
                                                                • Slide 11
                                                                • Slide 12
                                                                • Slide 13
                                                                • Slide 14
                                                                • Slide 15
                                                                • Slide 16
                                                                • Slide 17
                                                                • Slide 18
                                                                • Slide 19
                                                                • Slide 20
                                                                • Slide 21
                                                                • Slide 22
                                                                • Slide 23
                                                                • Slide 24
                                                                • Slide 25
                                                                • Slide 26
                                                                • Slide 27
                                                                • Slide 28
                                                                • Slide 29
                                                                • Slide 30
                                                                • Slide 31
                                                                • Slide 32
                                                                • Slide 33
                                                                • Slide 34
                                                                • Slide 35
                                                                • Slide 36
                                                                • Slide 37
                                                                • Slide 38

                                                                  Lecture 11 Slide 6837 Fall 2003

                                                                  QuaternionsCan also be defined like complex numbers a+bi+cj+dkMultiplication rules

                                                                  i2=j2=k2=-1 ij=k=-ji jk=i=-kj ki=j=-ik

                                                                  hellip

                                                                  Lecture 11 Slide 6837 Fall 2003

                                                                  FunJulia Sets in Quaternion space

                                                                  Mandelbrot set Zn+1=Zn2+Z0

                                                                  Julia set Zn+1=Zn2+C

                                                                  httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                                  Images removed due to copyright considerations

                                                                  See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                                  Lecture 11 Slide 6837 Fall 2003

                                                                  FunJulia Sets in Quaternion space

                                                                  Julia set Zn+1=Zn2+C

                                                                  Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                                  Images removed due to copyright considerations

                                                                  Lecture 11 Slide 6837 Fall 2003

                                                                  Recap quaternions3 angles represented in 4D

                                                                  q= cos(θ2) vsin(θ2)

                                                                  Weird multiplication rules

                                                                  Good interpolation using slerp

                                                                  Lecture 11 Slide 6837 Fall 2003

                                                                  OverviewInterpolation of rotations quaternions

                                                                  Euler angles

                                                                  Quaternions

                                                                  Dynamics

                                                                  Particles

                                                                  Rigid body

                                                                  Deformable objects

                                                                  Lecture 11 Slide 6837 Fall 2003

                                                                  Break movie time

                                                                  Pixar For the Bird

                                                                  • Slide 1
                                                                  • Slide 2
                                                                  • Slide 3
                                                                  • Slide 4
                                                                  • Slide 5
                                                                  • Slide 6
                                                                  • Slide 7
                                                                  • Slide 8
                                                                  • Slide 9
                                                                  • Slide 10
                                                                  • Slide 11
                                                                  • Slide 12
                                                                  • Slide 13
                                                                  • Slide 14
                                                                  • Slide 15
                                                                  • Slide 16
                                                                  • Slide 17
                                                                  • Slide 18
                                                                  • Slide 19
                                                                  • Slide 20
                                                                  • Slide 21
                                                                  • Slide 22
                                                                  • Slide 23
                                                                  • Slide 24
                                                                  • Slide 25
                                                                  • Slide 26
                                                                  • Slide 27
                                                                  • Slide 28
                                                                  • Slide 29
                                                                  • Slide 30
                                                                  • Slide 31
                                                                  • Slide 32
                                                                  • Slide 33
                                                                  • Slide 34
                                                                  • Slide 35
                                                                  • Slide 36
                                                                  • Slide 37
                                                                  • Slide 38

                                                                    Lecture 11 Slide 6837 Fall 2003

                                                                    FunJulia Sets in Quaternion space

                                                                    Mandelbrot set Zn+1=Zn2+Z0

                                                                    Julia set Zn+1=Zn2+C

                                                                    httpaleph0clarkuedu~djoycejuliaexplorerhtmlDo the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnet

                                                                    Images removed due to copyright considerations

                                                                    See also httpwwwchaosprodegallerygalleryphpcat=Anim

                                                                    Lecture 11 Slide 6837 Fall 2003

                                                                    FunJulia Sets in Quaternion space

                                                                    Julia set Zn+1=Zn2+C

                                                                    Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                                    Images removed due to copyright considerations

                                                                    Lecture 11 Slide 6837 Fall 2003

                                                                    Recap quaternions3 angles represented in 4D

                                                                    q= cos(θ2) vsin(θ2)

                                                                    Weird multiplication rules

                                                                    Good interpolation using slerp

                                                                    Lecture 11 Slide 6837 Fall 2003

                                                                    OverviewInterpolation of rotations quaternions

                                                                    Euler angles

                                                                    Quaternions

                                                                    Dynamics

                                                                    Particles

                                                                    Rigid body

                                                                    Deformable objects

                                                                    Lecture 11 Slide 6837 Fall 2003

                                                                    Break movie time

                                                                    Pixar For the Bird

                                                                    • Slide 1
                                                                    • Slide 2
                                                                    • Slide 3
                                                                    • Slide 4
                                                                    • Slide 5
                                                                    • Slide 6
                                                                    • Slide 7
                                                                    • Slide 8
                                                                    • Slide 9
                                                                    • Slide 10
                                                                    • Slide 11
                                                                    • Slide 12
                                                                    • Slide 13
                                                                    • Slide 14
                                                                    • Slide 15
                                                                    • Slide 16
                                                                    • Slide 17
                                                                    • Slide 18
                                                                    • Slide 19
                                                                    • Slide 20
                                                                    • Slide 21
                                                                    • Slide 22
                                                                    • Slide 23
                                                                    • Slide 24
                                                                    • Slide 25
                                                                    • Slide 26
                                                                    • Slide 27
                                                                    • Slide 28
                                                                    • Slide 29
                                                                    • Slide 30
                                                                    • Slide 31
                                                                    • Slide 32
                                                                    • Slide 33
                                                                    • Slide 34
                                                                    • Slide 35
                                                                    • Slide 36
                                                                    • Slide 37
                                                                    • Slide 38

                                                                      Lecture 11 Slide 6837 Fall 2003

                                                                      FunJulia Sets in Quaternion space

                                                                      Julia set Zn+1=Zn2+C

                                                                      Do the same with QuaternionsRendered by Skal (Pascal Massimino) httpskalplanet-dnetThis is 4D so we need the time dimension as well

                                                                      Images removed due to copyright considerations

                                                                      Lecture 11 Slide 6837 Fall 2003

                                                                      Recap quaternions3 angles represented in 4D

                                                                      q= cos(θ2) vsin(θ2)

                                                                      Weird multiplication rules

                                                                      Good interpolation using slerp

                                                                      Lecture 11 Slide 6837 Fall 2003

                                                                      OverviewInterpolation of rotations quaternions

                                                                      Euler angles

                                                                      Quaternions

                                                                      Dynamics

                                                                      Particles

                                                                      Rigid body

                                                                      Deformable objects

                                                                      Lecture 11 Slide 6837 Fall 2003

                                                                      Break movie time

                                                                      Pixar For the Bird

                                                                      • Slide 1
                                                                      • Slide 2
                                                                      • Slide 3
                                                                      • Slide 4
                                                                      • Slide 5
                                                                      • Slide 6
                                                                      • Slide 7
                                                                      • Slide 8
                                                                      • Slide 9
                                                                      • Slide 10
                                                                      • Slide 11
                                                                      • Slide 12
                                                                      • Slide 13
                                                                      • Slide 14
                                                                      • Slide 15
                                                                      • Slide 16
                                                                      • Slide 17
                                                                      • Slide 18
                                                                      • Slide 19
                                                                      • Slide 20
                                                                      • Slide 21
                                                                      • Slide 22
                                                                      • Slide 23
                                                                      • Slide 24
                                                                      • Slide 25
                                                                      • Slide 26
                                                                      • Slide 27
                                                                      • Slide 28
                                                                      • Slide 29
                                                                      • Slide 30
                                                                      • Slide 31
                                                                      • Slide 32
                                                                      • Slide 33
                                                                      • Slide 34
                                                                      • Slide 35
                                                                      • Slide 36
                                                                      • Slide 37
                                                                      • Slide 38

                                                                        Lecture 11 Slide 6837 Fall 2003

                                                                        Recap quaternions3 angles represented in 4D

                                                                        q= cos(θ2) vsin(θ2)

                                                                        Weird multiplication rules

                                                                        Good interpolation using slerp

                                                                        Lecture 11 Slide 6837 Fall 2003

                                                                        OverviewInterpolation of rotations quaternions

                                                                        Euler angles

                                                                        Quaternions

                                                                        Dynamics

                                                                        Particles

                                                                        Rigid body

                                                                        Deformable objects

                                                                        Lecture 11 Slide 6837 Fall 2003

                                                                        Break movie time

                                                                        Pixar For the Bird

                                                                        • Slide 1
                                                                        • Slide 2
                                                                        • Slide 3
                                                                        • Slide 4
                                                                        • Slide 5
                                                                        • Slide 6
                                                                        • Slide 7
                                                                        • Slide 8
                                                                        • Slide 9
                                                                        • Slide 10
                                                                        • Slide 11
                                                                        • Slide 12
                                                                        • Slide 13
                                                                        • Slide 14
                                                                        • Slide 15
                                                                        • Slide 16
                                                                        • Slide 17
                                                                        • Slide 18
                                                                        • Slide 19
                                                                        • Slide 20
                                                                        • Slide 21
                                                                        • Slide 22
                                                                        • Slide 23
                                                                        • Slide 24
                                                                        • Slide 25
                                                                        • Slide 26
                                                                        • Slide 27
                                                                        • Slide 28
                                                                        • Slide 29
                                                                        • Slide 30
                                                                        • Slide 31
                                                                        • Slide 32
                                                                        • Slide 33
                                                                        • Slide 34
                                                                        • Slide 35
                                                                        • Slide 36
                                                                        • Slide 37
                                                                        • Slide 38

                                                                          Lecture 11 Slide 6837 Fall 2003

                                                                          OverviewInterpolation of rotations quaternions

                                                                          Euler angles

                                                                          Quaternions

                                                                          Dynamics

                                                                          Particles

                                                                          Rigid body

                                                                          Deformable objects

                                                                          Lecture 11 Slide 6837 Fall 2003

                                                                          Break movie time

                                                                          Pixar For the Bird

                                                                          • Slide 1
                                                                          • Slide 2
                                                                          • Slide 3
                                                                          • Slide 4
                                                                          • Slide 5
                                                                          • Slide 6
                                                                          • Slide 7
                                                                          • Slide 8
                                                                          • Slide 9
                                                                          • Slide 10
                                                                          • Slide 11
                                                                          • Slide 12
                                                                          • Slide 13
                                                                          • Slide 14
                                                                          • Slide 15
                                                                          • Slide 16
                                                                          • Slide 17
                                                                          • Slide 18
                                                                          • Slide 19
                                                                          • Slide 20
                                                                          • Slide 21
                                                                          • Slide 22
                                                                          • Slide 23
                                                                          • Slide 24
                                                                          • Slide 25
                                                                          • Slide 26
                                                                          • Slide 27
                                                                          • Slide 28
                                                                          • Slide 29
                                                                          • Slide 30
                                                                          • Slide 31
                                                                          • Slide 32
                                                                          • Slide 33
                                                                          • Slide 34
                                                                          • Slide 35
                                                                          • Slide 36
                                                                          • Slide 37
                                                                          • Slide 38

                                                                            Lecture 11 Slide 6837 Fall 2003

                                                                            Break movie time

                                                                            Pixar For the Bird

                                                                            • Slide 1
                                                                            • Slide 2
                                                                            • Slide 3
                                                                            • Slide 4
                                                                            • Slide 5
                                                                            • Slide 6
                                                                            • Slide 7
                                                                            • Slide 8
                                                                            • Slide 9
                                                                            • Slide 10
                                                                            • Slide 11
                                                                            • Slide 12
                                                                            • Slide 13
                                                                            • Slide 14
                                                                            • Slide 15
                                                                            • Slide 16
                                                                            • Slide 17
                                                                            • Slide 18
                                                                            • Slide 19
                                                                            • Slide 20
                                                                            • Slide 21
                                                                            • Slide 22
                                                                            • Slide 23
                                                                            • Slide 24
                                                                            • Slide 25
                                                                            • Slide 26
                                                                            • Slide 27
                                                                            • Slide 28
                                                                            • Slide 29
                                                                            • Slide 30
                                                                            • Slide 31
                                                                            • Slide 32
                                                                            • Slide 33
                                                                            • Slide 34
                                                                            • Slide 35
                                                                            • Slide 36
                                                                            • Slide 37
                                                                            • Slide 38

                                                                              top related