Euler Angle Formulas. Contents. David Eberly Geometric Tools, LLC Copyright c All Rights Reserved.

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Euler Angle Formulas. Contents. David Eberly Geometric Tools, LLC Copyright c All Rights Reserved."

Transcription

1 Euler Angle Formulas David Eberly Geometric Tools, LLC Copyright c All Rights Reserved. Created: December 1, 1999 Last Modified: March 10, 2014 Contents 1 Introduction 3 2 Factor as a Product of Three Rotation Matrices Factor as R x R y R z Factor as R x R z R y Factor as R y R x R z Factor as R y R z R x Factor as R z R x R y Factor as R z R y R x Factor as R x0 R y R x Factor as R x0 R z R x Factor as R y0 R x R y Factor as R y0 R z R y Factor as R z0 R x R z Factor as R z0 R y R z Factor as a Product of Two Rotation Matrices Factor P x P y Factor P y P x Factor P x P z Factor P z P x Factor P y P z

2 3.6 Factor P z P y

3 1 Introduction Rotations about the coordinate axes are easy to define and work with. Rotation about the x-axis by angle θ is R x (θ) = 0 cos θ sin θ 0 sin θ cos θ where θ > 0 indicates a counterclockwise rotation in the plane x = 0. The observer is assumed to be positioned on the side of the plane with x > 0 and looking at the origin. Rotation about the y-axis by angle θ is cos θ 0 sin θ R y (θ) = sin θ 0 cos θ where θ > 0 indicates a counterclockwise rotation in the plane y = 0. The observer is assumed to be positioned on the side of the plane with y > 0 and looking at the origin. Rotation about the z-axis by angle θ is cos θ sin θ 0 R z (θ) = sin θ cos θ where θ > 0 indicates a counterclockwise rotation in the plane z = 0. The observer is assumed to be positioned on the side of the plane with z > 0 and looking at the origin. Rotation by an angle θ about an arbitrary axis containing the origin and having unit length direction U = (U x, U y, U z ) is given by where I is the identity matrix, R U (θ) = I + (sin θ)s + (1 cos θ)s 2 0 U z U y S = U z 0 U x U y U x 0 and θ > 0 indicates a counterclockwise rotation in the plane U (x, y, z) = 0. The observer is assumed to be positioned on the side of the plane to which U points and is looking at the origin. 2 Factor as a Product of Three Rotation Matrices A common problem is to factor a rotation matrix as a product of rotations about the coordinate axes. The form of the factorization depends on the needs of the application and what ordering is specified. For example, one might want to factor a rotation as R = R x (θ x )R y (θ y )R z (θ z ) for some angles θ x, θ y, and θ z. The ordering is xyz. Five other possibilities are xzy, yxz, yzx, zxy, and zyx. It is also possible to factor as R = R x (θ x0 )R y (θ y )R x (θ x1 ), the ordering referred to as xyx. Five other possibilites are xzx, yxy, yzy, zxz, and zyz. These are also discussed here. The following discussion uses the notation c a = cos(θ a ) and s a = sin(θ a ) for a = x, y, z. 3

4 2.1 Factor as R x R y R z Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R x (θ x )R y (θ y )R z (θ z ), and equating yields r 00 r 01 r 02 c y c z c y s z s y = c z s x s y + c x s z c x c z s x s y s z c y s x r 20 r 21 r 22 c x c z s y + s x s z c z s x + c x s y s z c x c y The simplest term to work with is s y = r 02, so θ y = asin(r 02 ). There are three cases to consider. Case 1: If θ y ( π/2, π/2), then c y 0 and c y (s x, c x ) = ( r 12, r 22 ), in which case θ x = atan2( r 12, r 22 ), and c y (s z, c z ) = ( r 01, r 00 ), in which case θ z = atan2( r 01, r 00 ). In θ y = asin(r 02 ), θ x = atan2( r 12, r 22 ). θ z = atan2( r 01, r 00 ) (1) Case 2: If θ y = π/2, then s y = 1 and c y = 0. In this case r 10 r 11 r 20 r 21 = c zs x + c x s z c x c z s x s z c x c z + s x s z c z s x + c x s z = sin(θ z + θ x ) cos(θ z + θ x ) cos(θ z + θ x ) sin(θ z + θ x ) Therefore, θ z + θ x = atan2(r 10, r 11 ). There is one degree of freedom, so the factorization is not unique. In θ y = π/2, θ z + θ x = atan2(r 10, r 11 ) (2) Case 3: If θ y = π/2, then s y = 1 and c y = 0. In this case r 10 r 11 = c zs x + c x s z c x c z + s x s z = sin(θ z θ x ) cos(θ z θ x ). r 20 r 21 c x c z + s x s z c z s x c x s z cos(θ z θ x ) sin(θ z θ x ) Therefore, θ z θ x = atan2(r 10, r 11 ). There is one degree of freedom, so the factorization is not unique. In θ y = π/2, θ z θ x = atan2(r 10, r 11 ) (3). Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 02 i f ( r02 < +1) i f ( r02 > 1) thetay = a s i n ( r02 ) ; thetax = atan2( r12, r22 ) ; thetaz = atan2( r01, r00 ) ; e l s e // r02 = 1 // Not a u n i q u e s o l u t i o n : t hetaz thetax = atan2 ( r10, r11 ) thetay = PI / 2 ; thetax = atan2 ( r10, r11 ) ; thetaz = 0 ; 4

5 e l s e // r02 = +1 // Not a u n i q u e s o l u t i o n : thetaz + thetax = atan2 ( r10, r11 ) thetay = +PI / 2 ; thetax = atan2 ( r10, r11 ) ; thetaz = 0 ; 2.2 Factor as R x R z R y Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R x (θ x )R z (θ z )R y (θ y ), and equating yields r 00 r 01 r 02 c y c z s z c z s y = s x s y + c x c y s z c x c z c y s x + c x s y s z r 20 r 21 r 22 c x s y + c y s x s z c z s x c x c y + s x s y s z The simplest term to work with is s z = r 01, so θ z = asin( r 01 ). There are three cases to consider. Case 1: If θ z ( π/2, π/2), then c z 0 and c z (s y, c y ) = (r 02, r 00 ), in which case θ y = atan2(r 02, r 00 ), and c z (s x, c x ) = (r 21, r 11 ), in which case θ x = atan2(r 21, r 11 ). In θ z = asin( r 01 ), θ x = atan2(r 21, r 11 ), θ y = atan2(r 02, r 00 ) (4) Case 2: If θ z = π/2, then s z = 1 and c z = 0. In this case r 10 r 12 r 20 r 22 = s xs y + c x c y c y s x + c x s y c x s y + c y s x c x c y + s x s y = cos(θ y θ x ) sin(θ y θ x ) sin(θ y θ x ) cos(θ y θ x ) Therefore, θ y θ x = atan2( r 20, r 22 ). There is one degree of freedom, so the factorization is not unique. In θ z = +π/2, θ y θ x = atan2( r 20, r 22 ) (5) Case 3: If θ z = π/2, then s z = 1 and c z = 0. In this case r 10 r 12 r 20 r 22 = s xs y c x c y c y s x c x s y c x s y c y s x c x c y s x s y = cos(θ y + θ x ) sin(θ y + θ x ) sin(θ y + θ x ) cos(θ y + θ x ) Therefore, θ y + θ x = atan2( r 20, r 22 ). There is one degree of freedom, so the factorization is not unique. In θ z = π/2, θ y + θ x = atan2( r 20, r 22 ) (6) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 01 i f ( r01 < +1) i f ( r01 > 1) thetaz = a s i n ( r01 ) ; 5

6 thetax = atan2 ( r21, r11 ) ; thetay = atan2 ( r02, r00 ) ; e l s e // r01 = 1 // Not a u n i q u e s o l u t i o n : thetay thetax = atan2( r20, r22 ) t h e t a z = +p i / 2 ; t h e t a x = atan2( r20, r22 ) ; t h e t a y = 0 ; e l s e // r01 = +1 // Not a u n i q u e s o l u t i o n : thetay + thetax = atan2( r20, r22 ) t h e t a z = p i / 2 ; t h e t a x = atan2( r20, r22 ) ; t h e t a y = 0 ; 2.3 Factor as R y R x R z Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R y (θ y )R x (θ x )R z (θ z ), and equating yields r 00 r 01 r 02 c y c z + s x s y s z c z s x s y c y s z c x s y = c x s z c x c z s x r 20 r 21 r 22 c z s y + c y s x s z c y c z s x + s y s z c x c y The simplest term to work with is s x = r 12, so θ x = asin( r 12 ). There are three cases to consider. Case 1: If θ x ( π/2, π/2), then c x 0 and c x (s y, c y ) = (r 02, r 22 ), in which case θ y = atan2(r 02, r 22 ), and c x (s z, c z ) = (r 10, r 11 ), in which case θ z = atan2(r 10, r 11 ). In θ x = asin( r 12 ), θ y = atan2(r 02, r 22 ), θ z = atan2(r 10, r 11 ) (7) Case 2: If θ x = π/2, then s x = 1 and c x = 0. In this case, r 00 r 01 r 20 r 21 = c yc z + s y s z c z s y c y s z c z s y + c y s z c y c z + s y s z = cos(θ z θ y ) sin(θ z θ y ) sin(θ z θ y ) cos(θ z θ y ) Therefore, θ z θ y = atan2( r 01, r 00 ). There is one degree of freedom, so the factorization is not unique. In θ x = +π/2, θ z θ y = atan2( r 01, r 00 ) (8) Case 3: If θ x = π/2, then s x = 1 and c x = 0. In this case, r 00 r 01 r 20 r 21 = c yc z s y s z c z s y c y s z c z s y c y s z c y c z + s y s z = cos(θ z + θ y ) sin(θ z + θ y ) sin(θ z + θ y ) cos(θ z + θ y ) Therefore, θ z + θ y = atan2( r 01, r 00 ). There is one degree of freedom, so the factorization is not unique. In θ x = π/2, θ z + θ y = atan2( r 01, r 00 ) (9) 6

