Rotation Matrices and Homogeneous Transformations



Similar documents
Adding vectors We can do arithmetic with vectors. We ll start with vector addition and related operations. Suppose you have two vectors

Lecture L3 - Vectors, Matrices and Coordinate Transformations

The Vector or Cross Product

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus

TWO-DIMENSIONAL TRANSFORMATION

Geometric Transformation CS 211A

Basic CAD/CAM. CHAPTER 5: Geometric Transformation

Cross product and determinants (Sect. 12.4) Two main ways to introduce the cross product

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

Least-Squares Intersection of Lines

2D Geometric Transformations

SECOND DERIVATIVE TEST FOR CONSTRAINED EXTREMA

Introduction to Matrix Algebra

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

13 MATH FACTS a = The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

1 of 79 Erik Eberhardt UBC Geological Engineering EOSC 433

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

[1] Diagonal factorization

9 MATRICES AND TRANSFORMATIONS

v w is orthogonal to both v and w. the three vectors v, w and v w form a right-handed set of vectors.

Linear Algebra Notes for Marsden and Tromba Vector Calculus

Chapter 6. Linear Transformation. 6.1 Intro. to Linear Transformation

Vector Math Computer Graphics Scott D. Anderson

v 1 v 3 u v = (( 1)4 (3)2, [1(4) ( 2)2], 1(3) ( 2)( 1)) = ( 10, 8, 1) (d) u (v w) = (u w)v (u v)w (Relationship between dot and cross product)

MATH 304 Linear Algebra Lecture 20: Inner product spaces. Orthogonal sets.

Unified Lecture # 4 Vectors

A vector is a directed line segment used to represent a vector quantity.

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Mechanical Properties - Stresses & Strains

Recall the basic property of the transpose (for any A): v A t Aw = v w, v, w R n.

Systems of Linear Equations

Linear Algebra: Vectors

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Linear Algebra Review. Vectors

5.3 The Cross Product in R 3

Section 9.1 Vectors in Two Dimensions

The Matrix Elements of a 3 3 Orthogonal Matrix Revisited

Math 241, Exam 1 Information.

Chapter 6. Orthogonality

Chapter 17. Orthogonal Matrices and Symmetries of Space

Similarity and Diagonalization. Similar Matrices

Computing Orthonormal Sets in 2D, 3D, and 4D

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

Lecture L26-3D Rigid Body Dynamics: The Inertia Tensor

3. Let A and B be two n n orthogonal matrices. Then prove that AB and BA are both orthogonal matrices. Prove a similar result for unitary matrices.

MATH2210 Notebook 1 Fall Semester 2016/ MATH2210 Notebook Solving Systems of Linear Equations... 3

THREE DIMENSIONAL GEOMETRY

Solving Simultaneous Equations and Matrices

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Dot product and vector projections (Sect. 12.3) There are two main ways to introduce the dot product

Mathematics Course 111: Algebra I Part IV: Vector Spaces

LINEAR MAPS, THE TOTAL DERIVATIVE AND THE CHAIN RULE. Contents

Lectures notes on orthogonal matrices (with exercises) Linear Algebra II - Spring 2004 by D. Klain

521493S Computer Graphics. Exercise 2 & course schedule change

1 VECTOR SPACES AND SUBSPACES

NOTES ON LINEAR TRANSFORMATIONS

Vector and Matrix Norms

AP Physics - Vector Algrebra Tutorial

Lecture 3: Coordinate Systems and Transformations

Section V.3: Dot Product

Solving Systems of Linear Equations

Linear Algebra Notes

Orthogonal Projections

Elementary Matrices and The LU Factorization

Equations Involving Lines and Planes Standard equations for lines in space

Math 215 HW #6 Solutions

Essential Mathematics for Computer Graphics fast

Fundamentals of Computer Animation

Lecture 2 Matrix Operations

LINEAR ALGEBRA W W L CHEN

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi

Excel supplement: Chapter 7 Matrix and vector algebra

Abstract: We describe the beautiful LU factorization of a square matrix (or how to write Gaussian elimination in terms of matrix multiplication).

Continuous Groups, Lie Groups, and Lie Algebras

Solutions to Math 51 First Exam January 29, 2015

MATH 304 Linear Algebra Lecture 18: Rank and nullity of a matrix.

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

Geometric Camera Parameters

2. SPATIAL TRANSFORMATIONS

A =

Here are some examples of combining elements and the operations used:

Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A.

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.

Inner Product Spaces

Chapter 7. Matrices. Definition. An m n matrix is an array of numbers set out in m rows and n columns. Examples. (

1 Sets and Set Notation.

α = u v. In other words, Orthogonal Projection

Vector and Tensor Algebra (including Column and Matrix Notation)

x1 x 2 x 3 y 1 y 2 y 3 x 1 y 2 x 2 y 1 0.

GCE Mathematics (6360) Further Pure unit 4 (MFP4) Textbook

18.06 Problem Set 4 Solution Due Wednesday, 11 March 2009 at 4 pm in Total: 175 points.

Geometric Transformations

Inner Product Spaces and Orthogonality

9 Multiplication of Vectors: The Scalar or Dot Product

Question 2: How do you solve a matrix equation using the matrix inverse?

Eigenvalues, Eigenvectors, Matrix Factoring, and Principal Components

Section 1.1. Introduction to R n

Transcription:

Rotation Matrices and Homogeneous Transformations A coordinate frame in an n-dimensional space is defined by n mutually orthogonal unit vectors. In particular, for a two-dimensional (2D) space, i.e., n 2, a coordinate frame is defined by an X axis and a Y axis with these two axes being orthogonal to each other. The intersection between the X axis and the Y axis is the origin of the coordinate frame. For a three-dimensional (3D) space, i.e., n 3, a coordinate frame is defined by an X axis, a Y axis, and a Z axis, with each pair of these axes being orthogonal to each other. The X, Y, and Z axes meet at a point called the origin of the coordinate frame. Also, we will typically consider only right-handed coordinate frames, i.e., frames wherein the cross-product of the X axis unit vector and the Y axis unit vector is a unit vector in the Z axis direction. Given two coordinate frames (in either 2D or 3D spaces), there can, in general, be a translation (offset between the origins of the coordinate frames) and a rotation between the coordinate frames. Rotation matrices in 2D: Given two coordinate frames denoted as the frame and the frame, respectively, the rotation matrix defining the orientation of the frame in terms of the frame is defined as the 2 2 matrix R x.x y.x x.y y.y () where x and y denote the X axis and Y axis unit vectors of the frame and x and y denote the X axis and Y axis unit vectors of the frame. Note that the notation a.b with a and b being any vectors denotes the dot product of the vectors a and b. Also, note that the dot product of two vectors is a scalar number and the numerical value of the dot product is independent of the choice of coordinate frame in which the vectors are written. Hence, for example, the dot product x.x can be calculated in either the frame or the frame. Of course, whichever frame is used, the two vectors should both be written in the same frame, i.e., both in frame or both in frame. The numerical value obtained for the dot product would be the same in any choice of coordinate frame used for the calculation. Note that by the definition of the rotation matrix (), the columns of the rotation matrix are the unit vectors of the frame when written in terms of the frame. For example, the first column of R is the unit vector x written in terms of the coordinate frame. The second column of R is the unit vector y written in terms of the coordinate frame. Equivalently, note that x (x.x )x + (x.y )y and y (y.x )x + (y.y )y. As physical vector equations, these two equations hold independent of the choice of coordinate frame used to numerically represent the vectors (all the vectors in the equation should be written in the same frame though). When referring to the numerical representation of a vector in a particular coordinate frame, a superscript notation is utilized to show the choice of coordinate frame, e.g., x is the numerical representation of the vector x when written in terms of the frame; x is the numerical representation of the vector x when written in terms of the frame. Hence, we can write equations such as x (x.x )x + (x.y )y ; x (x.x )x + (x.y )y. (2) Since the dot product is independent of the coordinate frame utilized, the choice of coordinate frame is not explicitly marked for the vectors appearing in the dot products in the equations above. Using the definition of the rotation matrix R, we can also write equations such as [x, y ] [x, y ]R ; [x, y ] [x, y ]R. (3) Note that the matrices [x, y], [x, y], etc., in the equation above, are 2 2 matrices. Also, note that [x, y] and [x, y] are both 2 2 identity matrices. By the above definition of the rotation matrix, it can also be written that the rotation matrix defining the orientation of the frame in terms of the frame is given by R x.x y.x. (4) x.y y.y Note that the columns of R correspond to the unit vectors of the frame as written in terms of the coordinate frame. Since the dot product is commutative (i.e., given two vectors a and b, the dot product satisfies a.b b.a), the rotation matrix R is seen to be simply (R ) T. Also, as discussed above, since the columns of the rotation matrix R correspond to the unit vectors of the frame written in terms of the frame and the columns of the

rotation matrix R correspond to the unit vectors of the frame written in terms of the frame, we can write the equations [x, y ] [x, y ]R ; [x, y ] [x, y ]R. (5) Hence, [x, y ] [x, y ]R R. Since [x, y ] is the identity matrix, this implies that R R is the identity matrix. Also, it can be shown similarly that R R is the identity matrix. Hence, we see that R (R ). (6) But, since we know that R (R ) T as discussed above, we see that for any rotation matrix R R R T (7) Hence, for any rotation matrix R, we have the equation RR T R T R I. This property of the rotation matrix is called the orthogonality property. From the equation RR T I, we also see that (det(r)) 2, i.e., det(r) is either + or -. For a rotation matrix, det(r) has to be +. The possibility that det(r) is - corresponds to a reflection (e.g., switching direction of one axis while keeping the other axis fixed) and not a simple rotation by an angle. Hence, for rotation matrices, we have the property that det(r). From the property that RR T R T R I, we also see the following properties:. Each row of R is a unit vector. 2. Each column of R is a unit vector. 3. Any pair of different rows of R is mutually orthogonal. 4. Any pair of different columns of R is mutually orthogonal. Starting from a coordinate frame, if a coordinate frame is obtained by rotating by an angle θ, then it can be easily seen that x [cos(θ), sin(θ)] T and y [ sin(θ), cos(θ)] T. Hence, R cθ s θ (8) s θ c θ where c θ cos(θ) and s θ sin(θ). Rotation matrices in 3D: Rotation matrices in 3D space are 3 3 matrices that have very similar properties to the 2D rotation matrices discussed above. Given two coordinate frames and, the rotation matrix defining the orientation of the frame in terms of the frame is given by R x.x y.x z.x x.y y.y z.y (9) x.z y.z z.z where x, y, and z denote the X axis, Y axis, and Z axis unit vectors of the frame and x, y, and z denote the X axis, Y axis, and Z axis unit vectors of the frame. Note that the columns of the rotation matrix R correspond to the unit vectors of the coordinate frame as written in terms of the coordinate frame. The rotation matrix defining the orientation of the frame in terms of the frame can be written similarly as R x.x y.x z.x x.y y.y z.y () x.z y.z z.z As in the case of 2D rotation matrices, it can be shown that any rotation matrix R in 3D space satisfies the following properties:. R R T, i.e., RR T I. 2. det(r). 3. Each row of R is a unit vector. 2

4. Each column of R is a unit vector. 5. Any pair of different rows of R is mutually orthogonal. 6. Any pair of different columns of R is mutually orthogonal. As an example of a rotation matrix in 3D space, consider a rotation around the Z axis by an angle θ, i.e., the frame is obtained from the frame by rotating around the z axis by angle θ. Then, as far as the X and Y axes are concerned, it is simply a 2D rotation, i.e., the relation between the (x, y ) unit vectors and the (x, y ) unit vectors is as in a 2D rotation, i.e., x cos(θ)x + sin(θ)y and y sin(θ)x + cos(θ)y. Also, for a rotation around the Z axis, the Z axis would not change, i.e., z z. Hence, the 3 3 rotation matrix defining the orientation of the frame in terms of the frame is given by R c θ s θ s θ c θ () where c θ cos(θ) and s θ sin(θ). Note that the third row and the third column are both comprised of two zeros and a denoting the properties that x and y vectors do not have a non-zero component along the z vector and that the z vector is identical to the z vector. The rotation matrix given in () is called an elementary (or basic) rotation matrix since it is a simple rotation around one of the frame unit vectors (in this case, z ). The elementary rotation matrix () corresponding to a rotation around the Z axis by angle θ is denoted by R z,θ. Similarly, the elementary rotation matrix corresponding to a rotation around the X axis by angle θ is denoted by R z,θ and the elementary rotation matrix corresponding to a rotation around the Y axis by angle θ is denoted by R y,θ. The expressions for R x,θ and R y,θ can be written similar to the expression for R z,θ above. The elementary rotation matrices in 3D are given by R x,θ c θ s θ s θ c θ ; R y,θ c θ s θ s θ c θ ; R z,θ c θ s θ s θ c θ. (2) It is easily seen from these definitions of the elementary rotation matrices that for any elementary rotation matrix R k,θ where k can be any of the axes, the following properties are satisfied:. R k, I 2. R k,θ RT k,θ R k, θ 3. R k,θ R k,θ2 R k,θ+θ 2 for any angles θ and θ 2. Hence, the multiplication of the rotation matrices R k,θ and R k,θ2 is commutative, i.e., R k,θ R k,θ2 R k,θ2 R k,θ. However, in general, multiplication of two arbitrary rotation matrices R and R 2 is not commutative. Transforming the representations of a point between coordinate frames: Given any fixed point p in 3D space, it can be represented in any 3D coordinate frame as a set of three numbers that correspond to the coordinates of the point along the X, Y, and Z axes of the coordinate frame. The representation of a point p in terms of a coordinate frame a is written using the superscript notation as the 3 vector p a. For example, given a point p written numerically as coordinates (a, b, c ) relative to the frame, we have the equation p a x + b y + c z (3) holds. Note that this is a physical vector equation, i.e., holds in any choice of coordinate frame as long as all vector quantities in (3) are written in the same coordinate frame. Therefore, given any frame a, we have the equation p a [x a, y, a z a ] a b. (4) c In particular, taking frame a to be the frame, we get, as expected, p [x, y, z] a b a b c c (5) 3

since the 3 3 matrix [x, y, z] is simply the 3 3 identity matrix. Also, taking frame a to be the frame, we get p [x, y, z] a b c. (6) Note that the 3 3 matrix [x, y, z ] is simply the rotation matrix R by definition (from (9)). Hence, from (5) and (6), we get p R p. (7) As described above, given a point p, its representation in the frame a is denoted by a 3 vector p a in which the first, second, and third elements correspond to its coordinates with respect to the unit vectors x a, y a, and z a. Denoting the first, second, and third elements of p a by p a x, p a y, and p a z, we see that (assuming that the origin of the coordinate frame is numerically represented as [,, ] T ) p a x p.x a, p a y p.y a, and p a z p.z a. Using rotation matrices to denote physical rotation of an object: Consider a coordinate frame attached to a fixed reference (e.g., the ground) and a coordinate frame attached to a rigid body that can rotate relative to the fixed reference frame. Consider a point p on the rigid body (i.e., a fixed point relative to the rigid body). Then, its numerical coordinate representation p relative to the frame is a constant 3 vector. If the rigid body rotates relative to the fixed reference frame, then the corresponding orientation of the frame (after rotation of the rigid body) is defined in terms of the rotation matrix R. Hence, the numerical coordinate representation p of the point p relative to the frame is given by p R p with p remaining a constant as discussed above. In this sense, the rotation of the rigid body is characterized by the rotation matrix R and the coordinates of a point on the rigid body (e.g., the center of gravity of the rigid body) can be found relative to the fixed reference frame using the rotation matrix R. Thus, as described above, the rotation matrix has multiple physical interpretations including: unit vectors of one coordinate frame in terms of unit vectors of another coordinate frame; a transformation matrix to transform the numerical coordinate representation of a fixed point from one coordinate frame to another; a transformation matrix that defines the rotation of a rigid body. Sequences of rotations: Consider three coordinate frames,, and 2. The rotation matrix defining the orientation of the frame in terms of the frame is given as R and the rotation matrix defining the orientation of the 2 frame in terms of the is given as R2. Then, given a fixed point p with numerical coordinate representations p, p, and p 2 relative to the coordinate frames,, and 2, respectively, we have the properties that p Rp and p R2p 2. Hence, combining these two equations, we see that p R R 2p 2. (8) Therefore, the rotation matrix defining the orientation of the frame 2 in terms of the frame is given by This equation holds for any set of coordinate frames,, and 2. R 2 R R 2. (9) Rotations about current frame or about fixed frame: Given coordinate frames and, a new coordinate frame 2 can be defined as a rotation from frame with the rotation defined numerically as a rotation relative to the current frame (i.e., frame ) or relative to the fixed (or original) frame (i.e., frame ). For example, if the rotation from frame to frame 2 is defined as a rotation of angle θ about the z axis, we would say that this rotation is defined relative to the current frame (i.e., frame ). On the other hand, if the rotation from frame to frame 2 is defined as a rotation of angle θ about the z axis, we would say that this rotation is defined relative to the fixed frame (i.e., frame ). In both cases, numerically, the rotation matrix is simply the 3 3 matrix R z,θ defined in (2). If the rotation is defined relative to the frame, as given by (9), the rotation matrix R 2 is given by R R, i.e., when the rotation from the frame to the 2 frame is defined numerically relative to the current frame (i.e., the rotation matrix R from frame to frame 2 is defined relative to frame ), then the composite rotation matrix R 2 is calculated by post-multiplying (i.e., R is multiplied to the right of R ). 4

If the rotation is defined relative to the current frame (i.e., frame ), then the rotation matrix R 2 is simply this numerically defined matrix R z,θ. However, if the rotation is defined relative to the fixed frame (i.e., frame ), then the rotation matrix R 2 is not, in general, given by this numerically defined matrix R z,θ since the rotation is around the z axis and not the z axis. Hence, in terms of the rotation from frame to frame 2, this rotation is defined in terms of a totally different frame ; hence, R 2 is not simply numerically R z,θ. To find the rotation matrix R 2 corresponding to a rotation numerically given as R (e.g., R R z,θ ) defined relative to frame, one way to physically visualize this is as follows: Step : to apply the rotation defined by R, we need to first transform back to the frame since R is defined in terms of the frame Step 2: then, we can apply rotation R Step 3: then we need to invert back the additional transformation that we introduced in Step. The rotation matrix to transform back to frame is given by R. Hence, by combining the three steps described above, the rotation matrix R 2 is given by R 2 R RR. Since R (R ) T, we get R 2 (R ) T RR. Hence, R 2 R (R ) T RR RR, i.e., when the rotation from the frame to the 2 frame is defined numerically relative to the fixed frame (i.e., the rotation matrix R from frame to frame 2 is defined relative to frame ), then the composite rotation matrix R 2 is calculated by pre-multiplying (i.e., R is multiplied to the left of R ). Another way of deriving the relations discussed above for rotations relative to a current frame or a fixed frame is to use the property that the columns of a rotation matrix are simply the unit vectors of a new coordinate frame written in terms of an old coordinate frame, i.e., as seen from (9), the unit vectors x, y, and z are given in terms of unit vectors x, y, and z as x (x.x )x + (x.y )y + (x.z )z y (y.x )x + (y.y )y + (y.z )z z (z.x )x + (z.y )y + (z.z )z. (2) These equations are physical vector equations and hold in any choice of coordinate frame, i.e., x, y, z, x, y, and z in (2) can be written in any coordinate frame; hence, the explicit superscript notation to indicate the choice of coordinate frame for numerical representation of coordinates is omitted in (2) since these equations would hold for any choice of coordinate frame. If a rotation matrix for the transformation from the frame to the 2 frame is given numerically as a 3 3 matrix R defined relative to the frame, then the unit vectors x 2, y 2, z 2 are given in terms of unit vectors x, y, and z by x 2 r x + r 2 y + r 3 z y 2 r 2 x + r 22 y + r 32 z z 2 r 3 x 2 + r 23 y 2 + r 33 z 2 (2) where r ij denotes the (i, j) th element of R for i, 2, 3; j, 2, 3, e.g., r 2 is the element of R on the first row and second column. As with (2), the equations in (2) are physical vector equations that numerically hold in any choice of coordinate frame. Since the equations (2) and (2) hold in any coordinate frame, we have, for example, [x, y, z ] [x, y, z ]R and [x 2, y 2, z 2] [x, y, z ]R. Hence, combining these two equations, we get [x 2, y 2, z 2] [x, y, z ]R R, i.e., the rotation matrix R 2 is given as R R, i.e., when the rotation from the frame to the 2 frame is defined numerically relative to the current frame (i.e., the rotation matrix R from frame to frame 2 is defined relative to frame ), then the composite rotation matrix R 2 is calculated by post-multiplying (i.e., R is multiplied to the right of R ). On the other hand, if the rotation matrix R for the transformation from the frame to the 2 frame is defined numerically in terms of the frame, then the geometrical effect is to rotate the vectors x, y, and z used in the definition of the unit vectors x, y, and z in (2), i.e., the unit vectors x 2, y 2, and z 2 are given by x 2 (x.x )x + (x.y )y + (x.z )z y 2 (y.x )x + (y.y )y + (y.z )z z 2 (z.x )x + (z.y )y + (z.z )z (22) where x, y, and z are vectors obtained by rotating x, y, and z based on the numerically defined matrix R, i.e., x r x + r 2 y + r 3 z y r 2 x + r 22 y + r 23 z z r 3 x + r 32 y + r 33 z (23) 5

where r ij denotes the (i, j) th element of R. As in equations (2) and (2), the equations (22) and (23) are physical vector equations that hold in any choice of coordinate frame. Hence, we have, for example, [x 2, y2, z2] [x, y, z ]R and [x, y, z ] [x, y, z]r. Hence, combining these two equations, we get [x 2, y2, z2] [x, y, z]rr, i.e., the rotation matrix R2 is given as RR, i.e., when the rotation from the frame to the 2 frame is defined numerically relative to the fixed frame (i.e., the rotation matrix R from frame to frame 2 is defined relative to frame ), then the composite rotation matrix R2 is calculated by pre-multiplying (i.e., R is multiplied to the left of R). Since R2 is, by (9), given by RR 2, this implies that RR 2 RR, i.e., R2 (R) T RR. Similar to the above discussion, it can be shown that, in general, if a rotation from a frame to a frame 2 is defined numerically in terms of a frame c, then the rotation matrix R2 is given by R 2 (R c ) T R(R c ). (24) Hence, in this general case, R 2 R (R c ) T R(R c ). As a special case, if frame c is the frame, then the rotation matrix R c is the identity matrix and hence R 2 from (24) is simply R and hence R 2 R R. As another special case, if frame c is the frame, then, from (24) R 2 (R ) T R(R ) and hence R 2 RR. Therefore, the postmultiplication and pre-multiplication rules that we derived above for rotation relative to current frame and fixed frame respectively are simply two special cases of the general rule obtained from (24). Non-commutativity of rotations: Given two rotation matrices R and R 2, the multiplication of these two rotation matrices is, in general, not commutative, i.e., in general R R 2 R 2 R. For example, consider R R y,φ and R 2 R z,θ where R y,φ and R z,θ are the elementary rotation matrices given as in (2). It is easy to see by calculating R y,φ R z,θ and R z,θ R y,φ that these two product matrices have very different elements. Homogeneous Transformations: Rotation matrices between coordinate frames were discussed above. In general, there can be both a rotation and a translation (offset between the origins) between two coordinate frames, i.e., given two frames and, with an associated rotation matrix R between these coordinate frames and with an associated translation d (coordinates of the origin of frame when written relative to frame ), the coordinates of a point p relative to frame and to frame are related as p R p + d. (25) Similarly, if frames and 2 are related through a rotation R 2 and offset d 2 (coordinates of the origin of frame 2 when written relative to frame ), then the coordinates of a point p relative to frames and 2 are related as p R 2p 2 + d 2. (26) Putting (25) and (26) together, we get p R R 2p 2 + R d 2 + d. (27) Hence, the equivalent rotation matrix R 2 between frames and 2 and the equivalent translation d 2 are given by R 2 R R 2 d 2 R d 2 + d. (28) These equations for the rotation and translation between frames and 2 can be derived instead through a combined matrix that includes both rotation and translation, defined as a 4 4 matrix H of the form R d H (29) where R denotes a 3 3 rotation matrix, d denotes a 3 translation vector, and the in (29) represents a 3 zero vector. Then, we have H R d ; H 2 R 2 d 2. (3) 6

Therefore, H H 2 [ R R 2 R d 2 + d ]. (3) Comparing (3) and (28), we see that the product H H2 correctly represents the composite rotation and translation between frames and 2. Thus, the 4 4 matrix H can be used as a combined representation of both rotation and translation and composite transformations between multiple coordinate frames can be calculated through multiplications of such 4 4 matrices. The 4 4 matrix H is called a homogeneous transformation. To represent an equation such as (25) easily in terms of a product with a homogeneous transformation matrix, we also define the homogeneous representation of a 3 vector p to be p P. (32) Then, denoting the homogeneous representations of a point p in frames and as P and P, respectively, we get P H P. (33) Comparing with the equation p Rp, which we would get with a pure rotation (no translation), we see that the homogeneous transformation matrix and homogeneous representation concepts are a generalization (with very similar mathematical behavior) of rotation matrix and 3 vector representation concepts. As with rotation matrices, we can infer that since P H P and P H2 P 2, we have H H2 H2. To find the inverse of a homogeneous transformation H of form (29), denote the inverse of H to be Then, computing HH, we get H HH [ R d [ R R R d + d ]. (34) ]. (35) Hence, since HH should be the 4 4 identity matrix, we get R R R T and d R d R T d. Therefore, the inverse of a homogeneous transformation matrix H of form (29) is given by H R T R T d. (36) Similar to the analysis of the composition of rotation matrices, we can show that given a homogeneous transformation matrix H between coordinate frames and and given that the transformation from frame to frame 2 is given by a homogeneous transformation matrix H that is numerically defined relative to frame (i.e., the current frame), the composite homogeneous transformation matrix H2 between frames and 2 can be written as H H, i.e., the composite homogeneous transformation matrix H2 is calculated by post-multiplying (i.e., H is multiplied to the right of H ). If, instead, the homogeneous transformation matrix from frame to frame 2 is given by a homogeneous transformation matrix H that is numerically defined relative to frame (i.e., the fixed or original frame), then the composite homogeneous transformation matrix H2 between frames and 2 can be written as HH, i.e., the composite homogeneous transformation matrix H2 is calculated by pre-multiplying (i.e., H is multiplied to the left of H ). Corresponding to the three rotational degrees of freedom and three translational degrees of freedom, there are six elementary homogeneous transformation matrices, i.e., the three elementary rotations around the X, Y, and Z axes, respectively, and the three elementary translations along the X, Y, and Z axes, respectively. These elementary homogeneous transformations are given by Rot x,θx Trans x,dx c x s x s x c x d x ; Rot y,θ y ; Trans y,d y c y s y s y c y d y ; Rot z,θ z ; Trans z,d z where c x cos(θ x ), s x sin(θ x ), c y cos(θ y ), s y sin(θ y ), c z cos(θ z ), and s z sin(θ z ). c z s z s z c z d z 7