1 Historical Notes. Kinematics 5: Quaternions

Size: px
Start display at page:

Download "1 Historical Notes. Kinematics 5: Quaternions"

Transcription

1 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 for years and the answer came to him in a flash of insight. The essence of the required properties of quaternions: 1 i 2 j 2 k 2 ijk 1 was supposedly scratched into a bridge in Dublin lest it be forgot. Quaternions share all of the properties of the real and complex numbers with the exception of the commutativity of multiplication. They can be used to represent affine transformations and projections - everything that a Homogeneous transform can represent. 1. There is always a story. Kalman supposedly invented his famous filter on a European train in a flash of insight.

2 1.1 Why Use Em? They are the only way to solve some problems - like the problem of generating regularly spaced 3D angles. They are the simplest way to solve other problems. Some problems in registration for example, can be solved in closed form. They are the fastest way to solve some problems. The quaternion loop in an inertial navigation system updates vehicle attitude 1000 times a second. 2 Representations and Notation 2 1.1Why Use Em? 2 Representations and Notation More than half of the confusion about quaternions is caused by all the different notations in use. Hamilton liked to represent quaternions as 4- tuples like so: ( q 0,,, ) Quaternions can also be viewed as hypercomplex numbers 1 with one real and 3 imaginary parts: q q 0 + i+ j+ k where i,j,k are called the principle imaginaries or quaternionic units. In this form, they can be manipulated as if they were polynomials in the variables i,j,k. 1. Even longer hypercomplex numbers like octernions have been defined. Generally in 1884, H. G.Grassman defined: q ae 1 + be 2 + ce 3 + de 4 + as a hypercomplex number where the e i s are the fundamental units. If these objects are to be treated like polynomials and the product of two such objects is to remain such an object, then a multiplication table similar to the quaternion table is necessary.

3 Compare this with standard complex numbers of the form: q q 0 + i Alternately, some people write them as the sum 1 of a traditional scalar and a traditional 3-vector: q q+ q where: q q 0 and: q i+ j+ k 2 Representations and Notation 3 1.1Why Use Em? Others write them as an ordered pair of real and complex parts: ( qq, ) By analogy to the exponential notation of complex numbers z e iθ, mathematicians have often used exponential notation. Thus: q e means the quaternion for a rotation by the angle θ about the axis w θw 1. What does it mean to add the two elements a and bi?. It means close to nothing. This sum is the same sum notation used in complex numbers and polynomials. It means these two things are treated together as a unit. The number a + bi is just notation for the ordered pair ( ab, ) and we will never ask for a + bi to be simplified by actually adding these things together. The sum is considered to the simplest form because the components themselves cannot be added. The sum does, however, have a function when the law of distribution is invoked.

4 3 Properties Quaternions are elements of a vector space which is endowed with multiplication 1. By this we mean that the product of two quaternions is defined. Ideally, we would like the product of two quaternions to be a quaternion. If we also want to be able to treat them as polynomials in i,j,k, then an expression like: p q ( p 0 + p 1 i+ p 2 j + p 3 k) ( q 0 + i + j+ k) 3 Properties 4 1.1Why Use Em? multiplies out to be the sum of all the elements in the following table: Table 1: Quaternion Multiplication q 0 i j k p 0 p 0 q 0 p 0 i p 0 j p 0 k p 1 i p 1 q 0 i p 1 i 2 p 1 ij p 1 ik p 2 j p 2 q 0 j p 2 ji p 2 j 2 p 2 jk p 3 k p 3 q 0 k p 3 ki p 3 kj p 3 k 2 i 2 For this to be a quaternion, the terms like and jk must somehow turn into scalars or singletons in the imaginaries like k. In fact, the rules that apply are as follows: Table 2: Quaternion Multiplication Table i j k i -1 k -j 1. There are at least 5 types of products defined on vectors. Scalar multiplication is defined so that kv changes the length of the vector v but not its direction. The dot (or scalar ) product a b produces a scalar from two vectors. The vector (or cross ) product a b produces a vector from two vectors. The outer product is the matrix product ab T. The quaternion product is the fifth. It produces a quaternion from two quaternions so it is similar to the vector cross product. j -k -1 i k j -i -1