7 Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 12 i f ( r12 < +1) i f ( r12 > 1) thetax = a s i n ( r12 ) ; thetay = atan2 ( r02, r22 ) ; thetaz = atan2 ( r10, r11 ) ; e l s e // r12 = 1 // Not a u n i q u e s o l u t i o n : t hetaz thetay = atan2( r01, r00 ) thetax = +p i / 2 ; thetay = atan2( r01, r00 ) ; thetaz = 0 ; e l s e // r12 = +1 // Not a u n i q u e s o l u t i o n : thetaz + thetay = atan2( r01, r00 ) thetax = p i / 2 ; thetay = atan2( r01, r00 ) ; thetaz = 0 ; 2.4 Factor as R y R z R x Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R y (θ y )R z (θ z )R x (θ x ), and equating yields r 00 r 01 r 02 c y c z s x s y c x c y s z c x s y + c y s x s z = s z c x c z c z s x r 20 r 21 r 22 c z s y c y s x + c x s y s z c x c y s x s y s z The simplest term to work with is s z = r 10, so θ z = asin(r 10 ). There are three cases to consider. Case 1: If θ z ( π/2, π/2), then c z 0 and c z (s x, c x ) = ( r 12, r 11 ), in which case θ x = atan2( r 12, r 11 ), and c z (s y, c y ) = ( r 20, r 00 ), in which case θ y = atan2( r 20, r 00 ). In θ z = asin(r 10 ), θ y = atan2( r 20, r 00 ), θ x = atan2( r 12, r 11 ) (10) Case 2: If θ z = π/2, then s z = 1 and c z = 0. In this case, r 01 r 02 = s xs y c x c y c x s y + c y s x = cos(θ x + θ y ) sin(θ x + θ y ) r 21 r 22 c y s x + c x s y c x c y s x s y sin(θ x + θ y ) cos(θ x + θ y ) Therefore, θ x + θ y = atan2(r 21, r 22 ). There is one degree of freedom, so the factorization is not unique. In θ z = +π/2, θ x + θ y = atan2(r 21, r 22 ) (11) Case 3: If θ z = π/2, then s z = 1 and c z = 0. In this case, r 01 r 02 = s xs y + c x c y c x s y c y s x = cos(θ x θ y ) sin(θ x θ y ) r 21 r 22 c y s x c x s y c x c y + s x s y sin(θ x θ y ) cos(θ x θ y ) 7

8 Therefore, θ x θ y = atan2(r 21, r 22 ). There is one degree of freedom, so the factorization is not unique. In θ z = π/2, θ x θ y = atan2(r 21, r 22 ) (12) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 10 i f ( r10 < +1) i f ( r10 > 1) thetaz = a s i n ( r10 ) ; thetay = atan2( r20, r00 ) ; thetax = atan2( r12, r11 ) ; e l s e // r10 = 1 // Not a u n i q u e s o l u t i o n : thetax thetay = atan2 ( r21, r22 ) thetaz = p i / 2 ; thetay = atan2 ( r21, r22 ) ; thetax = 0 ; e l s e // Not a u n i q u e s o l u t i o n : thetax + thetay = atan2 ( r21, r22 ) thetaz = +p i / 2 ; thetay = atan2 ( r21, r22 ) ; thetax = 0 ; 2.5 Factor as R z R x R y Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R z (θ z )R x (θ x )R y (θ y ), and equating yields r 00 r 01 r 02 c y c z s x s y s z c x s z c z s y + c y s x s z = c z s x s y + c y s z c x c z c y c z s x + s y s z r 20 r 21 r 22 c x s y s x c x c y The simplest term to work with is s x = r 21, so θ x = asin(r 21 ). There are three cases to consider. Case 1: If θ x ( π/2, π/2), then c x 0 and c x (s y, c y ) = ( r 20, r 22 ), in which case θ y = atan2( r 20, r 22 ), and c x (s z, c z ) = ( r 01, r 11 ), in which case θ z = atan2( r 01, r 11 ). In θ x = asin(r 21 ), θ z = atan2( r 01, r 11 ), θ y = atan2( r 20, r 22 ) (13) Case 2: If θ x = π/2, then s x = 1 and c z = 0. In this case, r 00 r 02 = c ys z s y c z c z s y + c y s z = cos(θ y + θ z ) sin(θ y + θ z ) r 10 r 12 c z s y + c y s z c y c z + s y s z sin(θ y + θ z ) cos(θ y + θ z ) Therefore, θ y + θ z = atan2(r 02, r 00 ). There is one degree of freedom, so the factorization is not unique. In θ x = +π/2, θ y + θ z = atan2(r 02, r 00 ) (14) 8

9 Case 3: If θ x = π/2, then s x = 1 and c x = 0. In this case, r 00 r 02 r 10 r 12 = c ys z + s y c z c z s y c y s z c z s y + c y s z c y c z + s y s z = cos(θ y θ z ) sin(θ y θ z ) sin(θ y θ z ) cos(θ y θ z ) Therefore, θ y θ z = atan2(r 02, r 00 ). There is one degree of freedom, so the factorization is not unique. In θ x = π/2, θ y θ z = atan2(r 02, r 00 ) (15) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 21 i f ( r21 < +1) i f ( r21 > 1) thetax = a s i n ( r21 ) ; thetaz = atan2( r01, r11 ) ; thetay = atan2( r20, r22 ) ; e l s e // r21 = 1 // Not a u n i q u e s o l u t i o n : thetay t h e t a Z = atan2 ( r02, r00 ) thetax = p i / 2 ; thetaz = atan2 ( r02, r00 ) ; thetay = 0 ; e l s e // r21 = +1 // Not a u n i q u e s o l u t i o n : thetay + t h e t a Z = atan2 ( r02, r00 ) thetax = +p i / 2 ; thetaz = atan2 ( r02, r00 ) ; thetay = 0 ; 2.6 Factor as R z R y R x Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R z (θ z )R y (θ y )R x (θ x ), and equating yields r 00 r 01 r 02 c y c z c z s x s y c x s z c x c z s y + s x s z = c y s z c x c z + s x s y s z c z s x + c x s y s z r 20 r 21 r 22 s y c y s x c x c y The simplest term to work with is s y = r 20, so θ y = asin( r 20 ). There are three cases to consider. Case 1: If θ y ( π/2, π/2), then c y 0 and c y (s x, c x ) = (r 21, r 22 ), in which case θ x = atan2(r 21, r 22 ), and c y (s z, c z ) = (r 10, r 00 ), in which case θ z = atan2(r 10, r 00 ). In θ y = asin( r 20 ), θ z = atan2(r 10, r 00 ), θ x = atan2(r 21, r 22 ) (16) Case 2: If θ y = π/2, then s y = 1 and c y = 0. In this case, r 01 r 02 = c zs x c x s z c x c z + s x s z = sin(θ x θ z ) cos(θ x θ z ) r 11 r 12 c x c z + s x s z c z s x + c x s z cos(θ x θ z ) sin(θ x θ z ) 9

