Quaternions and Euler Angles
|
|
- Tyrone Fowler
- 6 years ago
- Views:
Transcription
1 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 these formalisms. Revision #1 Page 1/8
2 Table of Contents 1 Description of the 3D Sound One headset...4 Orientation formalisms Quaternions...4. Euler angles Conversion from quaternions to Euler angles Algebra of rotation coordinates and reset heading Quaternions Euler angles Application to the HOA library Display in OpenGL Quaternions Euler angles...8 Revision #1 Page /8
3 Document History Date Author Revision Notes Feb 1 st 016 David Le Bansais 1 Initial revision Revision #1 Page 3/8
4 1 Description of the 3D Sound One headset This headset includes a head-tracking system that knows, in real-time, the position of the user's head in space. This information is available to computers if they connect to the device and request it using Bluetooth. The position of the headset reflects that of the user's head, and is provided as rotations in 3D space. These rotations are relative to the initial position of the headset when it was powered up. This document explains how to interpret the data sent by the headset, for instance to display a headset on the monitor that follows the movements of the user, or to tell the spatialization library how to apply 3D sound effects. Orientation formalisms There are at least two ways to describe orientation in 3D space: Quaternions, a 4-numbers coordinate system that describes orientation as a vector in the x,y,z axis, and an angle θ around this vector. Euler angles, a set of 3 rotations around each of the x,y and z axis. While Euler angles are more intuitive, quaternions are better suited for calculations. For this reason, the headset data is sent as quaternions. It can be converted to Euler angles if desired, and this document explains how to do it..1 Quaternions For a full reference see the Wikipedia article: The rotation is expressed by a rotation scalar and a vector in 3-dimensional space, the notation used in the rest of this document is the following: Q = q r + q i i + q j j + q k k Q is the quaternion. i, j and k are orthogonal axis in 3D space. The exact direction of i, j and k doesn't matter since they are relative to the position of the headset when it was powered up and therefore have no absolute meaning. q r is the rotation angle, and q i, q j and q k the coefficients along each axis. Note that the vector [q r, q i, q j, q k ] is normalized: q r + q i + q j + q k = 1 The unit quaternion, when there is no rotation, is q r = 1, q i = 0, q j = 0 and q k = 0. Using this notation, the rotation of the headset is expressed as follow: Revision #1 Page 4/8
5 Left and right (the head rotates on the horizontal plane): q r + q i = 1 and q j = 0, q k = 0. q i becomes positive when the head turns to the right. Up and down (the head rotates on the vertical plane, facing ahead): q r + q k = 1 and q i = 0, q j = 0. q k becomes positive when the head looks down. Rolling (the head is leaning to left and right): q r + q j = 1 and q i = 0, q k = 0. q j becomes positive when the head leans to the left.. Euler angles For a full reference see the Wikipedia article: The VR Audio Kit uses the terms Yaw, Pitch and Roll to describe the rotation of the head following the x-y'-z'' convention, also called intrinsic Tait-Bryan angles. Yaw is the rotation around the vertical axis. The value 0 corresponds to facing the screen (or any reference point), positive values correspond to the head turning to the left, and negative values to the head turning to the right. Pitch is the rotation around the horizontal axis from one ear to the other. The value 0 corresponds to facing the screen (or any reference point), positive values correspond to the head looking down, and negative values to the head looking up. Roll is the rotation around the horizontal axis from the nape to the nose. The value 0 corresponds to the head positioned vertically, positive values correspond to the head leaning to the left, and negative values to the head leaning to the right. The unit triplet when there is no rotation is Yaw = 0, Pitch = 0 and Roll = 0. Euler angles are less suited than quaternions to express all 3D rotations because this coordinate system has singularities, an issue known as gimbal lock. Note that Yaw and q i have different signs: when the head turns to the left, Yaw is positive and q i is negative. 3 Conversion from quaternions to Euler angles Given the choice of axis in the quaternion definition, Euler angles can be obtained using the following formula: Yaw = atan ( (q r q k - q i q j ), 1 (q i + q k )) Pitch = arcsin( (q r q i + q j q k )) Roll = atan ( (q r q j - q i q k ), 1 (q i + q j )) (π / ) The atan (y, x) function computes the arctangent of y/x in such a way that the sign and value of the result are well defined everywhere and follow the quadrant in which (x,y) is located. The complete definition of atan can be found at Revision #1 Page 5/8
6 4 Algebra of rotation coordinates and reset heading The rotation of the headset, regardless of the coordinate system used, is relative to the position of the headset when it was powered up. To obtain a meaningful position, applications allow the user to indicate when the headset is in the desired base position (usually when facing a monitor). This operation is called reset heading, and the rotation of the headset when in that position should be the unit rotation: the [1,0,0,0] quaternion or the [0,0,0] Euler angle. For this purpose, an application should record the value of the rotation when the headset is the base position, and substract it from any subsequent measured rotation: R current = R measured R base Calculating the opposite of a rotation, and composing rotations are the two operations we need. 4.1 Quaternions The opposite of the quaternion Q = [q r,q i,q j,q k ] is simply Q' = [q r,-q i,-q j,-q k ]. Composing quaternions Q'' = Q Q' is more complex but simply consists in multiplying the q r + q i i + q j j + q k k and q r ' + q i 'i + q j 'j + q k 'k expressions. Then, equaling coefficients and assuming the products ii, ij obey the following anti-commutation rules: i = j = k = -1 ij = -ji = k jk = -kj = i ki = -ik = j The final result Q'' has the following coefficients: Q r '' = Q r Q r ' Q i Q i ' Q j Q j ' Q k Q k ' Q i '' = Q r Q i ' + Q i Q r ' + Q j Q k ' Q k Q j ' Q j '' = Q r Q j ' Q i Q k ' + Q j Q r ' + Q k Q i ' Q k '' = Q r Q k ' + Q i Q j ' Q j Q i ' + Q k Q r ' 4. Euler angles The opposite of the (Yaw, Pitch, Roll) triplet is (-Yaw,-Pitch, -Roll), and composing Euler angles simply consists in adding their components: Yaw'' = Yaw + Yaw' Pitch'' = Pitch + Pitch' Revision #1 Page 6/8
7 Roll'' = Roll + Roll' 5 Application to the HOA library The HOA library can be used either with quaternions or Euler angles. We recommend using quaternions when possible because they don't lead to instabilities in calculations, and don't use trigonometric functions. If Q base is the quaternion recorded as the base quaternion when the user chose to reset heading, and if Q last is the last measured quaternion value from the headset, an application should pass the following values to the HOA library mixersetquaternion function: Q r = Q base r Q last r + Q base i Q last i + Q base j Q last j + Q base k Q last k Q i = Q base r Q last i Q base i Q last r Q base j Q last k + Q base k Q last j Q j = Q base r Q last j + Q base i Q last k Q base j Q last r Q base k Q last i Q k = Q base r Q last k Q base i Q last j + Q base j Q last i Q base k Q last r 6 Display in OpenGL Rotations measured from the headset can also be used to display a head (or headset) 3D-model on the screen. In this case it is assumed that the application will use the OpenGL library. This section provides instructions to apply rotations in the OpenGL environment so that the 3D-model display follows the movements of the user's head. 6.1 Quaternions Quaternions are used by converting them into an OpenGL rotation matrix, then multiplying this matrix with the current matrix using the glmultmatrix function. First, a switch of axis and orientation is necessary to make quaternions use the same axis reference as OpenGL: If a, b, c, d are the coefficients to use to create the rotation matrix, we define them as a = q r b = q k c = -q i d = -q j The rotation matrix is then calculated as follow, using the formula found in Wikipedia at rix_representation. The OpenGL matrix is a 4x4 matrix, we therefore extend the formula in Wikipedia from a 3x3 matrix to 4x4 by adding the identity coefficients (they correspond to a null translation), and considering that it is expressed as an array M of 16 values in column-order, it Revision #1 Page 7/8
8 gives: m 0 = a a + b b - c c d d m 1 = b c + a d m = b d a c m 3 = 0 m 4 = b c a d m 5 = a a - b b + c c d d m 6 = c d + a b m 7 = 0 m 8 = b d + a c m 9 = c d a b m 10 = a a - b b - c c + d d m 11 = 0 m 1 = 0 m 13 = 0 m 14 = 0 m 15 = 1 6. Euler angles These are applied to the OpenGL environment using the glrotate function. To apply a rotation of angle (Yaw, Pitch, Roll) do the following: glrotate(yaw, 0, 1.0, 0) glrotate(pitch, 1.0, 0, 0) glrotate(-roll, 0, 0, 1.0) To apply the opposite of that rotation, calls to glrotate must be reversed: glrotate(roll, 0, 0, 1.0) glrotate(-pitch, 1.0, 0, 0) glrotate(-yaw, 0, 1.0, 0) Revision #1 Page 8/8
Quaternions & 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 information3D Rotation for Flight Simulator - Google Earth Application R.P. McElrath, October, 2015
3D Rotation for Flight Simulator - Google Earth Application R.P. McElrath, October, 015 Camera rotation for the Flight Simulator - Google Earth (G.E.) swivel cam application can be computed using either
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 informationLecture «Robot Dynamics»: Kinematics 2
Lecture «Robot Dynamics»: Kinematics 2 151-851- V lecture: CAB G11 Tuesday 1:15 12:, every week exercise: HG G1 Wednesday 8:15 1:, according to schedule (about every 2nd week) office hour: LEE H33 Friday
More informationVector Calculus: Understanding the Cross Product
University of Babylon College of Engineering Mechanical Engineering Dept. Subject : Mathematics III Class : 2 nd year - first semester Date: / 10 / 2016 2016 \ 2017 Vector Calculus: Understanding the Cross
More information+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x
Rotation Matrices and Rotated Coordinate Systems Robert Bernecky April, 2018 Rotated Coordinate Systems is a confusing topic, and there is no one standard or approach 1. The following provides a simplified
More informationVisualisation Pipeline : The Virtual Camera
Visualisation Pipeline : The Virtual Camera The Graphics Pipeline 3D Pipeline The Virtual Camera The Camera is defined by using a parallelepiped as a view volume with two of the walls used as the near
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 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 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 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 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 informationThe Importance of Matrices in the DirectX API. by adding support in the programming language for frequently used calculations.
Hermann Chong Dr. King Linear Algebra Applications 28 November 2001 The Importance of Matrices in the DirectX API In the world of 3D gaming, there are two APIs (Application Program Interface) that reign
More informationRotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011
Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri
More informationGeometric Transformations
Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication
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 informationSomething noteworthy
Something noteworthy Very very noteworthy OpenGL postmultiply each new transformation matrix M = M x Mnew Example: perform translation, then rotation 0) M = Identity 1) translation T(tx,ty,0) -> M = M
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 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 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 informationCoordinate 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 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 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 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 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 informationTransforms 1 Christian Miller CS Fall 2011
Transforms 1 Christian Miller CS 354 - Fall 2011 Transformations What happens if you multiply a square matrix and a vector together? You get a different vector with the same number of coordinates These
More informationAttitude Representation
Attitude Representation Basilio Bona DAUIN Politecnico di Torino Semester 1, 015-16 B. Bona (DAUIN) Attitude Representation Semester 1, 015-16 1 / 3 Mathematical preliminaries A 3D rotation matrix R =
More informationIMAGE-BASED RENDERING AND ANIMATION
DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More informationSection 7.6 Graphs of the Sine and Cosine Functions
Section 7.6 Graphs of the Sine and Cosine Functions We are going to learn how to graph the sine and cosine functions on the xy-plane. Just like with any other function, it is easy to do by plotting points.
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 informationTo do this the end effector of the robot must be correctly positioned relative to the work piece.
Spatial Descriptions and Transformations typical robotic task is to grasp a work piece supplied by a conveyer belt or similar mechanism in an automated manufacturing environment, transfer it to a new position
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 informationGeometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation
Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns 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 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 informationMonday, 12 November 12. Matrices
Matrices Matrices Matrices are convenient way of storing multiple quantities or functions They are stored in a table like structure where each element will contain a numeric value that can be the result
More informationTrigonometric ratios provide relationships between the sides and angles of a right angle triangle. The three most commonly used ratios are:
TRIGONOMETRY TRIGONOMETRIC RATIOS If one of the angles of a triangle is 90º (a right angle), the triangle is called a right angled triangle. We indicate the 90º (right) angle by placing a box in its corner.)
More informationSecondary Math 3- Honors. 7-4 Inverse Trigonometric Functions
Secondary Math 3- Honors 7-4 Inverse Trigonometric Functions Warm Up Fill in the Unit What You Will Learn How to restrict the domain of trigonometric functions so that the inverse can be constructed. How
More informationEE 267 Virtual Reality Course Notes: 3-DOF Orientation Tracking with IMUs
EE 67 Virtual Reality Course Notes: 3-DOF Orientation Tracking with IMUs Gordon Wetzstein gordon.wetzstein@stanford.edu Updated on: September 5, 017 This document serves as a supplement to the material
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 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 informationComputing tilt measurement and tilt-compensated e-compass
DT0058 Design tip Computing tilt measurement and tilt-compensated e-compass By Andrea Vitali Main components LSM303AGR LSM303C LSM303D Ultra compact high-performance e-compass: ultra-low-power 3D accelerometer
More informationJorg s Graphics Lecture Notes Coordinate Spaces 1
Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space
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 informationRational Numbers: Graphing: The Coordinate Plane
Rational Numbers: Graphing: The Coordinate Plane A special kind of plane used in mathematics is the coordinate plane, sometimes called the Cartesian plane after its inventor, René Descartes. It is one
More informationMath 231E, Lecture 34. Polar Coordinates and Polar Parametric Equations
Math 231E, Lecture 34. Polar Coordinates and Polar Parametric Equations 1 Definition of polar coordinates Let us first recall the definition of Cartesian coordinates: to each point in the plane we can
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 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 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 informationSection 6.2 Graphs of the Other Trig Functions
Section 62 Graphs of the Other Trig Functions 369 Section 62 Graphs of the Other Trig Functions In this section, we will explore the graphs of the other four trigonometric functions We ll begin with the
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 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 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 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 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 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 informationSummer Review for Students Entering Pre-Calculus with Trigonometry. TI-84 Plus Graphing Calculator is required for this course.
1. Using Function Notation and Identifying Domain and Range 2. Multiplying Polynomials and Solving Quadratics 3. Solving with Trig Ratios and Pythagorean Theorem 4. Multiplying and Dividing Rational Expressions
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 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 informationInteresting Application. Linear Algebra
MATH 308A PROJECT: An Interesting Application of Linear Algebra Produced by: Kristen Pilawski Math 308 A Professor James King Fall 2001 Application: Space Shuttle Control Systems Abstract: This report
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 informationComputation of Slope
Computation of Slope Prepared by David R. Maidment and David Tarboton GIS in Water Resources Class University of Texas at Austin September 2011, Revised December 2011 There are various ways in which slope
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 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 informationVertical Line Test a relationship is a function, if NO vertical line intersects the graph more than once
Algebra 2 Chapter 2 Domain input values, X (x, y) Range output values, Y (x, y) Function For each input, there is exactly one output Example: Vertical Line Test a relationship is a function, if NO vertical
More informationReflection (M): Reflect simple plane figures in horizontal or vertical lines;
IGCSE - Extended Mathematics Transformation Content: Transformation: Reflection (M): Reflect simple plane figures in horizontal or vertical lines; Rotation (R): Rotate simple plane figures about the origin,
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 informationComplex Numbers, Polar Equations, and Parametric Equations. Copyright 2017, 2013, 2009 Pearson Education, Inc.
8 Complex Numbers, Polar Equations, and Parametric Equations Copyright 2017, 2013, 2009 Pearson Education, Inc. 1 8.2 Trigonometric (Polar) Form of Complex Numbers The Complex Plane and Vector Representation
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 informationME 115(a): Final Exam (Winter Quarter 2009/2010)
ME 115(a): Final Exam (Winter Quarter 2009/2010) Instructions 1. Limit your total time to 5 hours. That is, it is okay to take a break in the middle of the exam if you need to ask a question, or go to
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 informationCT5510: Computer Graphics. Transformation BOCHANG MOON
CT5510: Computer Graphics Transformation BOCHANG MOON 2D Translation Transformations such as rotation and scale can be represented using a matrix M.., How about translation? No way to express this using
More information