5 and these are a consequence of the more compact rule: i 2 j 2 k 2 ijk 1 The table is easy to remember. The offdiagonal elements are the same rules associated with the vector cross product and the diagonal elements are the extension of the rule for complex numbers 1. It is convenient at different times to visualize quaternions in different ways. It is useful to switch back and forth between viewing them as: complex numbers 4-vectors in matrix algebra. the sum of a scalar and a 3-vector polynomials in the variables i,j,k Quaternions are generalizations of familiar number systems because the reals and the complex numbers are embedded in them. By 1. Self multiplication of the principle imaginaries does not follow the rules for the cross product because i i 0 whereas ii 1. 3 Properties 5 3.1Quaternion Product this we mean that a scalar and a complex number are special cases of quaternions and legitimate forms of quaternions. 3.1 Quaternion Product Ways to write the product of two quaternions depend on the notation used but all are equivalent. In hypercomplex number form: p q ( p 0 + p 1 i + p 2 j + p 3 k) ( q 0 + i + p 2 j + p 3 k) p q ( p 0 q 0 p 1 p 2 p 3 ) + ( )i + In scalar-vector form, this same result can be written as follows: p q ( p + p) ( q+ q) p q pq + pq + qp + pq The first three terms are easy to interpret. The last term can be written in terms of both the dot and cross products: pq p q p q

6 Thus, the quaternion product can be thought of as a superset of these operations. It is convenient to summarize this result like so: p q pq p q + pq + qp + p q Because the cross product does not commute, the quaternion product also does not commute. In general: p q q p 3.2 Quaternion Addition Quaternion addition follows the same pattern as complex numbers, vectors, and polynomials - we add them element by element: p + q ( p 0 + q 0 ) + ( p 1 + )i + ( p 2 + )j + ( p 3 + )k 3 Properties 6 3.2Quaternion Addition 3.3 Distributivity A very important property is that of distributivity: ( p + q )r p r + q r p ( q + r ) p q + p r Many derivations involving quaternions become easy due to this property. 3.4 Quaternion Dot Product & Norm We can define a dot product on quaternions (not to be confused with the quaternion product): p q pq + p q which is just the sum of pairwise products as if we were taking the norm of a 4 dimensional vector. Given this, the quaternion norm (equivalent of length) is defined as: q q q

7 3.5 Unit Quaternions A quaternion whose norm is 1 is called a unit quaternion. Note that the product of two unit quaternions is a unit quaternion so unit quaternions constitute a subgroup of general quaternions. 3.6 Quaternion Conjugate As for complex numbers, the conjugate of a quaternion is formed by reversing the sign of the complex part: q * q q Using the product equation, several things cancel in the quaternion product with the conjugate leaving: q q * ( qq + q q) q q which is the same result as the dot product. Thus, we have a second way to get the norm of a quaternion: q q q * 3 Properties 7 3.5Unit Quaternions 3.7 Quaternion Inverse More importantly this is now a quaternion product (not a dot product) which produces a scalar. Since scalars are perfectly legitimate quaternions, this is OK. Don t assume that a quaternion must have vector or complex part. The multiplicative inverse of a quaternion (or anything else) is the thing which, when multiplied by it, produces unity: q q 1 1 Since: q q * q 2 1 we have the multiplicative inverse of a quaternion as 1 : q 1 q * q 2 1. This result is huge. Remember the question that Hamilton pondered for years was how do I divide a 3 vector by another? An equivalent question is What is the (multiplicative) inverse of a quaternion? We have the answer here.

