Quaternions. Mike Bailey. A Useful Concept: Spherical Linear Interpolation. sin(1 t) sin t
|
|
- Ethan Clarke
- 5 years ago
- Views:
Transcription
1 1 Quaternions This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu Quaternions.pptx A Useful Concept: Spherical Linear Interpolation sin(1 t) sin t Q'( t) P Q sin sin 0. t 1. where: + + sin 1 1
2 A Review of Complex Numbers 3 z x iy r[cos i sin ] re i z z x y x y ( i )( i ) 1 ) 1 1 x 1 (i.e., multiply the r s and add the θ s) i r1e i r e i( r1r e Since we are adding the θ s, we see that complex multiplication is really just rotation by θ if r = 1. Complex conjugate: Complex inverse: * i i x iy z 1 1 e r z re Note: (z)(z*) = r (z)(z -1 ) = 1. If r = 1., then z* = z -1 Quaternion Background 4 Discovered by Sir William Hamilton, 1843, while on a walk in Dublin. Legend says that he was so excited that he took out a knife and carved the equation into the stone of a bridge. Good thing spray-paint hadn t been invented yet Quaternions have 4 elements, one real and three complex: q q q q qqqq qq Q i j k (,,, ) (, ) By definition, 1 3 ii jj kk 1 ij k, jk i, ki j ji k, kj i, ik j 4 ijk 1 And, by definition, we always force Q 1. by making q q q q
3 Quaternion Multiplication 5 p p p p q q q q PQ ( i j k )( i j k ) p0q0 pq 1 1 pq p3q3 p1q0 p0q1 pq3 p3q PQ pq0 p0q p3q1 pq 1 3 p3q0 p0q3 pq 1 pq1 qp 0 p0q p q i j k Performing Rotations with Quaternions 6 A Quaternion can record a rotation transformation by an angle about an axis like this:,, where: q0 cos( ) q sin( ) nˆ Concatenated Quaternion Rotations are handled like this: R (,, )*, ) R 1 s rotation takes effect first, followed by R s A Quaternion can represent a point P like this: P Q(0, p) (0, p, p, p ) x y z A rotated point, P by one rotation is: P = * * A rotated point, P by multiple rotations is: P = 1 * * 1 3
4 Converting from a Quaternion to a Matrix 7 q q q q qq qq qq qq RQ ( ) qq qq q q q q qq qq qq 1 3qq 0 qq 3qq 0 1 q0q1qq3 From the GLM Notes: The Rotation Matrix for an Angle (θ) about an Arbitrary Axis (Ax, Ay, Az) 8 AA x x cos 1AA x x AA x y cos AA x y sinaz AA x z cos AA x z sina y M AA y x cos AA y x sinaz AA y y cos 1AA y y AA y z cos AA y z sina x AA z x cos AA z x sinay AA z y cos AA z y sinax AA z z cos 1 AA z z For this to be correct, A must be a unit vector 4
5 Converting from a Quaternion to a Matrix 9 q q q q qq qq qq qq RQ ( ) qq qq q q q q qq qq qq 1 3qq 0 qq 3qq 0 1 q0q1qq3 R = where: Note that the sum of the Trace (diagonal) elements is: Converting from a Matrix to a Quaternion 10 q q q q qq qq qq qq RQ ( ) qq qq q q q q qq qq qq 1 3qq 0 qq 3qq 0 1 q0q1qq3 Note that the sum of the Trace (diagonal) elements is: Letting t Trace( R) 1cos, then: 1 cos ( 1) t sin 1cos 5
6 Notes from Converting from a Quaternion to a Matrix 11 R= = R = Converting from a Matrix to a Quaternion 1 0 nzsin nysin 0 c b T R R nzsin 0 nxsin c 0 a nysin nxsin 0 b a 0 If we let a b c d a b c, then nˆ,, d d d q0 cos( ) q sin( ) nˆ 6
7 Quaternions in GLM 13 #include "glm/vec.hpp" #include "glm/vec3.hpp" #include "glm/mat4x4.hpp" #include "glm/gtc/matrix_transform.hpp" #include "glm/gtc/matrix_inverse.hpp" #include gtc/quaternion.hpp #include glm/gtx/quaternion.hpp glm::quat rot1 = glm::angleaxis( glm::radians(45.f), glm::vec3( 0.707f, 0.707f, 0. ) ); glm::quat rot = glm::angleaxis( glm::radians(90.f), glm::vec3( 1., 0., 0.,) ); glm::quat combinedrots = rot * rot1; glm::vec4 v = glm::vec4( 1., 1., 1., 1. ); glm::vec4 vp = combinedrots * v; glm::mat4 rotmatrix = glm::tomat4( combinedrots ); glm::vec4 vpp = rotmatrix * v; // same result as vp Converting from a Quaternion to OpenGL 14 glrotate3f( θ, n x, n y, n z ); glm::rotate( glm::quat const & q, θ R, glm::vec3( n x, n y, n z ) ); 7
8 A Useful Concept: Spherical Linear Interpolation, where P and Q are Quaternions 15 sin(1 t) sin t Q'( t) P Q sin sin 0. t 1. where: sin 1 My Code (Quat.h, Quat.cpp) 16 Rotate Slerp( float t, const Quat& p, const Quat& q ) { float angr; // angle between p and q in radians float c, s; // cosine and sine of the angle between p and q float cp, cq; // coefficients to multiply quaternions p and q Rotate r; // dot product to get the angle between p and q: c = p.s*q.s + p.vx*q.vx + p.vy*q.vy + p.vz*q.vz; angr = acos( c ); // sine of that angle: s = sin( angr ); // if the sine is 0., then p == q: if( s == 0. ) { r = p; return r; } // do spherical interpolation: cp = sin( (1.-t)*angr ) / s; cq = sin( t *angr ) / s; } r = cp*p + cq*q; return r; 8
9 int main( int argc, char *argv[ ] ) { Rotate r1 = Rotate( 45.*DR, 0., 0., 1. ); Rotate r = Rotate( 90.*DR, 0., 0., 1. ); Rotate r3 = Rotate( 90.*DR, 1., 0., 0. ); Rotate r4 = r * r1; Rotate r5 = r3 * r * r1; My Code (Quat.h, Quat.cpp) 17 fprintf( stderr, "r1 = %s\n", r1.tostring() ); fprintf( stderr, "r = %s\n", r.tostring() ); fprintf( stderr, "r*r1 = %s\n", r4.tostring() ); fprintf( stderr, "r3 = %s\n", r3.tostring() ); fprintf( stderr, "r3*r*r1 = %s\n", r5.tostring() ); fprintf( stderr, "\nr3*r*r1 matrix =\n" ); r5.printmatrix(); Point p1 = Point( 1., 1., 0. ); Point p = r4 * p1; fprintf( stderr, "Original point = %s\n", p1.tostring() ); fprintf( stderr, "Transformed point = %s\n", p.tostring() ); // try interpolating from r1 to r5: const int N = 10; float dt = 1. / (float)( N - 1 ); float t = 0.; for( int i = 0; i < N; i++, t += dt ) { Rotate r15 = Slerp( t, r1, r5 ); fprintf( stderr, "%d %5.3f %s\n", i, t, r15.tostring() ); } } My Code (Quat.h, Quat.cpp) 18 r1 = degrees about ( ) r = degrees about ( ) r*r1 = degrees about ( ) r3 = degrees about ( ) r3*r*r1 = degrees about ( ) r3*r*r1 matrix = Original point = Transformed point = degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) degrees about ( ) 9
10 A Really Good (i.e., Complete) Reference 19 Andrew Hanson, Visualizing Quaternions, Morgan-Kaufmann,
GLM. Mike Bailey. What is GLM?
1 GLM This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu GLM.pptx What is GLM? 2 GLM is a set of C++ classes
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 informationThe OpenGL Mathematics (GLM) Library. What is GLM?
1 The OpenGL Mathematics (GLM) Library This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu GLM.pptx What
More informationThe OpenGL Mathematics (GLM) Library
1 The OpenGL Mathematics (GLM) Library This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu GLM.pptx What
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 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 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 informationT y. x Ax By Cz D. z Ix Jy Kz L. Geometry: Topology: Transformations
Transformations Geometr vs. Topolog Original Object This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives.0 International License Mike Baile mjb@cs.oregonstate.edu Geometr:
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 informationTransformations. Mike Bailey. Oregon State University. Oregon State University. Computer Graphics. transformations.
1 Transformations Mike Bailey mjb@cs.oregonstate.edu transformations.pptx Geometry vs. Topology 2 Original Object 4 1 2 4 Geometry: Where things are (e.g., coordinates) 3 1 3 2 Geometry = changed Topology
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 information1 Historical Notes. Kinematics 5: Quaternions
1 Historical Notes Quaternions were invented by the Irish mathematician William Rowan Hamilton in the late 1890s. The story goes 1 that Hamilton has pondered the problem of dividing one vector by another
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 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 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 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 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 informationIntroduction to quaternions. Mathematics. Operations
Introduction to quaternions Topics: Definition Mathematics Operations Euler Angles (optional) intro to quaternions 1 noel.h.hughes@gmail.com Euler's Theorem y y Angle! rotation follows right hand rule
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 informationQUATERNIONS AND ROTATIONS
1 CHAPTER 6. QUATERNIONS AND ROTATIONS 1 INSTITIÚID TEICNEOLAÍOCHTA CHEATHARLACH INSTITUTE OF TECHNOLOGY CARLOW QUATERNIONS AND ROTATIONS 1 Quaternions and Rotations 1.1 Introduction William Rowan Hamilton
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 informationSimple Keyframe Animation
Simple Keyframe Animation Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4. International License keyframe.pptx Approaches to
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 informationVisualizing Quaternions
Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 25 Tutorial OUTLINE I: (45min) Twisting Belts, Rolling Balls, and Locking Gimbals: Explaining Rotation Sequences
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 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 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 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 informationQuaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods
uaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods ê = normalized Euler ation axis i Noel H. Hughes Nomenclature = indices of first, second and third Euler
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry Transforms (part II) Christopher Dyken and Martin Reimers 21.09.2011 Page 1 Transforms (part II) Real Time Rendering book: Transforms (Chapter 4) The Red
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 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 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 informationAnimation. Animation
CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.
More informationQuaternions and Exponentials
Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office
More informationApplications of Dual Quaternions in Three Dimensional Transformation and Interpolation
Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University
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 informationSUMMARY. CS380: Introduction to Computer Graphics Track-/Arc-ball Chapter 8. Min H. Kim KAIST School of Computing 18/04/06.
8/4/6 CS38: Introduction to Computer Graphics Track-/Arc-ball Chapter 8 Min H. Kim KAIST School of Computing Quaternion SUMMARY 2 8/4/6 Unit norm quats. == rotations Squared norm is sum of 4 squares. Any
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 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 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 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 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 informationAnimation. The Alpha and Interpolator of Java 3D
Animation Java 3D provides a very powerful and easy to use animation facility It is based on two classes Alpha Interpolator Animations are run in separate threads This is handled by the Alpha and Interpolator
More informationAH Matrices.notebook November 28, 2016
Matrices Numbers are put into arrays to help with multiplication, division etc. A Matrix (matrices pl.) is a rectangular array of numbers arranged in rows and columns. Matrices If there are m rows and
More informationMatrices. Matrices. A matrix is a 2D array of numbers, arranged in rows that go across and columns that go down: 4 columns. Mike Bailey.
Matrices 1 Matrices 2 A matrix is a 2D array of numbers, arranged in rows that go across and columns that go down: A column: This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives
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 informationQuaternions: From Classical Mechanics to Computer Graphics, and Beyond
Proceedings of the 7 th Asian Technology Conference in Mathematics 2002. Invited Paper Quaternions: From Classical Mechanics to Computer Graphics, and Beyond R. Mukundan Department of Computer Science
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 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 informationMatrices. Mike Bailey. matrices.pptx. Matrices
Matrices 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License matrices.pptx Matrices 2 A matrix is a 2D
More information3D Transformations World Window to Viewport Transformation Week 2, Lecture 4
CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory
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 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 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 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 informationCGT520 Transformations
CGT520 Transformations Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics GLM A concise library for transforms and OpenGL mathematics All overloaded, predefined, optimized glm (OpenGL
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 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 informationReading. Topics in Articulated Animation. Character Representation. Animation. q i. t 1 t 2. Articulated models: Character Models are rich, complex
Shoemake, Quaternions Tutorial Reading Topics in Articulated Animation 2 Articulated models: rigid parts connected by joints Animation They can be animated by specifying the joint angles (or other display
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 informationTransformations (Rotations with Quaternions) October 24, 2005
Computer Graphics Transformations (Rotations with Quaternions) October 4, 5 Virtual Trackball (/3) Using the mouse position to control rotation about two axes Supporting continuous rotations of objects
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 informationQuaternions in Practice
xbdev.net manuscript No. quaternions in practice (bkenwright@xbdev.net) Quaternions in Practice Converting, Validating, and Understanding Ben Kenwright January 2013 Abstract In this paper, we present a
More informationFundamentals of Computer Animation
Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC 587 5 page Motivation Finding the most natural and compact way to present rotation and orientations
More informationChapter 3 : Computer Animation
Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations
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 informationAnswers to practice questions for Midterm 1
Answers to practice questions for Midterm Paul Hacking /5/9 (a The RREF (reduced row echelon form of the augmented matrix is So the system of linear equations has exactly one solution given by x =, y =,
More informationQuaternions and Dual Coupled Orthogonal Rotations in Four-Space
Quaternions and Dual Coupled Orthogonal Rotations in Four-Space Kurt Nalty January 8, 204 Abstract Quaternion multiplication causes tensor stretching) and versor turning) operations. Multiplying by unit
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 informationCE 601: Numerical Methods Lecture 5. Course Coordinator: Dr. Suresh A. Kartha, Associate Professor, Department of Civil Engineering, IIT Guwahati.
CE 601: Numerical Methods Lecture 5 Course Coordinator: Dr. Suresh A. Kartha, Associate Professor, Department of Civil Engineering, IIT Guwahati. Elimination Methods For a system [A]{x} = {b} where [A]
More informationQuaternions & Octonions Made Easy. A Series Illustrating Innovative Forms of the Organization & Exposition of Mathematics by Walter Gottschalk
Quaternions & Octonions Made Easy #20 of Gottschalk's Gestalts A Series Illustrating Innovative Forms of the Organization & Exposition of Mathematics by Walter Gottschalk Infinite Vistas Press PVD RI 2001
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 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 information521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)
5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?
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 informationBasic Elements. Geometry is the study of the relationships among objects in an n-dimensional space
Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space In computer graphics, we are interested in objects that exist in three dimensions We want a minimum set
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 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 informationMatrix Transformations The position of the corners of this triangle are described by the vectors: 0 1 ] 0 1 ] Transformation:
Matrix Transformations The position of the corners of this triangle are described by the vectors: [ 2 1 ] & [4 1 ] & [3 3 ] Use each of the matrices below to transform these corners. In each case, draw
More information62 Basilio Bona - Dynamic Modelling
6 Basilio Bona - Dynamic Modelling Only 6 multiplications are required compared to the 7 that are involved in the product between two 3 3 rotation matrices...6 Quaternions Quaternions were introduced by
More informationVisualizing Quaternion Multiplication
Received April 12, 2017, accepted May 8, 2017, date of publication May 17, 2017, date of current version June 28, 2017. Digital Object Identifier 10.1109/ACCESS.2017.2705196 Visualizing Quaternion Multiplication
More informationTowards an Intuitive Understanding of Quaternion Rotations
Towards an Intuitive Understanding of Quaternion Rotations James Jennings 4th draft February 6, 2008 Abstract: Although quaternions are generally deemed useful for representing three dimenional rotations
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 informationAffine Transformations Computer Graphics Scott D. Anderson
Affine Transformations Computer Graphics Scott D. Anderson 1 Linear Combinations To understand the poer of an affine transformation, it s helpful to understand the idea of a linear combination. If e have
More informationTrigonometric Functions of Any Angle
Trigonometric Functions of Any Angle MATH 160, Precalculus J. Robert Buchanan Department of Mathematics Fall 2011 Objectives In this lesson we will learn to: evaluate trigonometric functions of any angle,
More informationA Detailed Look into Forward and Inverse Kinematics
A Detailed Look into Forward and Inverse Kinematics Kinematics = Study of movement, motion independent of the underlying forces that cause them September 19-26, 2016 Kinematics Preliminaries Preliminaries:
More informationSpherical Arcs using Quaternion Division
Spherical Arcs using Quaternion Division Kurt Nalty January 11, 2014 Abstract Quaternion division is commonly illustrated using spherical arcs on a sphere. This note turns things around, to show how to
More informationKinematical Animation.
Kinematical Animation 3D animation in CG Goal : capture visual attention Motion of characters Believable Expressive Realism? Controllability Limits of purely physical simulation : - little interactivity
More informationLesson 28: When Can We Reverse a Transformation?
Lesson 8 M Lesson 8: Student Outcomes Students determine inverse matrices using linear systems. Lesson Notes In the final three lessons of this module, students discover how to reverse a transformation
More informationOrder of Transformations
Order of Transformations Because the same transformation is applied to many vertices, the cost of forming a matrix M=ABCD is not significant compared to the cost of computing Mp for many vertices p Note
More informationAnatomical Descriptions That Compute Functional Attributes
Anatomical Descriptions That Compute Functional Attributes Goal: To write a description of an anatomical structure that leads directly to the calculation of its functional attributes. For instance, an
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 informationAdding vectors. Let s consider some vectors to be added.
Vectors Some physical quantities have both size and direction. These physical quantities are represented with vectors. A common example of a physical quantity that is represented with a vector is a force.
More informationLecture 9: Transformations. CITS3003 Graphics & Animation
Lecture 9: Transformations CITS33 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 212 Objectives Introduce standard transformations Rotation Translation Scaling
More informationComputer Graphics Lighting
Lighting 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License Lighting.pptx Why Do We Care About Lighting?
More informationComputer Graphics Lighting. Why Do We Care About Lighting?
Lighting 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License Lighting.pptx Why Do We Care About Lighting?
More informationMath12 Pre-Calc Review - Trig
Math1 Pre-Calc Review - Trig Multiple Choice Identify the choice that best completes the statement or answers the question. 1. Which of the following angles, in degrees, is coterminal with, but not equal
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 information