10 Therefore, θ x θ z = atan2( r 12, r 11 ). There is one degree of freedom, so the factorization is not unique. In θ y = +π/2, θ x θ z = atan2( r 12, r 11 ) (17) Case 3: If θ y = π/2, then s y = 1 and c y = 0. In this case, r 01 r 02 = c zs x c x s z c x c z + s x s z = sin(θ x + θ z ) cos(θ x + θ z ) r 11 r 12 c x c z s x s z c z s x c x s z cos(θ x + θ z ) sin(θ x + θ z ) Therefore, θ x + θ z = atan2( r 12, r 11 ). There is one degree of freedom, so the factorization is not unique. In θ y = π/2, θ x + θ z = atan2( r 12, r 11 ) (18) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 20 i f ( r20 < +1) i f ( r20 > 1) thetay = a s i n ( r20 ) ; thetaz = atan2 ( r10, r00 ) ; thetax = atan2 ( r21, r22 ) ; e l s e // r20 = 1 // Not a u n i q u e s o l u t i o n : thetax t h e t a Z = atan2( r12, r11 ) thetay = +p i / 2 ; thetaz = atan2( r12, r11 ) ; thetax = 0 ; e l s e // r20 = +1 // Not a u n i q u e s o l u t i o n : thetax + t h e t a Z = atan2( r12, r11 ) thetay = p i / 2 ; thetaz = atan2( r12, r11 ) ; thetax = 0 ; 2.7 Factor as R x0 R y R x1 Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R x (θ x0 )R y (θ y )R x (θ x1 ), and equating yields r 00 r 01 r 02 c y s y s x1 s y c x1 = s y s x0 c x0 c x1 c y s x0 s x1 c y c x1 s x0 c x0 s x1 r 20 r 21 r 22 s y c x0 c x1 s x0 + c y c x0 s x1 c y c x0 c x1 s x0 s x1 The simplest term to work with is c y = r 00, so θ y = acos(r 00 ). There are three cases to consider. Case 1: If θ y (0, π), then s y 0 and s y (s x0, c x0 ) = (r 10, r 20 ), in which case θ x0 = atan2(r 10, r 20 ), and s y (s x1, c x1 ) = (r 01, r 02 ), in which case θ x1 = atan2(r 01, r 02 ). In θ y = acos(r 00 ), θ x0 = atan2(r 10, r 20 ), θ x1 = atan2(r 01, r 02 ) (19) 10

11 Case 2: If θ y = 0, then c y = 1 and s y = 0. In this case, r 11 r 12 = c x 0 c x1 s x0 s x1 c x1 s x0 c x0 s x1 r 21 r 22 c x1 s x0 + c x0 s x1 c x0 c x1 s x0 s x1 = cos(θ x 1 + θ x0 ) sin(θ x1 + θ x0 ) sin(θ x1 + θ x0 ) cos(θ x1 + θ x0 ) Therefore, θ x1 + θ x0 In = atan2( r 12, r 11 ). There is one degree of freedom, so the factorization is not unique. θ y = 0, θ x1 + θ x0 = atan2( r 12, r 11 ) (20) Case 3: If θ y = π, then c y = 1 and s y = 0. In this case, r 11 r 12 = c x 0 c x1 + s x0 s x1 c x1 s x0 c x0 s x1 r 21 r 22 c x1 s x0 c x0 s x1 c x0 c x1 s x0 s x1 = cos(θ x 1 θ x0 ) sin(θ x1 θ x0 ) sin(θ x1 θ x0 ) cos(θ x1 θ x0 ) Therefore, θ x1 θ x0 In = atan2( r 12, r 11 ). There is one degree of freedom, so the factorization is not unique. θ y = π, θ x1 θ x0 = atan2( r 12, r 11 ) (21) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 00 i f ( r00 < +1) i f ( r00 > 1) thetay = a c o s ( r00 ) ; thetax0 = atan2 ( r10, r20 ) ; thetax1 = atan2 ( r01, r02 ) ; e l s e // r00 = 1 // Not a u n i q u e s o l u t i o n : thetax1 thetax0 = atan2( r12, r11 ) thetay = p i ; thetax0 = atan2( r12, r11 ) ; thetax1 = 0 ; e l s e // r00 = +1 // Not a u n i q u e s o l u t i o n : thetax1 + thetax0 = atan2( r12, r11 ) thetay = 0 ; thetax0 = atan2( r12, r11 ) ; thetax1 = 0 ; 2.8 Factor as R x0 R z R x1 Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R x (θ x0 )R y (θ y )R z (θ x1 ), and equating yields r 00 r 01 r 02 c z s z c x1 s z s x1 = s z c x0 c z c x0 c x1 s x0 s x1 c x1 s x0 c z c x0 s x1 r 20 r 21 r 22 s z s x0 c z c x1 s x0 + c x0 s x1 c x0 c x1 c z s x0 s x1 11

12 The simplest term to work with is c z = r 00, so θ z = acos(r 00 ). There are three cases to consider. Case 1: If θ z (0, π), then s z 0 and s z (s x0, c x0 ) = (r 20, r 10 ), in which case θ x0 s z (s x1, c x1 ) = (r 02, r 01 ), in which case θ x1 = atan2(r 02, r 01 ). In = atan2(r 20, r 10 ), and θ z = acos(r 00 ), θ x0 = atan2(r 20, r 10 ), θ x1 = atan2(r 02, r 01 ) (22) Case 2: If θ z = 0, then c z = 1 and s z = 0. In this case, r 11 r 12 = c x 0 c x1 s x0 s x1 c x1 s x0 c x0 s x1 r 21 r 22 c x1 s x0 + c x0 s x1 c x0 c x1 s x0 s x1 = cos(θ x 1 + θ x0 ) sin(θ x1 + θ x0 ) sin(θ x1 + θ x0 ) cos(θ x1 + θ x0 ) Therefore, θ x1 + θ x0 = atan2(r 21, r 22 ). There is one degree of freedom, so the factorization is not unique. In θ z = 0, θ x1 + θ x0 = atan2(r 21, r 22 ) (23) Case 3: If θ z = π, then c z = 1 and s z = 0. In this case, r 11 r 12 = c x 0 c x1 s x0 s x1 c x1 s x0 + c x0 s x1 r 21 r 22 c x1 s x0 + c x0 s x1 c x0 c x1 + s x0 s x1 = cos(θ x 1 θ x0 ) sin(θ x1 θ x0 ) sin(θ x1 θ x0 ) cos(θ x1 θ x0 ) Therefore, θ x1 θ x0 = atan2(r 21, r 22 ). There is one degree of freedom, so the factorization is not unique. In θ z = π, θ x1 θ x0 = atan2(r 21, r 22 ) (24) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 00 i f ( r00 < +1) i f ( r00 > 1) thetaz = acos ( r00 ) ; thetax0 = atan2 ( r20, r10 ) ; thetax1 = atan2 ( r02, r01 ) ; e l s e // r00 = 1 // Not a u n i q u e s o l u t i o n : thetax1 thetax0 = atan2 ( r21, r22 ) thetaz = p i ; thetax0 = atan2 ( r21, r22 ) ; thetax1 = 0 ; e l s e // r00 = +1 // Not a u n i q u e s o l u t i o n : thetax1 + thetax0 = atan2 ( r21, r22 ) thetaz = 0 ; thetax0 = atan2 ( r21, r22 ) ; thetax1 = 0 ; 12

13 2.9 Factor as R y0 R x R y1 Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R y (θ y0 )R x (θ x )R y (θ y1 ), and equating yields r 00 r 01 r 02 c y0 c y1 c x s y0 s y1 s x s y0 c x c y1 s y0 + c y0 s y1 = s x s y1 c x s x c y1 r 20 r 21 r 22 c y1 s y0 c x c y0 s y1 s x c y0 c x c y0 c y1 s y0 s y1 The simplest term to work with is c x = r 11, so θ x = acos(r 11 ). There are three cases to consider. Case 1: If θ x (0, π), then s x 0 and s x (s y0, c y0 ) = (r 01, r 21 ), in which case θ y0 s x (s y1, c y1 ) = (r 10, r 12 ), in which case θ y1 = atan2(r 10, r 12 ). In = atan2(r 01, r 21 ), and θ x = acos(r 11 ), θ y0 = atan2(r 01, r 21 ), θ y1 = atan2(r 10, r 12 ) (25) Case 2: If θ x = 0, then c x = 1 and s x = 0. In this case, r 00 r 02 r 20 r 22 = c y 0 c y1 s y0 s y1 c y1 s y0 + c y0 s y1 c y1 s y0 c y0 s y1 c y0 c y1 s y0 s y1 = cos(θ y 1 + θ y0 ) sin(θ y1 + θ y0 ) sin(θ y1 + θ y0 ) cos(θ y1 + θ y0 ) Therefore, θ y1 + θ y0 = atan2(r 02, r 00 ). There is one degree of freedom, so the factorization is not unique. In θ x = 0, θ y1 + θ y0 = atan2(r 02, r 00 ) (26) Case 3: If θ x = π, then c x = 1 and s x = 0. In this case, r 00 r 02 r 20 r 22 = c y 0 c y1 + s y0 s y1 c y1 s y0 + c y0 s y1 c y1 s y0 + c y0 s y1 c y0 c y1 s y0 s y1 = cos(θ y 1 θ y0 ) sin(θ y1 θ y0 ) sin(θ y1 θ y0 ) cos(θ y1 θ y0 ) Therefore, θ y1 θ y0 = atan2(r 02, r 00 ). There is one degree of freedom, so the factorization is not unique. In θ x = π, θ y1 θ y0 = atan2(r 02, r 00 ) (27) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 11 i f ( r11 < +1) i f ( r11 > 1) thetax = a c o s ( r11 ) ; thetay0 = atan2 ( r01, r21 ) ; thetay1 = atan2 ( r10, r12 ) ; e l s e // r11 = 1 // Not a u n i q u e s o l u t i o n : thetay1 thetay0 = atan2 ( r02, r00 ) thetax = p i ; thetay0 = atan2 ( r02, r00 ) ; thetay1 = 0 ; 13