8 3.8 Conjugate of the Product The product of two conjugates is the same as conjugate of the product in the opposite order: p *q * ( p p) ( q q) ( pq + p q) + ( pq qp + p q) ( q p ) * [( q+ q) ( p + p) ] * [( qp + q p) + ( qp + pq + q p) ] * [( qp + q p) + ( qp pq q p) ] ( pq + p q) + ( pq qp + p q) That is: ( q p ) * p *q * This is useful is several proofs. 4 Representing 3D Rotations 8 3.8Conjugate of the Product 4 Representing 3D Rotations 3D rotations can be represented conveniently in terms of unit quaternions. The quaternion: θ θ q cos-- + ŵsin can be interpreted to represent a rotation operator in 3D by the angle θ about the (unit vector) axis ŵ. Note that ŵ is now being interpreted as a vector in 3D rather than a hypercomplex number. That was the conversion from axis-angle ( θ, ŵ) notation to quaternion. Clearly, the inverse is: θ 2atan2( q, q) ŵ q q Taking the negative q represents the same rotation (opposite direction about the negative

9 vector) whereas taking the conjugate q * produces the inverse rotation. Let us quaternize a vector x by making it the vector part of an associated quaternion: x 0 + x This vector can be operated upon by a unit quaternion thus: x ' q x q * and this will have a zero scalar part like the original x. Finally, the punch line is this. Because rotation is accomplished by a quaternion product, and because quaternion products are associative, it follows that compound rotation operations are formed by multiplying the two unit quaternions: x '' p x ' p * ( p q )x ( q *p * ) 4 Representing 3D Rotations 9 4.1Rotation Matrix Equivalent product ( p q ) rotates a vector first by q and then by p. 4.1 Rotation Matrix Equivalent Of course, we know that a matrix can also implement a general 3D rotation operator. Therefore, there must be a way to compute the matrix from the quaternion and vice versa. For the quaternion: q q 0 + i+ j+ k the equivalent 3D rotation matrix is: R 2 2 2[ q 0 + ] 1 2[ q 0 ] 2[ + q 0 ] 2 2 2[ + q 0 ] 2[ q 0 + ] 1 2[ q 0 ] 2 2 2[ q 0 ] 2[ q 0 + ] 2[ q 0 + ] 1 This is tedious but easy to show if you are organized in your algebra by expanding q x q * and collecting like terms. Using the earlier result for the product of two conjugates, we have shown that the

10 The inverse problem is also solvable. Suppose we have the matrix: R r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 Can we equate this to the last result and solve for the quaternion elements? You bet. Notice that: r 32 r 23 2q 0 r 32 + r 23 2 r 13 r 31 2q 0 r 13 + r 31 2 r 21 r 12 2q 0 r 21 + r 12 2 If one of the q i is known, the rest can be determined from these equations. We can find 4 Representing 3D Rotations Rotation Matrix Equivalent one q i from combinations of the diagonal elements: 2 r 11 + r 22 + r 33 4q r 11 r 22 r 33 4 r 11 r 22 r 33 These equations assume the original quaternion was a unit quaternion but the general solution is not much harder to derive. In practice any of these can be zero, so the largest of these is computed and used to find the others using the earlier equations. We determine only one q i using the second set to get the signs right. The sign of any one q i can be assigned arbitrarily since the negative of a quaternion represents the same rotation r 11 r 22 + r

11 5 Summary Quaternions are hypercomplex numbers which are useful in practice for modelling 3D rotations. There are several notations in use and several ways to interpret what they mean. Its helps to be able to switch back and forth between all of them. There are conversion formulas between quaternion and matrix representations of 3D rotations. 5 Summary Rotation Matrix Equivalent 6 References [1] BKP Horn, Robot Vision, MIT Press / McGraw-Hill, pp [2] E Pervin, and J Webb, Quaternions in Computer Vision and Robotics, CMU-CS [3] H. Eves, Foundations and Fundamental Concepts of Mathematics, 3rd Ed. Dover. [4] W. R. Hamilton, Elements of Quaternions, Chelsea, New York, 1969.

12 7 Notes Rotation Matrix Equivalent 7 Notes Add something on democracy of unit vectors. See Pervin. Add something on how translations can be done by quaternions as well. Do an example of an INS quaternion loop.

Quaternion Rotations AUI Course Denbigh Starkey

Quaternion 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 information

Quaternions and Rotations

Quaternions 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 information

Introduction to quaternions. Mathematics. Operations

Introduction 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 information

Quaternions & Octonions Made Easy. A Series Illustrating Innovative Forms of the Organization & Exposition of Mathematics by Walter Gottschalk

Quaternions & 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 information

3D 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. 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 information

CMSC 425: Lecture 6 Affine Transformations and Rotations

CMSC 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 information

Quaternions and Rotations

Quaternions 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 information

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Transformation. 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 information

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

ME 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 information

12.1 Quaternions and Rotations

12.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 information

Quaternions and Rotations

Quaternions 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 information

Quaternions and Rotations

Quaternions 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 information

CS354 Computer Graphics Rotations and Quaternions

CS354 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 information

3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016

3D 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 information

3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017

3D 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 information

CS770/870 Spring 2017 Quaternions

CS770/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 information

CS612 - Algorithms in Bioinformatics

CS612 - 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 information

Quaternions and Euler Angles

Quaternions 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 information

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation Chapter 7 Introduction to Matrices This chapter introduces the theory and application of matrices. It is divided into two main sections. Section 7.1 discusses some of the basic properties and operations

More information

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b

a 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 information

3D Kinematics. Consists of two parts

3D 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 information

Quaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods

Quaternion 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 information

Quaternions. Mike Bailey. A Useful Concept: Spherical Linear Interpolation. sin(1 t) sin t

Quaternions. Mike Bailey. A Useful Concept: Spherical Linear Interpolation. sin(1 t) sin t 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

More information

Monday, 12 November 12. Matrices

Monday, 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 information

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z Basic Linear Algebra Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ 1 5 ] 7 9 3 11 Often matrices are used to describe in a simpler way a series of linear equations.

More information

Quaternions & Rotation in 3D Space

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 information

Quaternions: From Classical Mechanics to Computer Graphics, and Beyond

Quaternions: 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 information

Orientation & Quaternions

Orientation & 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 information

Rotation with Quaternions

Rotation 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 information

Transformations: 2D Transforms

Transformations: 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 information

Geometric 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 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 information

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics 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 information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 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 information

Anatomical Descriptions That Compute Functional Attributes

Anatomical 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 information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

Answers. Chapter 2. 1) Give the coordinates of the following points:

Answers. 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 information

Decimal Binary Conversion Decimal Binary Place Value = 13 (Base 10) becomes = 1101 (Base 2).

Decimal Binary Conversion Decimal Binary Place Value = 13 (Base 10) becomes = 1101 (Base 2). DOMAIN I. NUMBER CONCEPTS Competency 00 The teacher understands the structure of number systems, the development of a sense of quantity, and the relationship between quantity and symbolic representations.

More information

Quaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication

Quaternion 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 information

Affine Transformation. Edith Law & Mike Terry

Affine Transformation. Edith Law & Mike Terry Affine Transformation Edith Law & Mike Terry Graphic Models vs. Images Computer Graphics: the creation, storage and manipulation of images and their models Model: a mathematical representation of an image

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

MA 1128: Lecture 02 1/22/2018

MA 1128: Lecture 02 1/22/2018 MA 1128: Lecture 02 1/22/2018 Exponents Scientific Notation 1 Exponents Exponents are used to indicate how many copies of a number are to be multiplied together. For example, I like to deal with the signs

More information

METR 4202: Advanced Control & Robotics

METR 4202: Advanced Control & Robotics Position & Orientation & State t home with Homogenous Transformations METR 4202: dvanced Control & Robotics Drs Surya Singh, Paul Pounds, and Hanna Kurniawati Lecture # 2 July 30, 2012 metr4202@itee.uq.edu.au

More information

2D transformations: An introduction to the maths behind computer graphics

2D transformations: An introduction to the maths behind computer graphics 2D transformations: An introduction to the maths behind computer graphics Lecturer: Dr Dan Cornford d.cornford@aston.ac.uk http://wiki.aston.ac.uk/dancornford CS2150, Computer Graphics, Aston University,

More information

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number

More information

QUATERNIONS AND ROTATIONS

QUATERNIONS 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 information

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation

CS 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 information

