DOC PREVIEW
TAMU CSCE 441 - Computer Graphics

This preview shows page 1-2-3-4-5-33-34-35-36-67-68-69-70-71 out of 71 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 71 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CSCE 441: Computer Graphics Rotation Representation and InterpolationToy ExampleSlide 3Slide 4Slide 5Slide 6Joints and RotationOrientation vs. Rotation Ideal Orientation Format OutlineMatrices as Orientation Representation of orientationRotationInterpolationInterpolation of OrientationSlide 16Properties of Rotation MatrixSlide 18Slide 19Slide 20Slide 21Fixed AnglesSlide 23Euler Angles vs. Fixed Angles Euler Angles vs. Fixed AnglesEuler Angle InterpolationEuler Angle Concatenation Gimbal Lock Slide 29Slide 30Slide 31Slide 32Slide 33Gimbal LockSlide 35Slide 36Slide 37Axis-angle RotationSlide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47QuaternionSlide 49Quaternion MathSlide 51Quaternion ExampleHow to Represent Rotation?Quaternion RotationQuaternion RotationSlide 56Slide 57Slide 58Slide 59Slide 60Quaternion CompositionMatrix FormQuaternion InterpolationSlide 64Slide 65Slide 66Slide 67Slide 68Slide 69Slide 70QuaternionsCSCE 441: Computer Graphics Rotation Representation and InterpolationJinxiang ChaiToy Example•A 2D lamp with 6 degrees of freedom1233c2c1c0p03221100)()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp),,(0yx0c2baseUpper armlower armmiddle armToy Example•A 2D lamp with 6 degrees of freedom1233c2c1c0p03221100)()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp),,(0yx0cbaseToy Example•A 2D lamp with 6 degrees of freedom1233c2c1c0p03221100)()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp),,(0yx0cbaseUpper armToy Example•A 2D lamp with 6 degrees of freedom1233c2c1c0p03221100)()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp),,(0yx0cbaseUpper armmiddle armToy Example•A 2D lamp with 6 degrees of freedom1233c2c1c0p03221100)()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp),,(0yx0cbaseUpper armlower armmiddle armJoints and RotationRotational dofs are widely used in character animation3 translation dofs48 rotational dofs1 dof: knee 2 dof: wrist 3 dof: shoulder•Orientation is described relative to some reference alignment •A rotation changes object from one orientation to another•Can represent orientation as a rotation from the reference alignment Orientation vs. RotationIdeal Orientation Format •Represent 3 degrees of freedom with minimum number of values •Allow concatenations of rotations •Math should be simple and efficient –concatenation –interpolation –rotationOutline•Rotation matrix•Fixed angle and Euler angle•Axis angle•QuaternionMatrices as Orientation •Matrices just fine, right? •No… –9 values to interpolate –don’t interpolate wellRepresentation of orientationHomogeneous coordinates (review):–4X4 matrix used to represent translation, scaling, and rotation–a point in the space is represented as–Treat all transformations the same so that they can be easily combined1zyxPRotationNew points rotation matrixold pointsInterpolation•In order to “move things”, we need both translation and rotation•Interpolating the translation is easy, but what about rotations?Interpolation of Orientation•How about interpolating each entry of the rotation matrix?•The interpolated matrix might no longer be orthonormal, leading to nonsense for the inbetween rotationsInterpolation of OrientationExample: interpolate linearly from a positive 90 degree rotation about y axis to a negative 90 degree rotation about yLinearly interpolate each component and halfway between, you get this...10000001001001001000000100100100Rotate about y-axis with 90Rotate about y-axis with -901000000000100000Properties of Rotation MatrixEasily composed?Interpolation?Compact representation?Properties of Rotation MatrixEasily composed? yesInterpolation?Compact representation?Properties of Rotation MatrixEasily composed? yesInterpolation? not goodCompact representation?Properties of Rotation MatrixEasily composed? yesInterpolation? not goodCompact representation? - 9 parameters (only needs 3 parameters)Outline•Rotation matrix•Fixed angle and Euler angle•Axis angle•QuaternionFixed Angles•Angles are used to rotate about fixed axes•Orientations are specified by a set of 3 ordered parameters that represent 3 ordered rotations about fixed axes•Many possible orderings: x-y-z, x-y-x,y-x-z - as long as axis does immediately follow itself such as x-x-yE.g., (z, y, x)XZYQ = Rx(x). Ry(y). Rz(z). POrdered triple of rotations about global axes, any triple can be used that doesn’t immediately repeat an axis, e.g., x-y-z, is fine, so is x-y-x. But x-x-z is not. Fixed AnglesEuler Angles vs. Fixed Angles One point of clarification Euler angle - rotates around local axes Fixed angle - rotates around world axes Rotations are reversed - x-y-z Euler angles == z-y-x fixed anglesEuler Angles vs. Fixed Angles•z-x-z Euler angles: (-60,30,45)•z-x-z fixed angles: (45,30,-60)Euler Angle Interpolation•Interpolating each component separately •Might have singularity problem –Halfway between (0, 90, 0) & (90, 45, 90) –Interpolate directly, get (45, 67.5, 45)–Desired result is (90, 22.5, 90) (verify this!)Euler Angle Concatenation •Can't just add or multiply components •Best way: –Convert to matrices –Multiply matrices –Extract Euler angles from resulting matrix •Not cheapGimbal Lock •Euler/fixed angles not well-formed •Different values can give same rotation •Example with z-y-x Euler angles: –( 90, 90, 90 ) = ( 0, 90, 0 )Gimbal Lock •Euler/fixed angles not well-formed •Different values can give same rotation •Example with z-y-x Euler angles: –( 90, 90, 90 ) = ( 0, 90, 0 ) zyxGimbal Lock •Euler/fixed angles not well-formed •Different values can give same rotation •Example with z-y-x Euler angles: –( 90, 90, 90 ) = ( 0, 90, 0 ) zyxzxy(90,0,0)Gimbal Lock •Euler/fixed angles not well-formed •Different values can give same rotation •Example with z-y-x Euler angles: –( 90, 90, 90 ) = ( 0, 90, 0 ) zyxzxyzxy(90,0,0) (90,90,0)Gimbal Lock •Euler/fixed angles not well-formed •Different values can give same rotation •Example with z-y-x Euler angles: –( 90, 90, 90 ) = ( 0, 90, 0 ) zyxzxyzxyzy(90,0,0) (90,90,0)(90,90,90)xGimbal Lock •Euler/fixed angles not well-formed •Different values can give same rotation •Example with z-y-x


View Full Document

TAMU CSCE 441 - Computer Graphics

Documents in this Course
Load more
Download Computer Graphics
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Computer Graphics and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Computer Graphics 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?