0% found this document useful (0 votes)
74 views40 pages

2D/3D Geometric Transformations: CS485/685 Computer Vision Dr. George Bebis

This document discusses 2D and 3D geometric transformations including translation, scaling, rotation, and their composition. It introduces homogeneous coordinates to represent transformations as matrix multiplications. Key points: 1) 2D transformations include translation, scaling, and rotation which can be represented by transformation matrices and composed into a single transformation. 2) Homogeneous coordinates allow representing transformations as matrix multiplications and compositions. 3) 3D transformations follow similar principles as 2D but operate in three dimensions. Coordinate system changes require recovering the translation and rotation between systems.

Uploaded by

Programmer Kh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views40 pages

2D/3D Geometric Transformations: CS485/685 Computer Vision Dr. George Bebis

This document discusses 2D and 3D geometric transformations including translation, scaling, rotation, and their composition. It introduces homogeneous coordinates to represent transformations as matrix multiplications. Key points: 1) 2D transformations include translation, scaling, and rotation which can be represented by transformation matrices and composed into a single transformation. 2) Homogeneous coordinates allow representing transformations as matrix multiplications and compositions. 3) 3D transformations follow similar principles as 2D but operate in three dimensions. Coordinate system changes require recovering the translation and rotation between systems.

Uploaded by

Programmer Kh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 40

2D/3D Geometric Transformations

CS485/685 Computer Vision


Dr. George Bebis
2D Translation

• Moves a point to a new location by adding translation


amounts to the coordinates of the point.

or

or
2D Translation (cont’d)

• To translate an object, translate every point of the


object by the same amount.
2D Scaling
• Changes the size of the object by multiplying the
coordinates of the points by scaling factors.

or or
2D Scaling (cont’d)
• Uniform vs non-uniform scaling

• Effect of scale factors:


2D Rotation
• Rotates points by an angle θ about origin
(θ >0: counterclockwise rotation)

• From ABP triangle:

C B
A • From ACP’ triangle:
2D Rotation (cont’d)
• From the above equations we have:
or

or
Summary of 2D transformations

• Use homogeneous coordinates to express translation as


matrix multiplication
Homogeneous coordinates
• Add one more coordinate: (x,y)  (xh, yh, w)
• Recover (x,y) by homogenizing (xh, yh, w):

• So, xh=xw, yh=yw,

(x, y)  (xw, yw, w)


Homogeneous coordinates (cont’d)
• (x, y) has multiple representations in homogeneous
coordinates:
– w=1 (x,y)  (x,y,1)
– w=2 (x,y)  (2x,2y,2)

• All these points lie on a


line in the space of
projective
homogeneous space

coordinates !!
2D Translation using
homogeneous coordinates

w=1
2D Translation using
homogeneous coordinates (cont’d)
• Successive translations:
2D Scaling using
homogeneous coordinates

w=1
2D Scaling using
homogeneous coordinates (cont’d)
• Successive scalings:
2D Rotation using
homogeneous coordinates

w=1
2D Rotation using
homogeneous coordinates (cont’d)
• Successive rotations:

or
Composition of transformations
• The transformation matrices of a series of transformations
can be concatenated into a single transformation matrix.
* Translate P1 to origin
Example:
* Perform scaling and rotation
* Translate to P2
Composition of transformations (cont’d)

• Important: preserve the order of transformations!

translation + rotation rotation + translation


General form of transformation matrix
rotation, scale translation

• Representing a sequence of transformations as a single


transformation matrix is more efficient!

(only 4 multiplications and 4 additions)


Special cases of transformations
• Rigid transformations
– Involves only translation and
rotation (3 parameters)
– Preserve angles and lengths

upper 2x2 submatrix is ortonormal


Example: rotation matrix
Special cases of transformations
• Similarity transformations
– Involve rotation, translation, scaling (4 parameters)
– Preserve angles but not lengths
Affine transformations

• Involve translation, rotation, scale, and shear


(6 parameters)
• Preserve parallelism of lines but not lengths and
angles.
2D shear transformation
• Shearing along x-axis: changes object
shape!

• Shearing along y-axis


Affine Transformations
• Under certain assumptions, affine transformations can
be used to approximate the effects of perspective
projection! affine transformed object

G. Bebis, M. Georgiopoulos, N. da Vitoria Lobo, and M. Shah, " Recognition by learning


affine transformations", Pattern Recognition, Vol. 32, No. 10, pp. 1783-1799, 1999.
Projective Transformations
affine (6 parameters) projective (8 parameters)
3D Transformations

• Right-handed / left-handed systems


3D Transformations (cont’d)
• Positive rotation angles for right-handed systems:
(counter-clockwise rotations)
Homogeneous coordinates
• Add one more coordinate: (x,y,z)  (xh, yh, zh,w)
• Recover (x,y,z) by homogenizing (xh, yh, zh,w):

• In general, xh=xw, yh=yw, zh=zw

(x, y,z)  (xw, yw, zw, w)

• Each point (x, y, z) corresponds to a line in the 4D-space of


homogeneous coordinates.
3D Translation
3D Scaling
3D Rotation

• Rotation about the z-axis:


3D Rotation (cont’d)
• Rotation about the x-axis:
3D Rotation (cont’d)
• Rotation about the y-axis
Change of coordinate systems
• Suppose that the coordinates of P3 are given in the xyz
coordinate system
• How can you compute its coordinates in the RxRyRz
coordinate system?

(1) Recover the translation T and


rotation R from RxRyRz to xyz.
that aligns RxRyRz with xyz

(2) Apply T and R on P3 to compute


its coordinates in the RxRyRz system.
(1.1) Recover translation T

• If we know the coordinates of P1 (i.e., origin of RxRyRz)


in the xyz coordinate system, then T is:

1 0 0 –P1x
0 1 0 –P1y
T=
uy
0 0 1 –P1z
ux ux
000 1
(1.2) Recover rotation R
• ux, uy, uz are unit vectors in the xyz coordinate system.

• rx, ry, rz are unit vectors in the RxRyRz coordinate system


(rx, ry, rz are represented in the xyz coordinate system)

• Find rotation R: rz uz , rxux, and ry uy


R

uy

ux ux
Change of coordinate systems:
recover rotation R (cont’d)

uz=

ux=

uy=
Change of coordinate systems:
recover rotation R (cont’d)

Thus, the rotation matrix R


is given by:
Change of coordinate systems:
recover rotation R (cont’d)
• Verify that it performs the correct mapping:

rx  ux r y  uy rz  uz

You might also like