week 5 wednesday what did we talk about last time
play

Week 5 -Wednesday What did we talk about last time? Transforms - PowerPoint PPT Presentation

Week 5 -Wednesday What did we talk about last time? Transforms Translation Rotation Scaling Shearing Rigid-body transforms and their inverses Normal transforms For normals and other things, we need to be able to


  1. Week 5 -Wednesday

  2.  What did we talk about last time?  Transforms  Translation  Rotation  Scaling  Shearing  Rigid-body transforms and their inverses  Normal transforms

  3.  For normals and other things, we need to be able to compute inverses  Rigid body inverses were given before  For a concatenation of simple transforms with known parameters, the inverse can be done by inverting the parameters and reversing the order: ▪ If M = T ( t ) R ( ϕ ) then M -1 = R (- ϕ ) T (- t )  For orthogonal matrices, M -1 = M T  If nothing is known, use the adjoint method

  4.  We can describe orientations from some default orientation using the Euler transform  The default is usually looking down the – z axis with "up" as positive y  The new orientation is:  E ( h , p , r ) = R z ( r ) R x ( p ) R y ( h )  h is head , like shaking your head "no" ▪ Also called yaw  p is pitch , like nodding your head back and forth  r is roll … the third dimension

  5.  One trouble with Euler angles is that they can exhibit gimbal lock  In gimbal lock, two axes become aligned, causing a degree of freedom to be lost  Euler angles can describe orientations in multiple ways, however the wrong choice of rotations may cause gimbal lock

  6.  Sometimes you want to rotate around some arbitrary axis r  To do so, create an orthonormal basis r , s , and t as follows  Take the smallest component of r and set it to 0  Swap the two remaining components and negate the first one  Divide the result by its norm, making it a normal vector s  Let t = r x s   T  This basis can be made into a matrix M r   =   T M s   T t    The final transform X transforms the r -axis to the x -axis, does the rotation by α and then transforms back to r  X = M T R x ( α ) M

  7.  Quaternions are a compact way to represent orientations  Pros:  Compact (only four values needed)  Do not suffer from gimbal lock  Are easy to interpolate between  Cons:  Are confusing  Use three imaginary numbers  Have their own set of operations

  8.  A quaternion has three imaginary parts and one real part = = = − 2 2 2 i j k 1 = = + + + = + ˆ ˆ q ( q , q ) iq jq kq q q q v w x y z w v w = − = jk kj i  We use vector notation for = − = quaternions but put a hat on them ki ik j  Note that the three imaginary = − = ij ji k number dimensions do not behave the way you might expect

  9. = × + + − ⋅ ˆ ˆ q r ( q r r q q r , q r q r )  Multiplication v v w v w v w w v v + = + q + ˆ ˆ q r ( q r , r )  Addition v v w w = − ˆ * q ( q v q , )  Conjugate w = + + +  Norm 2 2 2 2 ˆ n ( q ) q q q q x y z w ˆ i =  Identity ( 0 , 1 )

  10. 1 − = 1 *  Inverse: ˆ ˆ q q 2 ˆ n ( q ) = * * * ˆ ˆ ˆ ˆ ( q r ) r q  One (useful) conjugate rule:  Note that scalar multiplication is just like scalar vector multiplication for any vector  Quaternion quaternion multiplication is associative but not commutative  For any unit vector u , note that the following is a unit quaternion: q = ˆ (sin φ u , cos φ )

  11.  Take a vector or point p and pretend its four coordinates make ˆ a quaternion p q = ˆ  If you have a unit quaternion (sin φ u , cos φ ) − the result of is p rotated around the u axis by 2 ϕ 1 ˆ ˆ ˆ q p q − = 1 * ˆ ˆ q q  Note that, because it's a unit quaternion,  There are ways to convert between rotation matrices and quaternions  The details are in the book

  12.  Short for spherical linear interpolation  Using unit quaternions that represent orientations, we can slerp between them to find a new orientation at time t = [0,1], tracing the path on a unit sphere between the orientations − sin( φ ( 1 t )) sin( φ t ) = + ˆ ˆ ˆ ˆ ˆ s ( q , r , t ) q r sin φ sin φ  To find the angle ϕ between the quaternions, you can use the fact that cos ϕ = q x r x + q y r y + q z r z + q w r w

  13.  If we animate by moving rigid bodies around each other, joints won't look natural  To do so, we define bones and skin and have the rigid bone changes dictate blended changes in the skin

  14.  The following equation shows the effect that each bone i (and its corresponding animation transform matrix B i ( t ) and bone to world transform matrix M i ) have on the p , the original location of a vertex − − n 1 n 1 ∑ ∑ − = = 1 u ( t ) w B ( t ) M p where w 1 i i i i = = i 0 i 0  Vertex blending is popular in part because it can be computed in hardware with the vertex shader

  15.  Finish vertex blending and morphing  Projections  Work day to finish Project 1

  16.  Finish Project 1 due this Friday!  Keep working on Assignment 2

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend