Transcript Document
II 2D Transformation
Transformations
• Transformations are needed to:
– Position objects defined relative to the origin
– Build scenes based on hierarchies
– Project objects from three to two dimensions
• Transformations include:
–
–
–
–
Translation
Scaling
Rotation
Reflections
• Transformations can be represented by matrices
and matrix multiplication
II-1
x
• Representation of Points: x y ;
y
• Transformation of Points
X T x
a b
*
y
(
ax
cy
)
(
bx
dy
)
x
c
d
y*
• Transformation of
Straight Lines
II-2
Rotation
• Consider rotation about the origin by q
degrees
– radius stays the same, angle increases by
q
x’ = r cos (f q)
y’ = r sin (f q)
x’=x cos q –y sin q
y’ = x sin q + y cos q
x = r cos f
y = r sin f
II-3
• The transformation for a general rotation
about the origin by an arbitrary angle q
cos q
T
sin q
sin q
cos q
X X T x *
*
cos q
T
sin q
y * x
sin q
cos q
sin q
cos q
x * cos q
X T X
y * sin q
*
cos q
y
sin q
sin q x
cos q y
II-4
Scaling
• Scaling increases or decreases the size of the
object
• Scaling occurs with respect to the origin
– If the object is not centered at the origin, it will move
in addition to changing size
• In general, this is done with the equations:
xn = s x * x
yn = s y * y
• This can also be done with the matrix
multiplication:
xn s x
y 0
n
0 x
s y y
II-5
• Example:
2 0
T
0 2
3 0
T
0
1
/
2
II-6
Reflection
• corresponds to negative scale factors
sx = -1 sy = 1
original
sx = -1 sy = -1
sx = 1 sy = -1
II-7
• The reflection about the x-axis (y=0) is
obtained by
1 0
T
0
1
• The reflection about the y-axis (x=0) is
obtained by
1 0
T
0
1
• The reflection about the y=x is obtained by
0 1
T
1 0
• The reflection about the y=-x is obtained by
0 1
T
1
0
II-8
II-9
II-10
Translations
• The amount of the translation is added to or
subtracted from the x and y coordinates
• In general, this is done with the equations:
xn = x + tx
y n = y + ty
• This can also be done with the matrix
multiplication:
xn 1 0 t x x
y 0 1 t y
y
n
1 0 0 1 1
xn
yn 1 x
1
y 1 0
t x
0
1
ty
0
0
1
II-11
Homogeneous Coordinates
• The two dimensional point (x, y) is represented by
the homogeneous coordinate (x, y, 1)
• Some transformations will alter this third
component so it is no longer 1
• In general, the homogeneous coordinate (x, y, w)
represents the two dimensional point (x/w, y/w)
• General transformation matrix:
a b 0
T c d 0
m n 1
a b m
T c d n
0 0 1
II-12
Order of Transformations
• Matrix multiplication is not commutative so
changing the order of transformation can change
the result
• For example,
changing the
order of a
translation and
a rotation
produces a
different result:
II-13
II-14
II-15
II-16
• Rotation about an arbitrary point m n through
an angle q
x
*
y * 1 x
0 0 cos q
1
y 1 0
1 0 sin q
m n 1 0
sin q
cos q
0
0 1 0 0
0 0 1 0
1 m n 1
II-17
II-18
II-19
II-20