Professional Documents
Culture Documents
2D Transformations (Contd.) : Types of Transformation
2D Transformations (Contd.) : Types of Transformation
2D TRANSFORMATIONS
(Contd.)
Types of Transformation
Affine Map: A map φ that maps E3 into itself is called an
affine Map if it leaves barycentric conditions invariant.
If x = ∑ β j a j , x, a j ∈ E 3
Then, φx = ∑ β jφa j φx, φa j ∈ E 3
1
Transformation Groups and
Symmetries
Affine transformations are classified (Felix
Klein) as follows
Similarity Groups: Rigid motion and scaling
Eg: Congruent, similar
Symmetry Groups:Rotation, Reflection, Translation
1. No translation and no reflection – Circle group
Eg: a gear wheel
2. No translation and at least one reflection –
Dihedral group
3. Translation along one direction
4. Translation along more than one direction
y
(x/h, y/h, 1)
y
x
h=1
x
h=0
2
¾ For example, both the points (6, 9, 3) and (4, 6, 2)
in the homogeneous coordinates corresponds to
(2, 3) in the Cartesian coordinates.
Conversely, the point (2, 1) of the Cartesian
corresponds to (2, 1, 1), (4, 2, 2) or (6, 3, 3) of the
homogeneous system
h
6, 3, 3)
(4, 2, 2)
y
y (2, 1, 1)
x
h=1
x
h=0
Rotation
Consider the following figure where a position vector p(x,y)
which makes an angle φ to x-axis after transformation
to p’(x’,y’) makes an angle φ+θ degrees.
P’(x’,y’)
P(x,y)
P= [x y] = [rcosφ rsinφ]
θ
P’= [x’ y’] = [rcos(φ+θ ) rsin(φ+θ )] φ
= [r(cosφcosθ - sinφsinθ) r(cosφsinθ+ sinφcosθ) ]
Using the definition of x=rcosφ and y=rsinφ, we can write
P’= [x’ y’] = [x cosθ – y sinθ x sinθ +y cosθ ] or the transformation
matrix is
⎡ cos θ sin θ ⎤
[X ][T ] = [x y ]⎢
⎣− sin θ cos θ ⎥⎦
3
Some Common Cases of Rotation
Rotation of 90° counter clockwise about the origin
cos θ sin θ ⎤ ⎡ 0 1⎤
[T ] = ⎡⎢ =
⎣− sin θ cos θ ⎥⎦ ⎢⎣− 1 0⎥⎦
Rotation of 180° counter clockwise about the origin
cos θ sin θ ⎤ ⎡− 1 0 ⎤
[T ] = ⎡⎢ =
⎣− sin θ cos θ ⎥⎦ ⎢⎣ 0 − 1⎥⎦
cos θ sin θ ⎤ ⎡0 − 1⎤
[T ] = ⎡⎢ =
⎣− sin θ cos θ ⎥⎦ ⎢⎣1 0 ⎥⎦
[T ] = ⎡⎢
1 0⎤
⎥
⎣0 − 1⎦
4
Reflection- Properties
If two pure reflections about a line passing through
the origin are applied successively the result is
a pure rotation.
5
Example
Show that the following transformation
matrix gives a pure rotation
⎡1 − t 2 2t ⎤
⎢ ⎥
[T ] = ⎢1 + t 1+ t 2 ⎥
2
⎢ − 2t 1− t ⎥2
⎣⎢1 + t 2 1 + t 2 ⎦⎥
⎛ 1 − t 2 ⎞⎛ 1 − t 2 ⎞ ⎛ − 2t ⎞⎛ 2t ⎞
det[T ] = ⎜⎜ ⎟⎜
2 ⎟⎜
⎟−
2 ⎟ ⎜ 2 ⎟⎜ 2 ⎟
=1
⎝ 1 + t ⎠⎝ 1 + t ⎠ ⎝ 1 + t ⎠⎝ 1 + t ⎠
Example
A A unit square is transformed by a 2×2
transformation matrix. The resulting position
⎡0 0 ⎤
vectors are: ⎢ ⎥ 2 3⎥
[x ′] = ⎢
⎢8 4 ⎥
⎢ ⎥
⎣6 1 ⎦
Determine the transformation matrix used.
⎡0 0⎤ ⎡ 0 0 ⎤ ⎡0 0⎤
Ans: ⎢1 ⎥
0⎥ ⎡ a b ⎤ ⎢ a⎢ b ⎥⎥ ⎢⎢2 3⎥⎥ ⎡2 3⎤
[ x′] = [ X ][T ] = ⎢ ⎢ ⎥ = = ;∴[T ] = ⎢ ⎥
⎢1 1 ⎥ ⎣ c d ⎦ ⎢ a + c b + d ⎥ ⎢8 4⎥ ⎣ 6 1⎦
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣0 1⎦ ⎣ c d ⎦ ⎣6 1⎦
6
Example
Show that the shear transformation in x and y
directions together is not the same as shear
along x followed by shear along y?
Ans:
⎡1 b ⎤ ⎡1 0⎤ ⎡1 + bc b ⎤ ⎡1 b ⎤
⎢0 1 ⎥ ⎢c 1 ⎥ = ⎢ c ≠
1⎥⎦ ⎢⎣c 1⎥⎦
⎣ ⎦⎣ ⎦ ⎣
⎡1 0⎤ ⎡1 b ⎤ ⎡1 b ⎤ ⎡1 b⎤
⎢c 1⎥ ⎢0 1⎥ = ⎢c 1 + bc ⎥ ≠ ⎢c 1⎥
⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Example Problem
• Consider a triangle whose vertices are (2 2), (4 2) and (4 4). Find the
concatenated transformation matrix and the transformed vertices for
rotatation of 90 about the origin followed by reflection through the line
y = -x. Comment on the sequence of transformations.
⎡ 2 2⎤ ⎡ 2 2⎤ ⎡ − 2 2⎤
⎢ ⎥ ⎡ 0 1⎤ ⎡ 0 − 1⎤ ⎢ ⎥ ⎡ − 1 0⎤ ⎢ ⎥
[ X }[T1 }[T2 } = [ X }[T } = ⎢4 2⎥ ⎢ ⎥ ⎢ − 1 0 ⎥ = ⎢ 4 2⎥ ⎢ 0 1 ⎥ = ⎢ − 4 2⎥
− 1 0
⎢⎣4 4⎥⎦ ⎣ ⎦⎣ ⎦ ⎢ 4 4⎥ ⎣
⎣ ⎦
⎦ ⎢ − 4 4⎥
⎣ ⎦
7
Example Problem: Solution
8
⎡ x" ⎤ ⎡cos θ − sin θ 0⎤ ⎡ x' ⎤ ⎡cos θ − sin θ 0⎤ ⎡1 0 Tx ⎤ ⎡ x ⎤
⎢ y"⎥ = ⎢ sin θ cos θ 0⎥⎥ ⎢⎢ y ' ⎥⎥ = ⎢⎢ sin θ cos θ 0⎥⎥ ⎢⎢0 1 Ty ⎥⎥ ⎢⎢ y ⎥⎥
⎢ ⎥ ⎢
⎢⎣ w"⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎢⎣ w'⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ w⎥⎦
⎡cos θ − sin θ Tx cos θ − Ty sin θ ⎤ ⎡ x ⎤
= ⎢⎢ sin θ cos θ Tx sin θ + Ty cos θ ⎥⎥ ⎢⎢ y ⎥⎥
⎢⎣ 0 0 1 ⎥⎦ ⎢⎣ w⎥⎦
(m, n)
9
¾ Rotation about an arbitrary point
(m, n)
P =[x y h]
Rotation about an arbitrary point
1. Translate the point(-m, -n) to the origin P(m, n)
2. Rotate the object about the origin by θo
3. Translate back (m,n)
10
y =mx+b
Reflection O(3)
Reflection is a special case
of rotation SO(3) when angel of rotation
is 180° about an axis in the plane b
θ
−1
θ = tan (m)
sin(180) = 0, cos(180) = −1
⎡1 0 0⎤
[T ] = ⎢⎢0 − 1 0⎥⎥
⎢⎣0 0 1⎥⎦
y =mx+b
Reflection about an arbitrary line
1. Translate (0, -b) so that the line
passes through the origin
2. Rotate the line about the x axis by -θo
b
3. Reflect object about the x axis θ
4. Rotate back the line by θo
5. Translate back (0,b)
θ = tan −1 (m)
[T ] = [Tt ][Tr ][R ][Tr ] [Tt ] −1 −1
⎡1 0 0 ⎤⎡ 2/ 5 1/ 5 0 ⎤ ⎡1 0 0⎤ ⎡2 / 5 −1 / 5 0 ⎤ ⎡1 0 0 ⎤ Alternate
[T ] = ⎢ 0 1 −2
⎥ ⎢ −1/ 5 2/ 5 0
⎥ ⎢0 −1 0
⎥ ⎢1/ 5 2/ 5 0
⎥ ⎢0 1 2
⎥ Method?
⎣0 0 1 ⎦⎣ 0 0 1 ⎦ ⎣0 0 1⎦ ⎣ 0 0 1 ⎦ ⎣0 0 1⎦
⎡3 / 5 4 / 5 −8 / 5 ⎤ ⎡2 4 2 ⎤ ⎡14 / 5 28 / 5 22 / 5 ⎤
⎢4 / 5 −3 / 5 16 / 5
⎥ ⎢4 6 6
⎥ = ⎢12 / 5 14 / 5 6 / 5
⎥
⎣0 0 1 ⎦ ⎣1 1 1 ⎦ ⎣ 1 1 1 ⎦
11
Mid-point Transformation
Consider a straight line between
A(x1,y1) and B(x2,y2). Let us try A* M’ B*
E
to transform this line B
using a general a 2×2 transformation matrix
M
⎡a b ⎤
[T ] = ⎢ ⎥ F’
⎣c d ⎦ A
⎡ A *⎤ ⎡ A⎤ ⎡ x1 y1 ⎤ ⎡a b ⎤ ⎡ ax1 + cy1 bx1 + dy1 ⎤ ⎡ x1* y1* ⎤
⎢ B *⎥ = ⎢ B ⎥[T ] = ⎢ x =
y2 ⎥⎦ ⎢⎣ c d ⎥⎦ ⎢⎣ax2 + cy2
=⎢
bx2 + dy2 ⎥⎦ ⎣ x2*
⎥
⎣ ⎦ ⎣ ⎦ ⎣ 2 y2* ⎦
⎡ x* + x2* y1* + y2* ⎤ ⎡ ax1 + cy1 + ax2 + cy2
[x *
m ]
ym* = ⎢ 1
2 ⎦ ⎢⎣
⎥=
bx1 + dy1 + bx2 + dy2 ⎤
⎥⎦
⎣ 2 2 2
⎡ x +x y + y2 x +x y + y2 ⎤
= ⎢a 1 2 + c 1 b 1 2 +d 1 (1)
⎣ 2 2 2 2 ⎥⎦
⎡x + x y1 + y2 ⎤ ⎡a b ⎤ ⎡ x1 + x2 y + y2 x1 + x2 y + y2 ⎤
[x ' m y 'm ] = ⎢ 1 2 = a +c 1 +d 1 ( 2)
2 ⎥⎦ ⎢⎣ c d ⎥⎦ ⎢⎣
b
⎣ 2 2 2 2 2 ⎥⎦
Mid-point Transformation
From (1) and (2) we can conclude that by recursively
continuing this process, we will cover all A* M’ B*
E
points on the line AB and hence their B
images on A*B* by corresponding map.
M
A F’
But a general proof of end points transformation actually transforms
the whole line can be given usign the section formula. Any point m
that divides the line AB in the ratio p:q can be given as:
1
m= ( pb + qa)
p+q
Needless to say that the same is applicable to A*B*. The special case
of mid point transformation occurs when p:q=1.
12
E’
Transformation of intersecting lines
When two intersecting lines are
transformed using A’ B’
E
general 2x2 transformation
B
matrix the resulting lines are
also intersecting
Consider 2 intersection lines F F’
y = m1 x + b1 A
y = m2 x + b2 ⎡ b −b b1m2 − b2 m1 ⎤
[X i ] = [xi
yi ] = ⎢ 1 2 ⎥
The point of intersection: ⎣ m2 − m1 m2 − m1 ⎦
⎡a b ⎤
Transformed point of ⇒ [X i ]⎢ ⎥
intersection: ⎣c d ⎦
E’
Transformation of intersecting lines
Observe these points
A’ B’
In the last slide E
1. A pair of non-perpendicular lines B
get transformed to perpendicular lines
F F’
2. By inverse T-1 a pair of perpendicularA
lines can get transformed to non-perpendicular
lines
3. Such a result can have disastrous effect
on the resulting geometry
13
Transformation of two parallel lines
When two parallel lines are transformed using general 2x2
transformation matrix the resulting lines remain parallel
Consider 2 lines parallel to each other between the end
points A(x1,y1),B(x2,y2) and CD. Since they are parallel
the slope is the same given by y − y1
m= 2
x 2 − x1
a c ⎤ ⎡ x1 x 2 ⎤ ⎡ ax1 + cy1 ax 2 + cy 2 ⎤
[T ][X ] = ⎡⎢ ⎥⎢ =
⎣b d ⎦ ⎣ y1 y 2 ⎥⎦ ⎢⎣bx1 + dy1 bx 2 + dy 2 ⎥⎦
(bx2 + dy 2 ) − (bx1 + dy1 ) b( x 2 − x1 ) + d ( y 2 − y1 )
m′ = =
(ax 2 + cy 2 ) − (ax1 + cy1 ) a( x 2 − x1 ) + c( y 2 − y1 )
( y 2 − y)
b+d
( x 2 − x1 ) 1 b + dm
m′ = =
( y 2 − y1 ) a + cm
a+c
( x 2 − x1 )
( )v v
V1×V2 = V1 xV2 x −V1 yV2 y k = V1 V2 k sin θ
Let us now transform these vectors by general 2x2 T and find dot and
cross products again
14
Transformation of Unit square and area
Observe unit square being scaled and sheared along x
and y axes simultaneously
C’
D’ (a+c, b+d)
(c,d)
D C
(a,b)
B’
A B (o,0)
A’
⎡0 1 1 0 ⎤ ⎡ a c ⎤ ⎡ 0 1 1 0 ⎤ ⎡0 a a + c c⎤
P=⎢ ⎥ ; ′ = ⎢ b d ⎥ ⎢ 0 0 1 1 ⎥ = ⎢0 b b + d d ⎥⎦
and P
⎣0 0 1 1 ⎦ ⎣ ⎦⎣ ⎦ ⎣
1 1
A p = ( a + c )( b + d ) − 2 ( ab ) − 2 ( cd )
− c ( b + b + d ) − b ( c + a + c ) = ad −bc
2 2
= det[T ]
∴ A p = As det[T ]
15
Geometrical Interpretation of Overall Scaling
⎡1 0 0⎤
[x * y * h] = [x y 1]⎢⎢0 1 0⎥⎥ = [x y s]
⎢⎣0 0 s ⎥⎦
⎡x y ⎤
⎢⎣ s 1
s ⎥⎦
=
h<1
h=1
h>1
Viewing Transformations
• It is a transformation from world CS to Screen CS. The
dimensions of the WCS may be in any chosen system of units SI
or FPS etc the latter is measured in pixels.
1. Translate the MCS base point to origin
2. Apply the scaling necessary to fit into the screen limits (xmin,ymin
and xmax ymax)
3. Move the base point back to its original position
16
Translation
Translation + Dilation
17
Translation + Rotation
• What are the invariants?
• Lengths
• Angles
• Which transformation
group?
• Congruent
• det[T]=1
Reflection
18
Reflection+Translation=Glide
• Congruent
a
• det[T] = -1
• Glide= Rm+Ta=Ta+Rm
Shear Transformation
• Which transformation
5 10
group?
• affine
-2
-4
19
Projective Transformation
• Cross ratios of
lengths 2
• Order of curves 5 10
-2
-4
Isometries of a Square
• How many isometries? Cayle Table of isometries of a square
• identity i 90 180 270 H V D1 D2
H H D2 V D1 i 180 270 90
h v D1 D2 V V D1 H D2 180 i 90 270
D1 D1 H D2 V 90 270 i 180
D2 D2 V D1 H 270 90 180 i
20
Transformations Possible in different
Geometries
Transformation / Euclidian Similarity Affine Projective
Geometries
Rotation 3 3 3 3
Translation 3 3 3 3
Uniform Scaling U 3 3 3
Non-uniform Scaling U U 3 3
Shear U U 3 3
Central Projection U U U 3
21