Transcript tutorial3x

Rotations and Translations
Euler Theorem + Quaternions
Representing a Point 3D

A three-dimensional point
 px 


A
P   py 
 p z 
A is a reference coordinate system here
Rotation along the Z axis

In general:
cos 

A


B RZ    sin 
 0
 sin 
cos 
0
0

0
1
ŶB
ŶA
X̂ B

X̂ A
Using Rotation Matrices
A
P R P
A
B
B
Combining Rotation and
Translation
A
P R P PBORG
A
B
B
A
ŶB
B
P
X̂ B
ŶA
A

P
A
X̂ A
PBORG
Extension to 4x4

We can define a 4x4 matrix operator and use
a 4x1 position vector
  
 A P 
 
  
  
 1  0
A
B
R
0
0
 
A
PBORG   B P 
 
 
1  1 
Formula
A
P T P
A
B
B
Notes


Homogeneous transforms are useful in
writing compact equations; a computer
program would not use them because
of the time wasted multiplying ones and
zeros. This representation is mainly for
our convenience.
For the details turn to chapter 2.
Euler’s Theorem

Any two independent orthonormal
coordinate frames can be related by a
sequence of rotations (not more than
three) about coordinate axes, where no
two successive rotations may be about
the same axis.
Euler Angles


This means, that we can represent an
orientation with 3 numbers
Assuming we limit ourselves to 3
rotations without successive rotations
about the same axis:
Example
Another Example




Suppose we want to use ZXZ rotation,
Rotation along Z axis, 𝛾
Rotation along X axis, 𝛽
Rotation along Z axis, 𝛼
Example - Cont

Let’s see what happens if, 𝛽 = 0
Example – Cont 2

Changing 𝛼's and 𝛾's values in the
above matrix has the same effects: the
rotation's angle changes, but the
rotation's axis remains in the 𝑍 direction
Gimbal Lock

Gimbal Lock Animation
Euler Angle - Matlab




If we want to rotate Roll,Pitch and Yaw
Roll 0.1 degrees
Pitch 0.2 degrees
Yaw 0.3 degrees
>> rotx(0.1)*roty(0.2)*rotz(0.3)
ans =
0.9363 -0.2896 0.1987
0.3130 0.9447 -0.0978
-0.1593 0.1538 0.9752
Euler Angle – Matlab cont.
>> rpy2r(0.1,0.2,0.3)
ans =
0.9363 -0.2896 0.1987
0.3130 0.9447 -0.0978
-0.1593 0.1538 0.9752
Euler Theorem

In three-dimensional space, any
displacement of a rigid body such that a
point on the rigid body remains fixed, is
equivalent to a single rotation about
some axis that runs through the fixed
point.
Euler Theorem - Matlab
R=
0.9363 -0.2896 0.1987
0.3130 0.9447 -0.0978
-0.1593 0.1538 0.9752
[theta, v] = tr2angvec(R)
theta =
0.3816
v=
0.3379
0.4807
0.8092
Euler Theorem – Matlab cont.
>> angvec2r(0.3816, [0.3379,0.4807,0.8092])
ans =
0.9363 -0.2897 0.1987
0.3130 0.9447 -0.0979
-0.1593 0.1538 0.9752
3D Rotations - Matlab
R = rotx(pi/2);
trplot(R)
tranimate(R)
HW
Quaternions


The quaternion group has 8 members:
i,  j ,  k , 1
Their product is defined by the
equation:
i  j  k  ijk  1
2
2
2
Example

Calculate
ij  ?
ijk  1
ijkk  k
k  ijkk  ijk  ij ( 1)
ij  k
2
Quaternions - Algebra

Using the same methods, we can get to
the following:
Quaternions Algebra
We will call the following linear combination
Q  s  ia  jb  kc   s  v 
a quaternion. It can be written also as:
Q   s, a, b, c 
All the combinations of Q where a,b,c,s are
real numbers is called the quaternion
algebra.
Quaternion Algebra
By Euler’s theorem every rotation can be
represented as a rotation around some axis
K̂ with angle  .
In quaternion terms:
Rot ( Kˆ , )  (cos( 2 )  sin( 2 ) Kˆ )  (1,  2 ,  3 ,  4 )
Composition of rotations is equivalent to
quaternion multiplication.
Example
We want to represent a rotation around x-axis
by 90 , and then around z-axis by 90 :
(cos(45 )  sin(45 )k )(cos(45 )  sin(45 )i) 
o
o
o
  (i  j  k )  cos(60 ) 
1
2
1
2
 (i  j  k )
o
Rot 
,120 
3


o
o
3
2
(i  j  k )

3
Rotating with quaternions
We can describe a rotation of a given vector v
around a unit vector u by angle  :
this action is called conjugation.
* Pay attention to the inverse of q (like in
complex numbers) !
Rotating with quaternions
The rotation matrix corresponding to a rotation
by the unit quaternion z = a + bi + cj + dk
(with |z| = 1) is given by:
Its also possible to calculate the quaternion
from rotation matrix:
Look at Craig (chapter 2 p.50 )