BASIC 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 GEOMETRY 1 OBJECTIVES Introduce the elements of geometry Scalars Vectors Points Look at the mathematical operations among them Define basic primitives Line segments Polygons Look at some uses for these

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Lecture Note 3: Rotational Motion

Lecture 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 information

2-9 Operations with Complex Numbers

2-9 Operations with Complex Numbers 2-9 Operations with Complex Numbers Warm Up Lesson Presentation Lesson Quiz Algebra 2 Warm Up Express each number in terms of i. 1. 9i 2. Find each complex conjugate. 3. 4. Find each product. 5. 6. Objective

More information

Equations and Functions, Variables and Expressions

Equations and Functions, Variables and Expressions Equations and Functions, Variables and Expressions Equations and functions are ubiquitous components of mathematical language. Success in mathematics beyond basic arithmetic depends on having a solid working

More information

Algebra II Radical Equations

Algebra II Radical Equations 1 Algebra II Radical Equations 2016-04-21 www.njctl.org 2 Table of Contents: Graphing Square Root Functions Working with Square Roots Irrational Roots Adding and Subtracting Radicals Multiplying Radicals

More information

Inertial Measurement Units II!

Inertial 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 information

MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

More information

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011

Rotation 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 information

EECE 478. Learning Objectives. Learning Objectives. Linear Algebra and 3D Geometry. Linear algebra in 3D. Coordinate systems

EECE 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 information

Linear Transformations

Linear Transformations Linear Transformations The two basic vector operations are addition and scaling From this perspective, the nicest functions are those which preserve these operations: Def: A linear transformation is a

More information

Animation. The Alpha and Interpolator of Java 3D

Animation. 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 information

Vector Calculus: Understanding the Cross Product

Vector 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

Quaternions and Exponentials

Quaternions 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 information

Operator Overloading. a flop = a floating-point operation overloading arithmetical operators counting number of flops in a sum

Operator Overloading. a flop = a floating-point operation overloading arithmetical operators counting number of flops in a sum Operator Overloading 1 OOP to count Flops a flop = a floating-point operation overloading arithmetical operators counting number of flops in a sum 2 Quaternions hypercomplex numbers application in computer

More information

Quaternions and Dual Coupled Orthogonal Rotations in Four-Space

Quaternions 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 information

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras. Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology Madras Lecture No # 06 Simplex Algorithm Initialization and Iteration (Refer Slide

More information

2D and 3D Transformations AUI Course Denbigh Starkey

2D and 3D Transformations AUI Course Denbigh Starkey 2D and 3D Transformations AUI Course Denbigh Starkey. Introduction 2 2. 2D transformations using Cartesian coordinates 3 2. Translation 3 2.2 Rotation 4 2.3 Scaling 6 3. Introduction to homogeneous coordinates

More information

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways.

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways. Grade 9 IGCSE A1: Chapter 9 Matrices and Transformations Materials Needed: Straightedge, Graph Paper Exercise 1: Matrix Operations Matrices are used in Linear Algebra to solve systems of linear equations.

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING 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 information

Visual Recognition: Image Formation

Visual 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 information

PSE 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 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 information

Animation. Animation

Animation. 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 information

CS 204 Lecture Notes on Elementary Network Analysis

CS 204 Lecture Notes on Elementary Network Analysis CS 204 Lecture Notes on Elementary Network Analysis Mart Molle Department of Computer Science and Engineering University of California, Riverside CA 92521 mart@cs.ucr.edu October 18, 2006 1 First-Order

More information

Quadratic Equations over Matrices over the Quaternions. By Diana Oliff Mentor: Professor Robert Wilson

Quadratic Equations over Matrices over the Quaternions. By Diana Oliff Mentor: Professor Robert Wilson Quadratic Equations over Matrices over the Quaternions By Diana Oliff Mentor: Professor Robert Wilson Fields A field consists of a set of objects S and two operations on this set. We will call these operations

More information

Visualizing Quaternion Multiplication

Visualizing 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 information

Parallel and perspective projections such as used in representing 3d images.