14 e l s e // r11 = +1 // Not a u n i q u e s o l u t i o n : thetay1 + thetay0 = atan2 ( r02, r00 ) thetax = 0 ; thetay0 = atan2 ( r02, r00 ) ; thetay1 = 0 ; 2.10 Factor as R y0 R z R y1 Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R y (θ y0 )R z (θ z )R y (θ y1 ), and equating yields r 00 r 01 r 02 c z c y0 c y1 s y0 s y1 s z c y0 c y1 s y0 + c z c y0 s y1 = s z c y1 c z s z s y1 r 20 r 21 r 22 c z c y1 s y0 c y0 s y1 s z s y0 c y0 c y1 c z s y0 s y1 The simplest term to work with is c z = r 11, so θ z = acos(r 11 ). There are three cases to consider. Case 1: If θ z (0, π), then s z 0 and s z (s y0, c y0 ) = (r 21, r 01 ), in which case θ y0 = atan2(r 21, r 01 ), and s z (s y1, c y1 ) = (r 12, r 10 ), in which case θ y1 = atan2(r 12, r 10 ). In θ z = acos(r 11 ), θ y0 = atan2(r 21, r 01 ), θ y1 = atan2(r 12, r 10 ) (28) Case 2: If θ z = 0, then c z = 1 and s z = 0. In this case, r 00 r 02 r 20 r 22 = c y 0 c y1 s y0 s y1 c y1 s y0 + c y0 s y1 c y1 s y0 c y0 s y1 c y0 c y1 s y0 s y1 = cos(θ y 1 + θ y0 ) sin(θ y1 + θ y0 ) sin(θ y1 + θ y0 ) cos(θ y1 + θ y0 ) Therefore, θ y1 + θ y0 In = atan2( r 20, r 22 ). There is one degree of freedom, so the factorization is not unique. θ z = 0, θ y1 + θ y0 = atan2( r 20, r 22 ) (29) Case 3: If θ z = π, then c z = 1 and s z = 0. In this case, r 00 r 02 = c y 0 c y1 s y0 s y1 c y1 s y0 c y0 s y1 = cos(θ y 1 θ y0 ) sin(θ y1 θ y0 ) r 20 r 22 c y1 s y0 c y0 s y1 c y0 c y1 + s y0 s y1 sin(θ y1 θ y0 ) cos(θ y1 θ y0 ) Therefore, θ y1 θ y0 In = atan2( r 20, r 22 ). There is one degree of freedom, so the factorization is not unique. θ z = π, θ y1 θ y0 = atan2( r 20, r 22 ) (30) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 11 i f ( r11 < +1) i f ( r11 > 1) thetaz = acos ( r11 ) ; 14

15 thetay0 = atan2 ( r21, r01 ) ; thetay1 = atan2 ( r12, r10 ) ; e l s e // r11 = 1 // Not a u n i q u e s o l u t i o n : thetay1 thetay0 = atan2( r20, r22 ) thetaz = p i ; thetay0 = atan2( r20, r22 ) ; thetay1 = 0 ; e l s e // r11 = +1 // Not a u n i q u e s o l u t i o n : thetay1 + thetay0 = atan2( r20, r22 ) thetaz = 0 ; thetay0 = atan2( r20, r22 ) ; thetay1 = 0 ; 2.11 Factor as R z0 R x R z1 Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R z (θ z0 )R x (θ x )R z (θ z1 ), and equating yields r 00 r 01 r 02 c z0 c z1 c x s z0 s z1 c x c z1 s z0 c z0 s z1 s x s z0 = c z1 s z0 + c x c z0 s z1 c x c z0 c z1 s z0 s z1 s x c z0 r 20 r 21 r 22 s x s z1 s x c z1 c x The simplest term to work with is c x = r 22, so θ x = acos(r 22 ). There are three cases to consider. Case 1: If θ x (0, π), then s x 0 and s x (s z0, c z0 ) = (r 02, r 12 ), in which case θ z0 = atan2(r 02, r 12 ), and s x (s z1, c z1 ) = (r 20, r 21 ), in which case θ z1 = atan2(r 20, r 21 ). In θ x = acos(r 22 ), θ z0 = atan2(r 02, r 12 ), θ z1 = atan2(r 20, r 21 ) (31) Case 2: If θ x = 0, then c x = 1 and s x = 0. In this case, r 00 r 01 = c z 0 c z1 s z0 s z1 c z1 s z0 c z0 s z1 r 10 r 11 c z1 s z0 + c z0 s z1 c z0 c z1 s z0 s z1 = cos(θ z 1 + θ z0 ) sin(θ z1 + θ z0 ) sin(θ z1 + θ z0 ) cos(θ z1 + θ z0 ) Therefore, θ z1 + θ z0 In = atan2( r 01, r 00 ). There is one degree of freedom, so the factorization is not unique. θ x = 0, θ z1 + θ z0 = atan2( r 01, r 00 ) (32) Case 3: If θ x = π, then c x = 1 and s x = 0. In this case, r 00 r 01 = c z 0 c z1 + s z0 s z1 c z1 s z0 c z0 s z1 = cos(θ z 1 θ z0 ) sin(θ z1 θ z0 ) r 10 r 11 c z1 s z0 c z0 s z1 c z0 c z1 s z0 s z1 sin(θ z1 θ z0 ) cos(θ z1 θ z0 ) Therefore, θ z1 θ z0 In = atan2( r 01, r 00 ). There is one degree of freedom, so the factorization is not unique. θ x = π, θ z1 θ z0 = atan2( r 01, r 00 ) (33) 15

16 Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 22 i f ( r22 < +1) i f ( r22 > 1) thetax = acos ( r22 ) ; thetaz0 = atan2 ( r02, r12 ) ; thetaz1 = atan2 ( r20, r21 ) ; e l s e // r22 = 1 // Not a u n i q u e s o l u t i o n : thetaz1 thetaz0 = atan2( r01, r00 ) thetax = p i ; thetaz0 = atan2( r01, r00 ) ; thetaz1 = 0 ; e l s e // r22 = +1 // Not a u n i q u e s o l u t i o n : thetaz1 + thetaz0 = atan2( r01, r00 ) thetax = 0 ; thetaz0 = atan2( r01, r00 ) ; thetaz1 = 0 ; 2.12 Factor as R z0 R y R z1 Setting R = [r ij ] for 0 i 2 and 0 j 2, formally multiplying R z (θ z0 )R y (θ y )R z (θ z1 ), and equating yields r 00 r 01 r 02 c y c z0 c z1 s z0 s z1 c z1 s z0 c y c z0 s z1 s y c z0 = c y c z1 s z0 + c z0 s z1 c z0 c z1 c y s z0 s z1 s y s z0 r 20 r 21 r 22 s y c z1 s y s z1 c y The simplest term to work with is c y = r 22, so θ y = acos(r 22 ). There are three cases to consider. Case 1: If θ y (0, π), then s y 0 and s y (s z0, c z0 ) = (r 12, r 02 ), in which case θ z0 = atan2(r 12, r 02 ), and s y (s z1, c z1 ) = (r 21, r 20 ), in which case θ z1 = atan2(r 20, r 21 ). In θ y = acos(r 22 ), θ z0 = atan2(r 12, r 02 ), θ z1 = atan2(r 21, r 20 ) (34) Case 2: If θ y = 0, then c y = 1 and s y = 0. In this case, r 00 r 01 = c z 0 c z1 s z0 s z1 c z1 s z0 c z0 s z1 r 10 r 11 c z1 s z0 + c z0 s z1 c z0 c z1 s z0 s z1 = cos(θ z 1 + θ z0 ) sin(θ z1 + θ z0 ) sin(θ z1 + θ z0 ) cos(θ z1 + θ z0 ) Therefore, θ z1 + θ z0 = atan2(r 10, r 11 ). There is one degree of freedom, so the factorization is not unique. In θ y = 0, θ z1 + θ z0 = atan2(r 10, r 11 ) (35) Case 3: If θ y = π, then c y = 1 and s y = 0. In this case, r 00 r 01 = c z 0 c z1 s z0 s z1 c z1 s z0 + c z0 s z1 r 10 r 11 c z1 s z0 + c z0 s z1 c z0 c z1 + s z0 s z1 = cos(θ z 1 + θ z0 ) sin(θ z1 + θ z0 ) sin(θ z1 + θ z0 ) cos(θ z1 + θ z0 ) 16

