Fundamentals of Computer Animation
|
|
- Grace Todd
- 5 years ago
- Views:
Transcription
1 Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC page
2 Motivation Finding the most natural and compact way to present rotation and orientations Orientation interpolation which result in a natural motion A closed mathematical form that deals with rotation and orientations (expansion for the complex numbers) University of Calgary GraphicsJungle Project CPSC page
3 Rotation Matrix A general rotation can be represented by a single 3x3 matrix Length Preserving (Isometric) Reflection Preserving Orthonormal R = u v w x x x u v w y y y u v w z z z University of Calgary GraphicsJungle Project CPSC page 3
4 Object Representation Define object in world space Object space data Scale Rotation Translation Desired operations Interpolation between transformations Concatenation of one transformation after another Handle scale, rotation, translation, independently Rotation deserves special attention! University of Calgary GraphicsJungle Project CPSC page 4
5 University of Calgary GraphicsJungle Project CPSC page 5 Rotation Matrix Representation = z y x z y x z y x w w w v v v u u u R = = = cos sin sin cos ) ( cos sin sin cos ) y - roll( cos sin sin cos ) ( roll z roll x This could be the Upper 3x3 of a 4x4 homogeneous matrix Pure rotation is special orthogonal inverse = transpose
6 Repeated Rotations: Error Management Method M = create_rotation_matrix( ) Object = apply M to Object Method D = create_rotation_matrix( ) M create_rotation_matrix() M = D M Object = apply M to object Method 3 = + M = create_rotation_matrix() Object = apply M to object <= repeat {p = Mp} round off error accumulates <= repeat {p = Mp; M=DM} round off error accumulates in M no longer ortho-normal (orthogonal matrix) <= repeat error accumulates in but M orthogonal University of Calgary GraphicsJungle Project CPSC page 6
7 Rotation Matrices - Can t interpolate rotation matrices - 9 o z-axis -9 o z-axis?? University of Calgary GraphicsJungle Project CPSC page 7
8 Orientation Representation orientation University of Calgary GraphicsJungle Project CPSC page 8
9 Interpolation O O.5 O University of Calgary GraphicsJungle Project CPSC page 9
10 Other Representations alternative representations: Fixed Angle Euler Angle Axis Angle Quarternians University of Calgary GraphicsJungle Project CPSC page
11 Fixed Angle Representation Angles used to rotate about fixed axes Orientations are specified by a set of 3 ordered parameters that represent 3 ordered rotations about fixed axes, e.g. first about x, then y, then z (x-y-z). Many possible orderings, don t have to use all 3 axes. x-x-y multiple rotations around same axis redundant University of Calgary GraphicsJungle Project CPSC page
12 Fixed Angle Representation A rotation of,45, 9 would be written as Rz(9), Ry(45), Rx() since we want to first rotate about x, y, z. It would be applied then to the point P. RzRyRx P Problem occurs when two of the axes of rotation line up on top of each other. This is called Gimbal Lock University of Calgary GraphicsJungle Project CPSC page
13 University of Calgary GraphicsJungle Project CPSC page 3
14 Concatenation O O University of Calgary GraphicsJungle Project CPSC page 4
15 Fixed Angle Interpolation (,9,) to (9,,9) (,,) (,9,) (9,,9) University of Calgary GraphicsJungle Project CPSC page 5
16 Gimbal Lock A 9 degree rotation about the y axis essentially makes the first axis of rotation align with the third. Incremental changes in x,z produce the same results you ve lost a degree of freedom i.e. rotating around z produces the same effect as rotate around x. (see program) since x is now z University of Calgary GraphicsJungle Project CPSC page 6
17 Gimbal Lock Phenomenon of two rotational axis of an object pointing in the same direction. Simply put, it means your object won't rotate in an obvious fashion (this applies to interpolation too). University of Calgary GraphicsJungle Project CPSC page 7
18 Euler Angles Euler Angle Rotation: Rotation around the rotating (local) axes. The axes of rotation are the axes of the local coordinate system fixed to the object. A general rotation is a combination of three elementary rotations: around the x-axis (x-roll), around the y-axis (y-roll) and around the z-axis (z-roll). University of Calgary GraphicsJungle Project CPSC page 8
19 University of Calgary GraphicsJungle Project CPSC page 9 Euler Angles and Rotation Matrices = = = cos sin sin cos ) ( cos sin sin cos ) y - roll( cos sin sin cos ) ( roll z roll x + + = ),, ( c c c s s s c s s c s c c s c c s s s s c c s s s s c c c R Need global
20 Euler Angles An Euler angle representation: e.g. x-y-z ordering specified as α,β,γ R(α) x-axis rotation R(β) y-axis rotation around y-axis of rotated local coordinate system. R is rotation around rotated frame, to implement the y-axis rotation: R y (β)r x (α)= R x (α)r y (β)r x (-α)r x (α)=r x (α)r y (β) implement with global axes rotations so Euler is identical to fixed angle system with reverse order of rotations. (see page 57). University of Calgary GraphicsJungle Project CPSC page
21 Euler Angles Show that Euler angle ordering is equivalent to reverse ordering in fixed angles Use (z,y,x) Y y P = R z ( )P P = R z ( )R y ( )R z ( ) P P = R z ( )R y ( )R z ( )R z ( )P P = R z ( )R y ( )P P = R z ( )R y ( )R x ( 3 )R y ( )R z ( ) P P = R z ( )R y ( )R x ( 3 )R y ( )R z ( )R z ( )R y ( )P P = R z ( )R y ( )R x ( 3 )P Z z x X and so has the same problems University of Calgary GraphicsJungle Project CPSC page
22 Gimbal Lock (again!) Rotation by 9 o causes a loss of a degree of freedom z z z y π/ y 3 y x x x x x University of Calgary GraphicsJungle Project CPSC page
23 Euler angles interpolation y π x z x-roll π y x z R(,,),,R(πt,,),,R(π,,) t [,] Same problem as fixed angle inerpolation. y π x z y-roll π y π x z z-roll π y x z R(,,),,R(,πt, πt),,r(,π, π) University of Calgary GraphicsJungle Project CPSC page 3
24 Euler Angles Interpolation Unnatural movement! University of Calgary GraphicsJungle Project CPSC page 4
25 Goal Find a parameterization in which a simple steady rotation exists between two key orientations moves are independent of the choice of the coordinate system University of Calgary GraphicsJungle Project CPSC page 5
26 Axis Angle Interpolation (,n) defines an angular displacement of about an axis n Y A A X Z B=A x A cos - (A A ) = A.A B=A x A A K =R B (k.)a K =(-k) +k University of Calgary GraphicsJungle Project CPSC page 6
27 Angle and Axis Any orientation can be represented by a 4-tuple angle, vector(x,y,z) where the angle is the amount to rotate by and the vector is the axis to rotate about Can interpolate the angle and axis separately No gimbal lock problems! But, can t efficiently compose rotations must convert to matrices first! University of Calgary GraphicsJungle Project CPSC page 7
28 Quaternions? Extend the concept of rotation in 3D to 4D. Avoids the problem of "gimbal-lock" and allows for the implementation of smooth and continuous rotation. In effect, they may be considered to add a additional rotation angle to spherical coordinates ie. Longitude, Latitude and Rotation angles A Quaternion is defined using four floating point values w x y z. These are calculated from the combination of the three coordinates of the rotation axis and the rotation angle. University of Calgary GraphicsJungle Project CPSC page 8
29 Quaternions q =[s,v]=[s,x,y,z] Α Has the same information as axis-angle but in a more computational-friendly form (cos(/),sin(/)*a) University of Calgary GraphicsJungle Project CPSC page 9
30 How do quaternions relate to 3D animation? Solution to "Gimbal lock" Instead of rotating an object through a series of successive rotations, a quaternion allows the programmer to rotate an object through a single arbitary rotation axis. Because the rotation axis is specifed as a unit direction vector, it may be calculated through vector mathematics or from spherical coordinates ie (longitude/latitude). Quaternions interpolation : smooth and predictable rotation effects. University of Calgary GraphicsJungle Project CPSC page 3
31 Quaternions Definition Extension of complex numbers 4-tuple of real numbers s,x,y,z or [s,v] s is a scalar v is a vector Same information as axis/angle but in a different form Can be viewed as an original orientation or a rotation to apply to an object University of Calgary GraphicsJungle Project CPSC page 3
32 Quaternions Math - Definitions Quaternion Addition q = [s,v ] q = [s,v ] q +q = [s +s, v +v ] Quaternion multiplication associative (q.q ).q 3 = q.(q.q 3 ) Quaternion multiplication non commutative q = [s,v ] q = [s,v ] q.q = [s s v v, s v + s v + v x v ] q.q q.q University of Calgary GraphicsJungle Project CPSC page 3
33 Quaternions Math Magnitude University of Calgary GraphicsJungle Project CPSC page 33
34 Quaternion Rotation To rotate a vector, v using quaternion math represent the vector as [,v] represent the rotation as a quaternion, q v = Rot(v) = q.v.q - Unit quarternian rotated around axis (x,y,z) by amount q = Rot,(x,y,z) = [cos(/), sin(/).(x,y,z)] University of Calgary GraphicsJungle Project CPSC page 34
35 Quaternion Rotation v = Rot(v)=q.v.q - Unit quarternian rotated around axis (x,y,z) by amount q = Rot,(x,y,z) =[cos(/), sin(/).(x,y,z)] Rotation by quarternian p followed by rotation by q on vector v: v is the quarternian [,v] Rot q (Rot p (v)) = q.(p.v.p - ).q - = ((qp).v.(qp) - ) =Rot qp (v) University of Calgary GraphicsJungle Project CPSC page 35
36 Inverse Quaternion Rotation Inverse quarternian q - represents rotation in the opposite direction: Rot - (Rot(v)) = q -.(q.v.q - ).q= v Magnitude is divided out by multiplying by inverse (q.v.q - ) thus scalar multiples of quarternian represents same rotation as unit quarternian (similar idea as with homogeneous point representation). note that real part (scalar part) is R(z v z - )= R ( v z z - )=R(v )= v = [, v] University of Calgary GraphicsJungle Project CPSC page 36
37 (-ve) Quaternion Rotation v = Rot(v)=q.v.q - Unit quarternian rotated around axis (x,y,z) by amount q = Rot,(x,y,z) = [cos(/), sin(/).(x,y,z)] -q = Rot -,-(x,y,z) =[cos(-/), sin(-/).(-(x,y,z))] =[cos(/), -sin(/).(-(x,y,z))] =[cos(/), sin(/).((x,y,z))] -q = q = Rot,(x,y,z) University of Calgary GraphicsJungle Project CPSC page 37
38 Quaternion to Rotation Matrix Q = ( X Y Z W ) M = Y XY XZ + Z ZW YW XY ZW X Z YZ + XW XZ YZ X + YW XW Y University of Calgary GraphicsJungle Project CPSC page 38
39 Quaternions as Rotations Rotation of P=(,r) about the unit vector n by an angle using the unit quaternion q=(s,v) R [ P] = qpq = (,( s v v) r + v( v r) + sv r) q but q=(cos½, sin½ n) where n = R q [ P] = (, (cos sin ) r ( n r)cos sin ) = (, cos r + ( cos ) + n( n r)sin n ( n r) + + ( n r)sin ) University of Calgary GraphicsJungle Project CPSC page 39
40 University of Calgary GraphicsJungle Project CPSC page 4 Quaternions as Rotations Concatenating rotations rotate using q and then using q is like rotation using q *q ) * *( )* * ( ) * *( )* * ( )* * * *( = = q q P q q q q P q q q q P q q
41 Rotations in Reality It s easiest to express rotations in Euler angles or Axis/angle We can convert to/from any of these representations Choose the best representation for the task input:euler angles interpolation: quaternions composing rotations: quaternions, orientation matrix University of Calgary GraphicsJungle Project CPSC page 4
42 University of Calgary GraphicsJungle Project CPSC page 4
Coordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $!
Rendering Pipeline Another look at rotation Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone model reproduction (focuses
More informationFundamentals of Computer Animation
Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,
More information1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1
Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also
More informationRotations in 3D Graphics and the Gimbal Lock
Rotations in 3D Graphics and the Gimbal Lock Valentin Koch Autodesk Inc. January 27, 2016 Valentin Koch (ADSK) IEEE Okanagan January 27, 2016 1 / 37 Presentation Road Map 1 Introduction 2 Rotation Matrices
More informationTransformations: 2D Transforms
1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation
More informationCS770/870 Spring 2017 Quaternions
CS770/870 Spring 2017 Quaternions Primary resources used in preparing these notes: 1. van Osten, 3D Game Engine Programming: Understanding Quaternions, https://www.3dgep.com/understanding-quaternions 2.
More informationAnimating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University
Animating orientation CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Orientation in the plane θ (cos θ, sin θ) ) R θ ( x y = sin θ ( cos θ sin θ )( x y ) cos θ Refresher: Homogenous
More informationCS354 Computer Graphics Rotations and Quaternions
Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation
More informationAnimation and Quaternions
Animation and Quaternions Partially based on slides by Justin Solomon: http://graphics.stanford.edu/courses/cs148-1-summer/assets/lecture_slides/lecture14_animation_techniques.pdf 1 Luxo Jr. Pixar 1986
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationOrientation & Quaternions
Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented
More informationTransformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering
RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project
More information3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11
3D Transformations CS 4620 Lecture 11 1 Announcements A2 due tomorrow Demos on Monday Please sign up for a slot Post on piazza 2 Translation 3 Scaling 4 Rotation about z axis 5 Rotation about x axis 6
More informationQuaternions and Rotations
CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body
More informationAnimation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape
More informationCS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations
CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars
More informationQuaternions and Rotations
CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body
More informationQuaternions & Rotation in 3D Space
Quaternions & Rotation in 3D Space 1 Overview Quaternions: definition Quaternion properties Quaternions and rotation matrices Quaternion-rotation matrices relationship Spherical linear interpolation Concluding
More information3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations
3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic
More informationCS612 - Algorithms in Bioinformatics
Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search
More informationGEOMETRIC TRANSFORMATIONS AND VIEWING
GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are
More informationAnalysis of Euler Angles in a Simple Two-Axis Gimbals Set
Vol:5, No:9, 2 Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Ma Myint Myint Aye International Science Index, Mechanical and Mechatronics Engineering Vol:5, No:9, 2 waset.org/publication/358
More informationCALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES
CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model
More information3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)
3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity
More information3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017
3D Rotations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2017 Rotations in 3D What is a rotation, intuitively? How do you know a rotation when you see it? - length/distance is
More informationAnimation Curves and Splines 2
Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with
More informationRepresentations and Transformations. Objectives
Repreentation and Tranformation Objective Derive homogeneou coordinate tranformation matrice Introduce tandard tranformation - Rotation - Tranlation - Scaling - Shear Scalar, Point, Vector Three baic element
More informationAutonomous Navigation for Flying Robots
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München Points in 3D 3D point Augmented vector Homogeneous
More informationME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander
ME 597: AUTONOMOUS MOILE ROOTICS SECTION 2 COORDINATE TRANSFORMS Prof. Steven Waslander OUTLINE Coordinate Frames and Transforms Rotation Matrices Euler Angles Quaternions Homogeneous Transforms 2 COORDINATE
More informationVisual Recognition: Image Formation
Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know
More information12.1 Quaternions and Rotations
Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera
More informationRotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)
Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and
More informationCS184: Using Quaternions to Represent Rotation
Page 1 of 5 CS 184 home page A note on these notes: These notes on quaternions were created as a resource for students taking CS184 at UC Berkeley. I am not doing any research related to quaternions and
More information3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016
3D Transformations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2016 Quiz 4: Trees and Transformations Student solutions (beautiful!): Rotations in 3D What is a rotation, intuitively?
More informationa a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b
MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the
More informationCMSC 425: Lecture 6 Affine Transformations and Rotations
CMSC 45: Lecture 6 Affine Transformations and Rotations Affine Transformations: So far we have been stepping through the basic elements of geometric programming. We have discussed points, vectors, and
More informationAnimation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1
Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral
More informationToday. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices
Computergrafik Matthias Zwicker Universität Bern Herbst 2008 Today Transformations & matrices Introduction Matrices Homogeneous Affine transformations Concatenating transformations Change of Common coordinate
More informationTransformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives
More informationQuaternions and Rotations
CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters
More informationQuaternions and Rotations
CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations
More informationQuaternion Rotations AUI Course Denbigh Starkey
Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an
More informationComputer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms
Chapter IV Spaces and Transforms Scaling 2D scaling with the scaling factors, s x and s y, which are independent. Examples When a polygon is scaled, all of its vertices are processed by the same scaling
More informationCS230 : Computer Graphics Lecture 12: Introduction to Animation. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 12: Introduction to Animation Tamar Shinar Computer Science & Engineering UC Riverside Types of animation keyframing rotoscoping stop motion procedural simulation motion
More informationComputer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics
Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control
More informationVector Algebra Transformations. Lecture 4
Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures
More informationRotation with Quaternions
Rotation with Quaternions Contents 1 Introduction 1.1 Translation................... 1. Rotation..................... 3 Quaternions 5 3 Rotations Represented as Quaternions 6 3.1 Dynamics....................
More informationGeometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3
Geometric transformations in 3D and coordinate frames Computer Graphics CSE 167 Lecture 3 CSE 167: Computer Graphics 3D points as vectors Geometric transformations in 3D Coordinate frames CSE 167, Winter
More informationOverview. By end of the week:
Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric
More informationRotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.
otation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J Fowler, WesternGeco Summary Symmetry groups commonly used to describe seismic anisotropy
More informationPSE Game Physics. Session (3) Springs, Ropes, Linear Momentum and Rotations. Oliver Meister, Roland Wittmann
PSE Game Physics Session (3) Springs, Ropes, Linear Momentum and Rotations Oliver Meister, Roland Wittmann 08.05.2015 Session (3) Springs, Ropes, Linear Momentum and Rotations, 08.05.2015 1 Outline Springs
More informationComputer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL
Chapter 5 Geometric Transformations Somsak Walairacht, Computer Engineering, KMITL 1 Outline Basic Two-Dimensional Geometric Transformations Matrix Representations and Homogeneous Coordinates Inverse Transformations
More informationMotivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 19: Basic Geometric Concepts and Rotations Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Motivation Moving from rendering to simulation,
More informationLecture Note 3: Rotational Motion
ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463
More information3D Modelling: Animation Fundamentals & Unit Quaternions
3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring
More information3D Kinematics. Consists of two parts
D Kinematics Consists of two parts D rotation D translation The same as D D rotation is more complicated than D rotation (restricted to z-ais) Net, we will discuss the treatment for spatial (D) rotation
More informationGraphics and Interaction Transformation geometry and homogeneous coordinates
433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationCOMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates
COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationVisualizing Quaternions
Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion
More informationQuaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication
Introduction to quaternions Definition: A quaternion q consists of a scalar part s, s, and a vector part v ( xyz,,, v 3 : q where, [ s, v q [ s, ( xyz,, q s+ ix + jy + kz i 2 j 2 k 2 1 ij ji k k Quaternion
More informationWorking With 3D Rotations. Stan Melax Graphics Software Engineer, Intel
Working With 3D Rotations Stan Melax Graphics Software Engineer, Intel Human Brain is wired for Spatial Computation Which shape is the same: a) b) c) I don t need to ask for directions Translations A childhood
More informationTransformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive
More informationObjectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations
Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous
More informationTransformations Week 9, Lecture 18
CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations
More informationAdvanced Computer Graphics Transformations. Matthias Teschner
Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space
More information2D and 3D Coordinate Systems and Transformations
Graphics & Visualization Chapter 3 2D and 3D Coordinate Systems and Transformations Graphics & Visualization: Principles & Algorithms Introduction In computer graphics is often necessary to change: the
More informationLab 2A Finding Position and Interpolation with Quaternions
Lab 2A Finding Position and Interpolation with Quaternions In this Lab we will learn how to use the RVIZ Robot Simulator, Python Programming Interpreter and ROS tf library to study Quaternion math. There
More informationQuaternions and Euler Angles
Quaternions and Euler Angles Revision #1 This document describes how the VR Audio Kit handles the orientation of the 3D Sound One headset using quaternions and Euler angles, and how to convert between
More informationTransformations. Questions on Assignment 1? Announcements
Announcements Is your account working yet? Watch out for ^M and missing newlines Assignment 1 is due next Thursday at midnight Check the webpage and newsgroup for answers to questions about the assignment
More information3D Game Engine Programming. Understanding Quaternions. Helping you build your dream game engine. Posted on June 25, 2012 by Jeremiah van Oosten
3D Game Engine Programming Helping you build your dream game engine. Understanding Quaternions Posted on June 25, 2012 by Jeremiah van Oosten Understanding Quaternions In this article I will attempt to
More information2D/3D Geometric Transformations and Scene Graphs
2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background
More informationComputer Animation II
Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies
More informationInertial Measurement Units II!
! Inertial Measurement Units II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/!! wikipedia! Polynesian Migration! Lecture Overview! short review of
More informationLe s s on 02. Basic methods in Computer Animation
Le s s on 02 Basic methods in Computer Animation Lesson 02 Outline Key-framing and parameter interpolation Skeleton Animation Forward and inverse Kinematics Procedural techniques Motion capture Key-framing
More informationSpecifying Complex Scenes
Transformations Specifying Complex Scenes (x,y,z) (r x,r y,r z ) 2 (,,) Specifying Complex Scenes Absolute position is not very natural Need a way to describe relative relationship: The lego is on top
More informationTransformation Algebra
Transformation Algebra R. J. Renka Department of Computer Science & Engineering University of North Texas 0/07/205 Linear Transformations A point with Cartesian coordinates (x, y, z) is taken to be a column
More informationCoordinate Frames and Transforms
Coordinate Frames and Transforms 1 Specifiying Position and Orientation We need to describe in a compact way the position of the robot. In 2 dimensions (planar mobile robot), there are 3 degrees of freedom
More informationRotational Joint Limits in Quaternion Space. Gino van den Bergen Dtecta
Rotational Joint Limits in Quaternion Space Gino van den Bergen Dtecta Rotational Joint Limits: 1 DoF Image: Autodesk, Creative Commons Rotational Joint Limits: 3 DoFs Image: Autodesk, Creative Commons
More informationChapter 2 - Basic Mathematics for 3D Computer Graphics
Chapter 2 - Basic Mathematics for 3D Computer Graphics Three-Dimensional Geometric Transformations Affine Transformations and Homogeneous Coordinates Combining Transformations Translation t + t Add a vector
More informationComputer Graphics Geometric Transformations
Computer Graphics 2016 6. Geometric Transformations Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-10-31 Contents Transformations Homogeneous Co-ordinates Matrix Representations of Transformations
More informationAnimation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions
More informationC O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52
Computer Graphics Three-Dimensional Graphics I Guoying Zhao 1 / 52 Geometry Guoying Zhao 2 / 52 Objectives Introduce the elements of geometry Scalars Vectors Points Develop mathematical operations among
More informationIntroductionToRobotics-Lecture02
IntroductionToRobotics-Lecture02 Instructor (Oussama Khatib):Okay. Let's get started. So as always, the lecture starts with a video segment, and today's video segment comes from 1991, and from the group
More informationCS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation
CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)
More information3D Rotation: more than just a hobby
3D Rotation: more than just a hobby Eric Yang s special talent is the mental rotation of threedimensional objects. Mental rotation is Yang s hobby. I can see textures and imperfections and the play of
More informationExercise 1: Kinematics of the ABB IRB 120
Exercise 1: Kinematics of the ABB IRB 120 Marco Hutter, Michael Blösch, Dario Bellicoso, Samuel Bachmann October 2, 2015 Abstract In this exercise you learn how to calculate the forward and inverse kinematics
More informationCS4620/5620. Professor: Kavita Bala. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)
CS4620/5620 Affine and 3D Transformations Professor: Kavita Bala 1 Announcements Updated schedule on course web page 2 Prelim days finalized and posted Oct 11, Nov 29 No final exam, final project will
More informationMoving Objects. We need to move our objects in 3D space.
Transformations Moving Objects We need to move our objects in 3D space. Moving Objects We need to move our objects in 3D space. An object/model (box, car, building, character,... ) is defined in one position
More informationMTRX4700 Experimental Robotics
MTRX 4700 : Experimental Robotics Lecture 2 Stefan B. Williams Slide 1 Course Outline Week Date Content Labs Due Dates 1 5 Mar Introduction, history & philosophy of robotics 2 12 Mar Robot kinematics &
More informationHello, welcome to the video lecture series on Digital Image Processing. So in today's lecture
Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module 02 Lecture Number 10 Basic Transform (Refer
More informationAnswers. Chapter 2. 1) Give the coordinates of the following points:
Answers Chapter 2 1) Give the coordinates of the following points: a (-2.5, 3) b (1, 2) c (2.5, 2) d (-1, 1) e (0, 0) f (2, -0.5) g (-0.5, -1.5) h (0, -2) j (-3, -2) 1 2) List the 48 different possible
More informationReview of Thursday. xa + yb xc + yd
Review of Thursday Vectors and points are two/three-dimensional objects Operations on vectors (dot product, cross product, ) Matrices are linear transformations of vectors a c b x d y = xa + yb xc + yd
More informationAnimations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala
Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools
More informationCS5620 Intro to Computer Graphics
CS56 and Quaternions Piar s Luo Jr. A New Dimension - Time 3 4 Principles of Traditional Specifing Anticipation Suash/Stretch Secondar Action 5 6 C. Gotsman, G. Elber,. Ben-Chen Page CS56 Keframes anual
More informationLecture 5: Transforms II. Computer Graphics and Imaging UC Berkeley CS184/284A
Lecture 5: Transforms II Computer Graphics and Imaging UC Berkeley 3D Transforms 3D Transformations Use homogeneous coordinates again: 3D point = (x, y, z, 1) T 3D vector = (x, y, z, 0) T Use 4 4 matrices
More informationEECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems
EECE 478 Linear Algebra and 3D Geometry Learning Objectives Linear algebra in 3D Define scalars, points, vectors, lines, planes Manipulate to test geometric properties Coordinate systems Use homogeneous
More informationMETR Robotics Tutorial 2 Week 3: Homogeneous Coordinates SOLUTIONS & COMMENTARY
METR4202 -- Robotics Tutorial 2 Week 3: Homogeneous Coordinates SOLUTIONS & COMMENTARY Questions 1. Calculate the homogeneous transformation matrix A BT given the [20 points] translations ( A P B ) and
More informationWhy animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101
Animation by Example Lecture 1: Introduction, Human Representation Michael Gleicher University of Wisconsin- Madison www.cs.wisc.edu/~gleicher www.cs.wisc.edu/graphics Why animate humans? Movies Television
More informationTranslation. 3D Transformations. Rotation about z axis. Scaling. CS 4620 Lecture 8. 3 Cornell CS4620 Fall 2009!Lecture 8
Translation 3D Transformations CS 4620 Lecture 8 1 2 Scaling Rotation about z axis 3 4 Rotation about x axis Rotation about y axis 5 6 Transformations in OpenGL Stack-based manipulation of model-view transformation,
More informationAalto CS-C3100 Computer Graphics, Fall 2016
Aalto CS-C3100 Computer Graphics, Fall 2016 Representation and Interpolation of Wikipedia user Blutfink Rotations...or, adventures on the 4D unit sphere Jaakko Lehtinen with lots of slides from Frédo Durand
More information