Parallel and perspective projections such as used in representing 3d images. Chapter 5 Rotations and projections In this chapter we discuss Rotations Parallel and perspective projections such as used in representing 3d images. Using coordinates and matrices, parallel projections

More information

I can solve simultaneous equations algebraically, where one is quadratic and one is linear.

I can solve simultaneous equations algebraically, where one is quadratic and one is linear. A* I can manipulate algebraic fractions. I can use the equation of a circle. simultaneous equations algebraically, where one is quadratic and one is linear. I can transform graphs, including trig graphs.

More information

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology Intermediate Algebra Gregg Waterman Oregon Institute of Technology c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

More information

Section 1.1 Definitions and Properties

Section 1.1 Definitions and Properties Section 1.1 Definitions and Properties Objectives In this section, you will learn to: To successfully complete this section, you need to understand: Abbreviate repeated addition using Exponents and Square

More information

Vector Algebra Transformations. Lecture 4

Vector 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 information

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

3D 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 information

Linear Algebra Part I - Linear Spaces

Linear Algebra Part I - Linear Spaces Linear Algebra Part I - Linear Spaces Simon Julier Department of Computer Science, UCL S.Julier@cs.ucl.ac.uk http://moodle.ucl.ac.uk/course/view.php?id=11547 GV01 - Mathematical Methods, Algorithms and

More information

Fundamentals of 3D. Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees)

Fundamentals of 3D. Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees) INF555 Fundamentals of 3D Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees) Frank Nielsen nielsen@lix.polytechnique.fr Harris-Stephens' combined corner/edge

More information

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

Chapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal.

Chapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal. Chapter 8 out of 7 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal 8 Matrices Definitions and Basic Operations Matrix algebra is also known

More information

CS184: Using Quaternions to Represent Rotation

CS184: 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 information

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

More information

DIHEDRAL GROUPS KEITH CONRAD

DIHEDRAL GROUPS KEITH CONRAD DIHEDRAL GROUPS KEITH CONRAD 1. Introduction For n 3, the dihedral group D n is defined as the rigid motions 1 of the plane preserving a regular n-gon, with the operation being composition. These polygons

More information

COMP 558 lecture 19 Nov. 17, 2010

COMP 558 lecture 19 Nov. 17, 2010 COMP 558 lecture 9 Nov. 7, 2 Camera calibration To estimate the geometry of 3D scenes, it helps to know the camera parameters, both external and internal. The problem of finding all these parameters is

More information

CGF Lecture 2 Numbers

CGF Lecture 2 Numbers CGF Lecture 2 Numbers Numbers A number is an abstract entity used originally to describe quantity. i.e. 80 Students etc The most familiar numbers are the natural numbers {0, 1, 2,...} or {1, 2, 3,...},

More information

EC121 Mathematical Techniques A Revision Notes

EC121 Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes Mathematical Techniques A begins with two weeks of intensive revision of basic arithmetic and algebra, to the level

More information

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

3D 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 information

Solving the Kinematics of Planar Mechanisms. Jassim Alhor

Solving the Kinematics of Planar Mechanisms. Jassim Alhor Solving the Kinematics of Planar Mechanisms Jassim Alhor Table of Contents 1.0 Introduction 3 2.0 Methodology 3 2.1 Modeling in the Complex Plane 4 2.2 Writing the Loop Closure Equations 4 2.3 Solving

More information

Introduction to Boolean Algebra

Introduction to Boolean Algebra Introduction to Boolean Algebra Boolean algebra which deals with two-valued (true / false or and ) variables and functions find its use in modern digital computers since they too use two-level systems

More information

Lecture «Robot Dynamics»: Kinematics 2

Lecture «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 information

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms

Computer 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 information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

Transformations. 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 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 information

Visualizing Quaternions

Visualizing 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 information

CHAPTER 6 Parametric Spline Curves

CHAPTER 6 Parametric Spline Curves CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic

More information

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture

Hello, 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 information

Introduction to Boolean Algebra

Introduction to Boolean Algebra Introduction to Boolean Algebra Boolean algebra which deals with two-valued (true / false or and ) variables and functions find its use in modern digital computers since they too use two-level systems

More information