17 Therefore, θ z1 θ z0 = atan2(r 10, r 11 ). There is one degree of freedom, so the factorization is not unique. In θ y = π, θ z1 θ z0 = atan2(r 10, r 11 ) (36) Pseudocode for the factorization is listed below. To avoid the arcsin call until needed, the matrix entry r 22 i f ( r22 < +1) i f ( r22 > 1) thetay = acos ( r22 ) ; thetaz0 = atan2 ( r12, r02 ) ; thetaz1 = atan2 ( r21, r20 ) ; e l s e // r22 = 1 // Not a u n i q u e s o l u t i o n : thetaz1 thetaz0 = atan2 ( r10, r11 ) thetay = p i ; thetaz0 = atan2 ( r10, r11 ) ; thetaz1 = 0 ; e l s e // r22 = +1 // Not a u n i q u e s o l u t i o n : thetaz1 + thetaz0 = atan2 ( r10, r11 ) thetay = 0 ; thetaz0 = atan2 ( r10, r11 ) ; thetaz1 = 0 ; 3 Factor as a Product of Two Rotation Matrices Given a rotation R that is a product of two coordinate axis rotations, the problem is to factor it into three coordinate axis rotations using the ordering xyz. Derivations for the other orderings are similar. In the subsections the matrices are P x = R x (φ x ), P y = R y (φ y ), and P z = R z (φ z ). Define s a = sin(φ x ), s b = sin(φ y ), s c = sin(φ z ), c a = cos(φ x ), c b = cos(φ y ), and c c = cos(φ z ). 3.1 Factor P x P y This is a trivial case. The factorization is R = R x (φ x )R y (φ y ) = R x (θ x )R y (θ y )R z (θ z ). Therefore, θ x = φ x, θ y = φ y, and θ z = Factor P y P x The factorization is R = R y (φ y )R x (φ x ) = R x (θ x )R y (θ y )R z (θ z ). Formal multiplication of the various terms leads to the equation c b s a s b c a s b c y c z c y s z s y 0 c a s a = c z s x s y + c x s z c x c z s x s y s z c y s x. s b c b s a c a c b c x c z s y + s x s z c z s x + c x s y s z c x c y 17

18 It is easy to see that s y = c a s b in which case θ y = asin(cos θ y sin θ x ). Adding the 10 and 21 terms yields 0 + c b s a = (c z s x s y + c x s z ) + (c z s x + c x s y s z ) = (1 + s y )(c z s x + c x s z ) which leads to sin(θ x + θ z ) = c b s a /(1 + c a s b ). In the even that c a s b = 1, this leads to a special case in the coding that is easy to solve. Subtracting the 10 term from the 21 term yields c b s a 0 = (c z s x s y + c x s z ) (c z s x + c x s y s z ) = (1 s y )(c z s x c x s z ) which leads to sin(θ x θ z ) = c b s a /(1 c a s b ). In the event that c a s b = 1, this also leads to a special case in the coding that is easy to solve. The sine functions can be inverted and the two resulting equations for θ x and θ z can be solved. For the case c a s b < 1, θ x = 1 2 [ asin ( cb s a 1+c b s a ) + asin ( )] cb s a 1 c b s a θ y = asin(c a s b ) [ ( ) ( )] θ z = 1 2 asin cb s a 1+c b s a asin cb s a 1 c b s a 3.3 Factor P x P z This is a trivial case. The factorization is R = R x (φ x )R z (φ z ) = R x (θ x )R y (θ y )R z (θ z ). Therefore, θ x = φ x, θ y = 0, and θ z = φ z. 3.4 Factor P z P x A construction similar to the case P y P x leads to [ ( ) ( θ x = 1 c 2 asin ac c 1+s as c + asin θ y = asin(s a s c ) [ ( ) ( θ z = 1 c 2 asin ac c 1+s as c asin )] c ac c 1 s as c )] c ac c 1 s as c 3.5 Factor P y P z This is a trivial case. The factorization is R = R y (φ y )R z (φ z ) = R x (θ x )R y (θ y )R z (θ z ). Therefore, θ x = 0, θ y = φ y, and θ z = φ z. 3.6 Factor P z P y A construction similar to the case P y P x leads to [ ( ) ( )] θ x = 1 2 asin cb s c 1+s b c c asin cb s c 1 s b c c θ y = asin(s b c c ) [ ( ) ( )] θ z = 1 2 asin cb s c 1+s b c c + asin cb s c 1 s b c c 18

0.1 Linear Transformations

0.1 Linear Transformations .1 Linear Transformations A function is a rule that assigns a value from a set B for each element in a set A. Notation: f : A B If the value b B is assigned to value a A, then write f(a) = b, b is called

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

Computing Euler angles from a rotation matrix

Computing Euler angles from a rotation matrix Computing Euler angles from a rotation matrix Gregory G. Slabaugh Abstract This document discusses a simple technique to find all possible Euler angles from a rotation matrix. Determination of Euler angles

More information

Chapter 2 Rotation and Orientation

Chapter 2 Rotation and Orientation Chapter Rotation and Orientation Abstract Rotation about an arbitrary axis is described by the use of Rodrigues s formula. Orientation of a coordinate frame with respect to another frame is expressed with

More information

Prime Coe cients Formula for Rotating Conics

Prime Coe cients Formula for Rotating Conics Prime Coe cients Formula for Rotating Conics David Rose Polk State College David Rose (Institute) Prime Coe cients Formula for Rotating Conics 1 / 18 It is known that the graph of a conic section in the

More information

Orthogonal Matrices. u v = u v cos(θ) T (u) + T (v) = T (u + v). It s even easier to. If u and v are nonzero vectors then

Orthogonal Matrices. u v = u v cos(θ) T (u) + T (v) = T (u + v). It s even easier to. If u and v are nonzero vectors then Part 2. 1 Part 2. Orthogonal Matrices If u and v are nonzero vectors then u v = u v cos(θ) is 0 if and only if cos(θ) = 0, i.e., θ = 90. Hence, we say that two vectors u and v are perpendicular or orthogonal

More information

6. ISOMETRIES isometry central isometry translation Theorem 1: Proof:

6. ISOMETRIES isometry central isometry translation Theorem 1: Proof: 6. ISOMETRIES 6.1. Isometries Fundamental to the theory of symmetry are the concepts of distance and angle. So we work within R n, considered as an inner-product space. This is the usual n- dimensional

More information

Rotation in the Space

Rotation in the Space Rotation in the Space (Com S 477/577 Notes) Yan-Bin Jia Sep 6, 2016 The position of a point after some rotation about the origin can simply be obtained by multiplying its coordinates with a matrix One

More information

The Area of Intersecting Ellipses

The Area of Intersecting Ellipses The Area of Intersecting Ellipses David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: September 4, 2008 Last Modified: November 26, 2016

More information

REVIEW OVER VECTORS. A scalar is a quantity that is defined by its value only. This value can be positive, negative or zero Example.

REVIEW OVER VECTORS. A scalar is a quantity that is defined by its value only. This value can be positive, negative or zero Example. REVIEW OVER VECTORS I. Scalars & Vectors: A scalar is a quantity that is defined by its value only. This value can be positive, negative or zero Example mass = 5 kg A vector is a quantity that can be described

More information

1.7 Cylindrical and Spherical Coordinates

1.7 Cylindrical and Spherical Coordinates 56 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE 1.7 Cylindrical and Spherical Coordinates 1.7.1 Review: Polar Coordinates The polar coordinate system is a two-dimensional coordinate system in which the

More information

Vector Representation of Rotations

Vector Representation of Rotations Vector Representation of Rotations Carlo Tomasi The vector representation of rotation introduced below is based on Euler s theorem, and has three parameters. The conversion from a rotation vector to a

More information

Problem Set 1 Solutions Math 109

Problem Set 1 Solutions Math 109 Problem Set 1 Solutions Math 109 Exercise 1.6 Show that a regular tetrahedron has a total of twenty-four symmetries if reflections and products of reflections are allowed. Identify a symmetry which is

More information

2 Topics in 3D Geometry

2 Topics in 3D Geometry 2 Topics in 3D Geometry In two dimensional space, we can graph curves and lines. In three dimensional space, there is so much extra space that we can graph planes and surfaces in addition to lines and

More information

Geometric Transformations

Geometric Transformations CS3 INTRODUCTION TO COMPUTER GRAPHICS Geometric Transformations D and 3D CS3 INTRODUCTION TO COMPUTER GRAPHICS Grading Plan to be out Wednesdas one week after the due date CS3 INTRODUCTION TO COMPUTER

More information

Three-Dimensional Proper and Improper Rotation Matrices

Three-Dimensional Proper and Improper Rotation Matrices Physics 116A Winter 011 Three-Dimensional Proper and Improper Rotation Matrices 1. Proper and improper rotation matrices ArealorthogonalmatrixRisamatrixwhoseelementsarerealnumbersandsatisfies R 1 = R T

More information

We have just introduced a first kind of specifying change of orientation. Let s call it Axis-Angle.

