Rotations and Translations Cherevatsky Boris. Mathematical terms The inner product of 2 vectors a,b...

Post on 11-Jan-2016

213 views 0 download

transcript

Rotations and Translations

Cherevatsky Boris

Mathematical terms The inner product of 2 vectors a,b is defined as:

The cross product of 2 vectors is defined as:

A unit vector will be marked as:

, , , , ,x y z x y z x x y y z za a a a b b b b a b a b a b a b

X

Representing a Point 3D A three-dimensional point

A is a reference coordinate system

here

z

y

xA

p

p

p

P

Representing a Point 3D (cont.)

Once a coordinate system is fixed, we can locate any point in the universe with a 3x1 position vector.

The components of P in {A} have numerical values which indicate distances along the axes of {A}.

To describe the orientation of a body we will attach a coordinate system to the body and then give a description of this coordinate system relative to the reference system.

Example

0

2

1

PB ?PA

30

134.05.02866.0)30sin()30cos( 00 YB

XB

XA PPP

232.2YAP

000.0

232.2

134.0

0

2

1

*

000.1000.0000.0

000.0866.0500.0

000.0500.0866.0

PA

000.0ZAP

AX

BX

AYBY

PB

30

Description of Orientation

ˆˆˆˆˆˆ

ˆˆ ˆˆ ˆˆ

ˆˆ ˆˆ ˆˆ

ˆˆˆ

ABABAB

ABABAB

ABABAB

BA

BA

BAA

B

ZZZYZX

YZYYYX

XZXYXX

ZYXR

BX

AX

BX

AYBY

is a unit vector in B

is a coordinate of a unit vector of B in coordinates system A (i.e. the projection of onto the unit direction of its reference)

BA X

BX

Example Rotating B relative to A around Z by30

000.1000.0000.0

000.0866.0500.0

000.0500.0866.0

RAB

AX

BX

AYBY

Example In general:

AX

BX

AYBY

100

0cossin

0sincos

ZABR

Using Rotation Matrices

PRP BAB

A

Translation

AX

AY

AZ

BX

BY

BZ

PB

BORGAP

BORGABA PPP

Combining Rotation and Translation

BORGABA

BA PPRP

AX

BX

PB

BORGAP

PAAY

BY

What is a Frame ? A set of four vectors giving position and

orientation information. The description of the frame can be

thought as a position vector and a rotation matrix.

Frame is a coordinate system, where in addition to the orientation we give a position vector which locates its origin relative to some other embedding frame.

Arrows Convention An Arrow - represents a vector drawn

from one origin to another which shows the position of the origin at the head of the arrow in terms of the frame at the tail of the arrow. The direction of this locating arrow tells us that {B} is known relative to {A} and not vice versa.

Mapping a vector from one frame to another – the quantity itself is not changed, only its description is changed.

Rotating a frame B relative to a frame A about Z axis by degrees and moving it 10 units in direction of X and 5 units in the direction of Y. What will be the coordinates of a point in frame A if in frame B the point is : [3, 7, 0]T?

Example

30

000.0

562.12

098.9

000.0

000.5

000.10

0.000

7.562

0.902-

000.0

000.5

000.10

000.0

000.7

000.3

000.1000.0000.0

000.0866.0500.0

000.0500.0866.0

PA

Extension to 4x4

110001

PPRP BBORG

AAB

A

We can define a 4x4 matrix operator and use a 4x1 position vector

Example

If we use the above example we can see that:

1000

000.0000.1000.0000.0

000.5000.0866.0500.0

000.10000.0500.0866.0

TAB

P in the coordinate system A

1

000.0

562.12

098.9

1

000.0

000.7

000.3

1000

000.0000.1000.0000.0

000.5000.0866.0500.0

000.10000.0500.0866.0

PA

Formula

PTP BAB

A

Compound Transformation

PTP BAB

A PTP CBC

B

PTTP CBC

AB

A TTT BC

AB

AC

Several Combinations

TTT

TTTT

TT

TTTTTT

BC

UB

UC

DC

DA

UA

UC

AU

UA

DC

BC

UB

DA

UA

UD

1

1

11

Example

Example

000.1000.0000.0000.0

000.0000.1000.0000.0

000.0000.0000.1000.0

000.3000.0000.0000.1

TAB

000.1000.0000.0000.0

000.2000.0000.0000.1

000.0500.0866.0000.0

000.0866.0500.0000.0

TBC

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

How can we compute the axis of rotation? (Eigenvector corresponding to eigenvalue 1).

Quaternions

The quaternion group has 8 members:

Their product is defined by the equation:

, , , 1i j k

2 2 2 1i j k ijk

Quaternions Algebra

We will call the following linear combination a quaternion. It can be written also as:

All the combinations of Q where a,b,c,s are real numbers is called the quaternion algebra.

Q s ia jb kc s v

, , ,Q s a b c

Quaternion Algebra

By Euler’s theorem every rotation can be represented as a rotation around some axis

with angle . In quaternion terms:

Composition of rotations is equivalent to quaternion multiplication.

K

1 2 3 42 2ˆ ˆ( , ) (cos( ) sin( ) ) ( , , , )Rot K K

Example

We want to represent a rotation around x-axis by 90 , and then around z-axis by 90 :

31 1

2 2 2

(cos(45 ) sin(45 ) )(cos(45 ) sin(45 ) )

( )( ) cos(60 )

3

( ),120

3

o o o o

o

o

k i

i j ki j k

i j kRot

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 quaternionsThe 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 )

Rodrigues formula

We would like to rotate a vector v around a unit vector u with angle the rotated vector will be:

cos sin , (1 cos )rotv v u v u v u