We have just introduced a first kind of specifying change of orientation. Let s call it Axis-Angle. 2.1.5 Rotations in 3-D around the origin; Axis of rotation In three-dimensional space, it will not be sufficient just to indicate a center of rotation, as we did for plane kinematics. Any change of orientation

More information

6.1 - Introduction to Periodic Functions

6.1 - Introduction to Periodic Functions 6.1 - Introduction to Periodic Functions Periodic Functions: Period, Midline, and Amplitude In general: A function f is periodic if its values repeat at regular intervals. Graphically, this means that

More information

x(θ, r) = r cos(θ) 0 θ 2π y(θ, r) = r sin(θ) 0 r 2 z(θ, r) = r

x(θ, r) = r cos(θ) 0 θ 2π y(θ, r) = r sin(θ) 0 r 2 z(θ, r) = r 1. A parametric equation for a cone is: x(θ, r) = r cos(θ) θ 2π y(θ, r) = r sin(θ) r 2 z(θ, r) = r Find a downward facing normal vector for an arbitary point on the cone. Is the cone a smooth surface?

More information

A matrix over a field F is a rectangular array of elements from F. The symbol

A matrix over a field F is a rectangular array of elements from F. The symbol Chapter MATRICES Matrix arithmetic A matrix over a field F is a rectangular array of elements from F The symbol M m n (F) denotes the collection of all m n matrices over F Matrices will usually be denoted

More information

Modern Geometry Homework.

Modern Geometry Homework. Modern Geometry Homework. 1. Rigid motions of the line. Let R be the real numbers. We define the distance between x, y R by where is the usual absolute value. distance between x and y = x y z = { z, z

More information

Rotation Matrices. Suppose that 2 R. We let

Rotation Matrices. Suppose that 2 R. We let Suppose that R. We let Rotation Matrices R : R! R be the function defined as follows: Any vector in the plane can be written in polar coordinates as rcos, sin where r 0and R. For any such vector, we define

More information

Robot Manipulators. Position, Orientation and Coordinate Transformations. Fig. 1: Programmable Universal Manipulator Arm (PUMA)

Robot Manipulators. Position, Orientation and Coordinate Transformations. Fig. 1: Programmable Universal Manipulator Arm (PUMA) Robot Manipulators Position, Orientation and Coordinate Transformations Fig. 1: Programmable Universal Manipulator Arm (PUMA) A robot manipulator is an electronically controlled mechanism, consisting of

More information

Laboratory 2 Application of Trigonometry in Engineering

Laboratory 2 Application of Trigonometry in Engineering Name: Grade: /26 Section Number: Laboratory 2 Application of Trigonometry in Engineering 2.1 Laboratory Objective The objective of this laboratory is to learn basic trigonometric functions, conversion

More information

Chapter 1. Isometries of the Plane

Chapter 1. Isometries of the Plane Chapter 1 Isometries of the Plane For geometry, you know, is the gate of science, and the gate is so low and small that one can only enter it as a little child. (W. K. Clifford) The focus of this first

More information

Tilt Sensing Using a Three-Axis Accelerometer

Tilt Sensing Using a Three-Axis Accelerometer Freescale Semiconductor Document Number: AN346 Application Note Rev. 6, 3/23 Tilt Sensing Using a Three-Axis Accelerometer by: Mark Pedley Introduction Accelerometers are sensitive to both linear acceleration

More information

Three Body Problem for Constant Angular Velocity

Three Body Problem for Constant Angular Velocity Three Body Problem for Constant Angular Velocity P. Coulton Department of Mathematics Eastern Illinois University Charleston, Il 61920 Corresponding author, E-mail: cfprc@eiu.edu 1 Abstract We give the

More information

Understanding Quaternions. Jim Van Verth Software Engineer, Google G+: vintagejim Twitter: cthulhim

Understanding Quaternions. Jim Van Verth Software Engineer, Google G+: vintagejim Twitter: cthulhim Understanding Quaternions Jim Van Verth Software Engineer, Google jim@essentialmath.com G+: vintagejim Twitter: cthulhim Goals Explain quaternions Not so much why they re useful But how they work Goals

More information

ME 115(b): Solution to Homework #1

ME 115(b): Solution to Homework #1 ME 115(b): Solution to Homework #1 Solution to Problem #1: To construct the hybrid Jacobian for a manipulator, you could either construct the body Jacobian, JST b, and then use the body-to-hybrid velocity

More information

Motivation. Goals. General Idea. Outline. (Nonuniform) Scale. Foundations of Computer Graphics

Motivation. Goals. General Idea. Outline. (Nonuniform) Scale. Foundations of Computer Graphics Foundations of Computer Graphics Basic 2D Transforms Motivation Many different coordinate systems in graphics World, model, body, arms, To relate them, we must transform between them Also, for modeling

More information

0017- Understanding and Using Vector and Transformational Geometries

0017- Understanding and Using Vector and Transformational Geometries Tom Coleman INTD 301 Final Project Dr. Johannes Vector geometry: 0017- Understanding and Using Vector and Transformational Geometries 3-D Cartesian coordinate representation: - A vector v is written as

More information

We can use more sectors (i.e., decrease the sector s angle θ) to get a better approximation:

We can use more sectors (i.e., decrease the sector s angle θ) to get a better approximation: Section 1.4 Areas of Polar Curves In this section we will find a formula for determining the area of regions bounded by polar curves. To do this, wee again make use of the idea of approximating a region

More information

1 Spherical Kinematics

1 Spherical Kinematics ME 115(a): Notes on Rotations 1 Spherical Kinematics Motions of a 3-dimensional rigid body where one point of the body remains fixed are termed spherical motions. A spherical displacement is a rigid body

More information

521493S Computer Graphics. Exercise 2 & course schedule change

521493S Computer Graphics. Exercise 2 & course schedule change 521493S Computer Graphics Exercise 2 & course schedule change Course Schedule Change Lecture from Wednesday 31th of March is moved to Tuesday 30th of March at 16-18 in TS128 Question 2.1 Given two nonparallel,

More information

The graph of. horizontal line between-1 and 1 that the sine function is not 1-1 and therefore does not have an inverse.

The graph of. horizontal line between-1 and 1 that the sine function is not 1-1 and therefore does not have an inverse. Inverse Trigonometric Functions The graph of If we look at the graph of we can see that if you draw a horizontal line between-1 and 1 that the sine function is not 1-1 and therefore does not have an inverse.

More information

3-D Geometric Transformations

3-D Geometric Transformations 3-D Geometric Transformations 3-D Viewing Transformation Projection Transformation 3-D Geometric Transformations Move objects in a 3-D scene Extension of 2-D Affine Transformations Three important ones:

More information

Class XI Chapter 5 Complex Numbers and Quadratic Equations Maths. Exercise 5.1. Page 1 of 34

Class XI Chapter 5 Complex Numbers and Quadratic Equations Maths. Exercise 5.1. Page 1 of 34 Question 1: Exercise 5.1 Express the given complex number in the form a + ib: Question 2: Express the given complex number in the form a + ib: i 9 + i 19 Question 3: Express the given complex number in

More information

Mechanics Physics 151

Mechanics Physics 151 Mechanics Physics 151 Lecture 10 Rigid Body Motion (Chapter 5) What We Did Last Time! Found the velocity due to rotation! Used it to find Coriolis effect! Connected ω with the Euler angles! Lagrangian

More information

226-332 Basic CAD/CAM. CHAPTER 5: Geometric Transformation

226-332 Basic CAD/CAM. CHAPTER 5: Geometric Transformation 226-332 Basic CAD/CAM CHAPTER 5: Geometric Transformation 1 Geometric transformation is a change in geometric characteristics such as position, orientation, and size of a geometric entity (point, line,

More information

Converting wind data from rotated lat-lon grid

Converting wind data from rotated lat-lon grid Converting wind data from rotated lat-lon grid Carsten Hansen, Farvandsvæsenet Copenhagen, 16 march 2001 1 Figure 1: A Hirlam Grid Hirlam output data are in a rotated lat-lon grid The Hirlam grid is typically

More information

PREREQUISITE/PRE-CALCULUS REVIEW

PREREQUISITE/PRE-CALCULUS REVIEW PREREQUISITE/PRE-CALCULUS REVIEW Introduction This review sheet is a summary of most of the main topics that you should already be familiar with from your pre-calculus and trigonometry course(s), and which

More information

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

Recall the basic property of the transpose (for any A): v A t Aw = v w, v, w R n. ORTHOGONAL MATRICES Informally, an orthogonal n n matrix is the n-dimensional analogue of the rotation matrices R θ in R 2. When does a linear transformation of R 3 (or R n ) deserve to be called a rotation?

More information

Vertical Translations of Sine θ and Cosine θ

Vertical Translations of Sine θ and Cosine θ Vertical Translations of Sine θ and Cosine θ 1. Complete the following table. You will be plotting 360 of the functions. Use one decimal place. sin(θ) 0.0 0.7 sin(θ) + 2 2.0 2.7 2. Plot the values of y=sin(θ)

More information

n th roots of complex numbers

n th roots of complex numbers n th roots of complex numbers Nathan Pflueger 1 October 014 This note describes how to solve equations of the form z n = c, where c is a complex number. These problems serve to illustrate the use of polar

More information

θ. The angle is denoted in two ways: angle θ

θ. The angle is denoted in two ways: angle θ 1.1 Angles, Degrees and Special Triangles (1 of 24) 1.1 Angles, Degrees and Special Triangles Definitions An angle is formed by two rays with the same end point. The common endpoint is called the vertex

More information

Calculus and the centroid of a triangle

Calculus and the centroid of a triangle Calculus and the centroid of a triangle The goal of this document is to verify the following physical assertion, which is presented immediately after the proof of Theorem I I I.4.1: If X is the solid triangular

More information

Intersection of an Oriented Box and a Cone

Intersection of an Oriented Box and a Cone Intersection of an Oriented Box and a Cone David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: January 4, 2015 Contents 1 Introduction

More information

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

Lectures notes on orthogonal matrices (with exercises) 92.222 - Linear Algebra II - Spring 2004 by D. Klain Lectures notes on orthogonal matrices (with exercises) 92.222 - Linear Algebra II - Spring 2004 by D. Klain 1. Orthogonal matrices and orthonormal sets An n n real-valued matrix A is said to be an orthogonal

More information

The Stern-Gerlach Experiment

The Stern-Gerlach Experiment Chapter The Stern-Gerlach Experiment Let us now talk about a particular property of an atom, called its magnetic dipole moment. It is simplest to first recall what an electric dipole moment is. Consider

More information

Geometric Objects and Transformations

Geometric Objects and Transformations Geometric Objects and ransformations How to represent basic geometric types, such as points and vectors? How to convert between various represenations? (through a linear transformation!) How to establish

More information

Chapter 24 Physical Pendulum

Chapter 24 Physical Pendulum Chapter 4 Physical Pendulum 4.1 Introduction... 1 4.1.1 Simple Pendulum: Torque Approach... 1 4. Physical Pendulum... 4.3 Worked Examples... 4 Example 4.1 Oscillating Rod... 4 Example 4.3 Torsional Oscillator...

More information

MPE Review Section II: Trigonometry

MPE Review Section II: Trigonometry MPE Review Section II: Trigonometry Review similar triangles, right triangles, and the definition of the sine, cosine and tangent functions of angles of a right triangle In particular, recall that the

More information

Calculus Answers. , where π u π

Calculus Answers. , where π u π Calculus Answers 13. r(u, v) u cosvi + u sinvj + vk. The parametric equations for the surface are x u cosv y u sin v z v We look at the grid curve first; if we fix v, then x and y parametrize a straight

More information

Announcements. Moment of a Force

Announcements. Moment of a Force Announcements Test observations Units Significant figures Position vectors Moment of a Force Today s Objectives Understand and define Moment Determine moments of a force in 2-D and 3-D cases Moment of

More information

2D Geometric Transformations. COMP 770 Fall 2011

2D Geometric Transformations. COMP 770 Fall 2011 2D Geometric Transformations COMP 770 Fall 2011 1 A little quick math background Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector multiplication Matrix-matrix multiplication

More information

Precession photograph

Precession photograph Precession photograph Spacing of spots is used to get unit cell dimensions. Note symmetrical pattern. Crystal symmetry leads to diffraction pattern symmetry. Groups Total For proteins Laue group 230 space

More information

Math 54. Selected Solutions for Week Is u in the plane in R 3 spanned by the columns

Math 54. Selected Solutions for Week Is u in the plane in R 3 spanned by the columns Math 5. Selected Solutions for Week 2 Section. (Page 2). Let u = and A = 5 2 6. Is u in the plane in R spanned by the columns of A? (See the figure omitted].) Why or why not? First of all, the plane in

More information

Mathematics. GSE Pre-Calculus Unit 2: Trigonometric Functions

Mathematics. GSE Pre-Calculus Unit 2: Trigonometric Functions Georgia Standards of Excellence Curriculum Frameworks Mathematics GSE Pre-Calculus Unit : Trigonometric Functions These materials are for nonprofit educational purposes only. Any other use may constitute

More information

CHAPTER 4 Motion in 2D and 3D

CHAPTER 4 Motion in 2D and 3D General Physics 1 (Phys : Mechanics) CHAPTER 4 Motion in 2D and 3D Slide 1 Revision : 2. Displacement vector ( r): 1. Position vector (r): r t = x t i + y t j + z(t)k Particle s motion in 2D Position vector

More information

Lengths in Polar Coordinates

Lengths in Polar Coordinates Lengths in Polar Coordinates Given a polar curve r = f (θ), we can use the relationship between Cartesian coordinates and Polar coordinates to write parametric equations which describe the curve using

More information

GY403 Structural Geology. The general equations of the Mohr Circle for strain

GY403 Structural Geology. The general equations of the Mohr Circle for strain GY403 Structural Geology The general equations of the Mohr Circle for strain Strain Ellipsoid A three-dimensional ellipsoid that describes the magnitude of dilational and distortional strain P Assume a

More information

Fourier Analysis. A cosine wave is just a sine wave shifted in phase by 90 o (φ=90 o ). degrees

Fourier Analysis. A cosine wave is just a sine wave shifted in phase by 90 o (φ=90 o ). degrees Fourier Analysis Fourier analysis follows from Fourier s theorem, which states that every function can be completely expressed as a sum of sines and cosines of various amplitudes and frequencies. This

More information

MATH 2030: MATRICES. Av = 3

MATH 2030: MATRICES. Av = 3 MATH 030: MATRICES Introduction to Linear Transformations We have seen that we ma describe matrices as smbol with simple algebraic properties like matri multiplication, addition and scalar addition In

More information

Application of Trigonometry in Engineering 1

Application of Trigonometry in Engineering 1 Name: Application of Trigonometry in Engineering 1 1.1 Laboratory (Homework) Objective The objective of this laboratory is to learn basic trigonometric functions, conversion from rectangular to polar form,

More information

Rigid Body Displacements

Rigid Body Displacements Chapter 2 Rigid Body Displacements 2.1 The Isometry Group A rigid body displacement can be described geometrically as an Isometry: A bijective linear mapping of E 3 onto itself which leaves the distance

More information

Geometric Camera Parameters

Geometric Camera Parameters Geometric Camera Parameters What assumptions have we made so far? -All equations we have derived for far are written in the camera reference frames. -These equations are valid only when: () all distances

More information

6.7. The sine and cosine functions

6.7. The sine and cosine functions 35 6.7. The sine and cosine functions Surprisingly enough, angles and other notions of trigonometry play a significant role in the study of some biological processes. Here we review some basic facts from

More information

1 Review of complex numbers

1 Review of complex numbers 1 Review of complex numbers 1.1 Complex numbers: algebra The set C of complex numbers is formed by adding a square root i of 1 to the set of real numbers: i = 1. Every complex number can be written uniquely

More information

y Area Moment Matrices 1 e y n θ n n y θ x e x The transformation equations for area moments due to a rotation of axes are:

y Area Moment Matrices 1 e y n θ n n y θ x e x The transformation equations for area moments due to a rotation of axes are: ' t Area Moment Matrices x' t 1 e n 1 t θ θ θ x e x t x n x n n The transformation equations for area moments due to a rotation of axes are: θ θ θ θ 2 2 x x ' xx cos + sin 2 x sin cos 2 2 ' ' xx sin +

More information

Section 10.7 Parametric Equations

Section 10.7 Parametric Equations 299 Section 10.7 Parametric Equations Objective 1: Defining and Graphing Parametric Equations. Recall when we defined the x- (rcos(θ), rsin(θ)) and y-coordinates on a circle of radius r as a function of

More information

Exam 1 Sample Question SOLUTIONS. y = 2x

Exam 1 Sample Question SOLUTIONS. y = 2x Exam Sample Question SOLUTIONS. Eliminate the parameter to find a Cartesian equation for the curve: x e t, y e t. SOLUTION: You might look at the coordinates and notice that If you don t see it, we can

More information

AQA Level 2 Certificate FURTHER MATHEMATICS

AQA Level 2 Certificate FURTHER MATHEMATICS AQA Qualifications AQA Level 2 Certificate FURTHER MATHEMATICS Level 2 (8360) Our specification is published on our website (www.aqa.org.uk). We will let centres know in writing about any changes to the

More information

Electronic calculators may not be used. This text is not the text of solutions of exam papers! Here we will discuss the solutions of the exampapers.

Electronic calculators may not be used. This text is not the text of solutions of exam papers! Here we will discuss the solutions of the exampapers. EXAM FEEDBACK INTRODUCTION TO GEOMETRY (Math 20222). Spring 2014 ANSWER THREE OF THE FOUR QUESTIONS If four questions are answered credit will be given for the best three questions. Each question is worth

More information

CHAPTER 1 Matrix Algebra

CHAPTER 1 Matrix Algebra CHAPTER Matrix Algebra In this chapter, we shall study the concept of a matrix, one of the fundamental tools of mathematics You may have seen matrices in connection with the solution of equations, and

More information

Complex Numbers and the Complex Exponential

Complex Numbers and the Complex Exponential Complex Numbers and the Complex Exponential Frank R. Kschischang The Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto September 5, 2005 Numbers and Equations

More information

MATHEMATICS SPECIALIST ATAR COURSE FORMULA SHEET

MATHEMATICS SPECIALIST ATAR COURSE FORMULA SHEET MATHEMATICS SPECIALIST ATAR COURSE FORMULA SHEET 06 Copyright School Curriculum and Standards Authority, 06 This document apart from any third party copyright material contained in it may be freely copied,

More information

Complex Numbers Basic Concepts of Complex Numbers Complex Solutions of Equations Operations on Complex Numbers

Complex Numbers Basic Concepts of Complex Numbers Complex Solutions of Equations Operations on Complex Numbers Complex Numbers Basic Concepts of Complex Numbers Complex Solutions of Equations Operations on Complex Numbers Identify the number as real, complex, or pure imaginary. 2i The complex numbers are an extension

More information

Conic Sections in Cartesian and Polar Coordinates

Conic Sections in Cartesian and Polar Coordinates Conic Sections in Cartesian and Polar Coordinates The conic sections are a family of curves in the plane which have the property in common that they represent all of the possible intersections of a plane

More information

How is a vector rotated?

How is a vector rotated? How is a vector rotated? V. Balakrishnan Department of Physics, Indian Institute of Technology, Madras 600 036 Appeared in Resonance, Vol. 4, No. 10, pp. 61-68 (1999) Introduction In an earlier series

More information

LECTURE NOTES ON THE MATHEMATICS BEHIND ESCHER S PRINTS: FORM SYMMETRY TO GROUPS

LECTURE NOTES ON THE MATHEMATICS BEHIND ESCHER S PRINTS: FORM SYMMETRY TO GROUPS LECTURE NOTES ON THE MATHEMATICS BEHIND ESCHER S PRINTS: FORM SYMMETRY TO GROUPS JULIA PEVTSOVA 1. Introduction to symmetries of the plane 1.1. Rigid motions of the plane. Examples of four plane symmetries

More information

Solutions to Final Practice Problems

Solutions to Final Practice Problems s to Final Practice Problems Math March 5, Change the Cartesian integral into an equivalent polar integral and evaluate: I 5 x 5 5 x ( x + y ) dydx The domain of integration for this integral is D {(x,

More information

BASICS ANGLES. θ x. Figure 1. Trigonometric measurement of angle θ. trigonometry, page 1 W. F. Long, 1989

BASICS ANGLES. θ x. Figure 1. Trigonometric measurement of angle θ. trigonometry, page 1 W. F. Long, 1989 TRIGONOMETRY BASICS Trigonometry deals with the relation between the magnitudes of the sides and angles of a triangle. In a typical trigonometry problem, two angles and a side of a triangle would be given

More information

SECTION 4.5: GRAPHS OF SINE AND COSINE FUNCTIONS

SECTION 4.5: GRAPHS OF SINE AND COSINE FUNCTIONS (Section 4.5: Graphs of Sine and Cosine Functions) 4.33 SECTION 4.5: GRAPHS OF SINE AND COSINE FUNCTIONS PART A : GRAPH f ( θ ) = sinθ Note: We will use θ and f ( θ) for now, because we would like to reserve

More information

Chapter 17. Orthogonal Matrices and Symmetries of Space

Chapter 17. Orthogonal Matrices and Symmetries of Space Chapter 17. Orthogonal Matrices and Symmetries of Space Take a random matrix, say 1 3 A = 4 5 6, 7 8 9 and compare the lengths of e 1 and Ae 1. The vector e 1 has length 1, while Ae 1 = (1, 4, 7) has length

More information

TWO-DIMENSIONAL TRANSFORMATION

TWO-DIMENSIONAL TRANSFORMATION CHAPTER 2 TWO-DIMENSIONAL TRANSFORMATION 2.1 Introduction As stated earlier, Computer Aided Design consists of three components, namely, Design (Geometric Modeling), Analysis (FEA, etc), and Visualization

More information

Section V.4: Cross Product

Section V.4: Cross Product Section V.4: Cross Product Definition The cross product of vectors A and B is written as A B. The result of the cross product A B is a third vector which is perpendicular to both A and B. (Because the

More information

Trigonometry (Chapter 6) Sample Test #1 First, a couple of things to help out:

Trigonometry (Chapter 6) Sample Test #1 First, a couple of things to help out: First, a couple of things to help out: Page 1 of 20 More Formulas (memorize these): Law of Sines: sin sin sin Law of Cosines: 2 cos 2 cos 2 cos Area of a Triangle: 1 2 sin 1 2 sin 1 2 sin 1 2 Solve the

More information

9 MATRICES AND TRANSFORMATIONS

9 MATRICES AND TRANSFORMATIONS 9 MATRICES AND TRANSFORMATIONS Chapter 9 Matrices and Transformations Objectives After studying this chapter you should be able to handle matrix (and vector) algebra with confidence, and understand the

More information

Intersection of Objects with Linear and Angular Velocities using Oriented Bounding Boxes

Intersection of Objects with Linear and Angular Velocities using Oriented Bounding Boxes Intersection of Objects with Linear and Angular Velocities using Oriented Bounding Boxes David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created:

More information

Review of the Euler Angles: a yaw pitch roll sequence

Review of the Euler Angles: a yaw pitch roll sequence Review of the 3-2-1 Euler Angles: a yaw pitch roll sequence by H. Alemi Ardakani & T. J. Bridges Department of Mathematics, University of Surrey, Guildford GU2 7XH UK April 15, 2010 1 Introduction The

More information

Linear transformations Affine transformations Transformations in 3D. Graphics 2011/2012, 4th quarter. Lecture 5: linear and affine transformations

Linear transformations Affine transformations Transformations in 3D. Graphics 2011/2012, 4th quarter. Lecture 5: linear and affine transformations Lecture 5 Linear and affine transformations Vector transformation: basic idea Definition Examples Finding matrices Compositions of transformations Transposing normal vectors Multiplication of an n n matrix

More information

Algebra and Linear Algebra

Algebra and Linear Algebra Vectors Coordinate frames 2D implicit curves 2D parametric curves 3D surfaces Algebra and Linear Algebra Algebra: numbers and operations on numbers 2 + 3 = 5 3 7 = 21 Linear algebra: tuples, triples,...

More information

Trigonometric Substitutions.

Trigonometric Substitutions. E Trigonometric Substitutions. E. The Area of a Circle. The area of a circle of radius (the unit circle) is well-known to be π. We will investigate this with several different approaches, each illuminating

More information

Proof for special case: 2 people, 3 alternatives

Proof for special case: 2 people, 3 alternatives xyz xyz xy, xz yz, xz yz xy xzy xy, xz xzy xz xy, zy zy zxy xy xy, zy zx zxy zx, zy 1. Assume PAR is weaky Paretian and derive social preferences 2 xyz xyz xy, xz yz, xz yz xy xzy xy, xz xzy xz xy, zy

More information

1 Scalars, Vectors and Tensors

1 Scalars, Vectors and Tensors DEPARTMENT OF PHYSICS INDIAN INSTITUTE OF TECHNOLOGY, MADRAS PH350 Classical Physics Handout 1 8.8.2009 1 Scalars, Vectors and Tensors In physics, we are interested in obtaining laws (in the form of mathematical

More information

The Laplace Expansion Theorem: Computing the Determinants and Inverses of Matrices

The Laplace Expansion Theorem: Computing the Determinants and Inverses of Matrices The Laplace Expansion Theorem: Computing the Determinants and Inverses of Matrices David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created:

More information

Mechanics Cycle 2 Chapter 13+ Chapter 13+ Revisit Torque. Revisit Statics

Mechanics Cycle 2 Chapter 13+ Chapter 13+ Revisit Torque. Revisit Statics Chapter 13+ Revisit Torque Revisit: Statics (equilibrium) Torque formula To-Do: Torque due to weight is simple Different forms of the torque formula Cross product Revisit Statics Recall that when nothing

More information

Plane Trigonometry - Fall 1996 Test File

Plane Trigonometry - Fall 1996 Test File Plane Trigonometry - Fall 1996 Test File Test #1 1.) Fill in the blanks in the two tables with the EXACT values of the given trigonometric functions. The total point value for the tables is 10 points.

More information

This function is symmetric with respect to the y-axis, so I will let - /2 /2 and multiply the area by 2.

This function is symmetric with respect to the y-axis, so I will let - /2 /2 and multiply the area by 2. INTEGRATION IN POLAR COORDINATES One of the main reasons why we study polar coordinates is to help us to find the area of a region that cannot easily be integrated in terms of x. In this set of notes,

More information