0% found this document useful (0 votes)
195 views31 pages

2D Transformation

2D transformations include translation, rotation, scaling, reflection, and shear. Transformations are used to manipulate objects without redrawing them. Multiple transformations can be combined, with translations and rotations being additive and scalings being multiplicative. Reflection produces a mirror image of an object across an axis.

Uploaded by

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

2D Transformation

2D transformations include translation, rotation, scaling, reflection, and shear. Transformations are used to manipulate objects without redrawing them. Multiple transformations can be combined, with translations and rotations being additive and scalings being multiplicative. Reflection produces a mirror image of an object across an axis.

Uploaded by

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

COMPUTER GRAPHICS

2D TRANSFORMATIONS
2D Transformations

“Transformations are the operations applied to


geometrical description of an object to change its
position, orientation, or size are called geometric
transformations”.
Why Transformations ?

“Transformations are needed to manipulate


the initially created object and to display the
modified object without having to redraw it.”
• Translation

• Rotation
• Scaling
• Uniform Scaling

• Un-uniform Scaling
• Reflection

• Shear
Translation
• A translation moves all points
in an object along the same
straight-line path to new
positions.
• The path is represented by a
vector, called the translation or P'(8,6)
shift vector.
• We can write the components:
p'x = px + tx t y=4
p'y = py + ty
P(2, 2) t x= 6
• or in matrix form:
P' = P + T

x' x tx
y' = + t
y
y
Rotation
• A rotation
repositions
all points in an object
along a circular path in P
the plane centered at
the pivot point. 

P
• First, we’ll assume
the pivot is at the
origin.
Rotation
• Review Trigonometry
=> cos  = x/r , sin = y/r
• x = r. cos , y = r.sin 
P’(x’, y’)

=> cos (+ ) = x’/r



•x’ = r. cos (+ )
r
•x’ = r.coscos -r.sinsin y’ P(x,y)
•x’ = x.cos  – y.sin 
 r y

=>sin (+ ) = y’/r x’ x
y’ = r. sin (+ )
•y’ = r.cossin + Identity of Trigonometry

r.sincos
• We can write the components:
Rotation
p'x = px cos  – py sin 
p'y = px sin  + py cos 

• or in matrix form: P’(x’, y’)


P' = R • P
  can be clockwise (-ve) or 
counterclockwise (+ve as our
example). y’
P(x,y)
• Rotation matrix
 r y
cos sin 
 
R   cos
sin x’ x

Scaling
• Scaling changes the size of an
object and involves two scale
factors, Sx and Sy for the x- and
y- coordinates respectively. P’
• Scales are about the origin.
• We can write the components:
p'x = sx • px
p'y = sy • py
P
or in matrix form:
P' = S • P
Scale matrix as:

s 0
S x
0 s 
y
Scaling

• If the scale factors are in between 0


and 1:----
  the points will be moved
closer to the origin P(2, 5)

  the object will be smaller.


P’
• Example :
•P(2, 5), S = 0.5, S = 0.5
x y
Scaling
• If the scale factors are in between 0
and 1  the points will be moved
P’
closer to the origin  the object will
be smaller.
• Example :
•P(2, 5), S = 0.5, S = 0.5
x y P(2, 5)

•If the scale factors are larger than 1


 the points will be moved away P’

from the origin  the object will be


larger.
• Example :
•P(2, 5), S = 2, S = 2
x y
Scaling
P’

• If the scale factors are the same, Sx


= Sy  uniform scaling
•Only change in size (as previous
example)
•If Sx  Sy  differential P(1, 2)
scaling.
•Change in size and shape
•Example : square  rectangle
•P(1, 3), Sx = 2, Sy = 5
General pivot point rotation
• Translate the object so that pivot-position is moved to
the coordinate origin
• Rotate the object about the coordinate origin
• Translate the object so that the pivot point is returned to
its original position
(xr,yr)

(b) (c) (d)


(a)
Translation of the object
Original Position Translation of Rotation was
so that the pivot point
of Object and object so that about origin
is returned to position
pivot point pivot point (xr,yr)
(xr,yr)
is at origin
General fixed point scaling
• Translate object so that the fixed point coincides with the
coordinate origin
• Scale the object with respect to the coordinate origin
• Use the inverse translation of step 1 to return the object to its
original position

(xf,yf)

(a) (b)
Translation of (c) (d)
Original Position
of Object and object so that scaling was Translation of the object
Fixed point fixed point about so that the Fixed point
(xf,yf)is at origin origin is returned to position
(xf,yf)
Composite Transformations
(A) Translations
If two successive translation vectors (tx1,ty1) and (tx2,ty2) are applied to a
coordinate position P, the final transformed location P’ is calculated
as: -
P’=T(tx2,ty2) . {T(tx1,ty1) .P}
={T(tx2,ty2) . T(tx1,ty1)} .P
Where P and P’ are represented as homogeneous-coordinate column
vectors. We can verify this result by calculating the matrix product for
the two associative groupings. Also, the composite transformation
matrix for this sequence of transformations is: -
1 0 tx2 • 0 • 0 tx1+tx2

0 1 ty2 tx1 = 0 1 ty1+ty2


0 0 1 . 0 1 ty1 0 0 1
Or, T(tx2,ty2) . T(t
0 x1,ty1) = T(tx1+tx2, ty1+ty2)
Which demonstrate that two successive translations are additive.
(B) Rotations
Two successive rotations applied to point P produce the transformed
position: -
P’= R(Ө2) . {R(Ө1 ) . P}
= {R(Ө2) . R(Ө1)} . P
By multiplication the two rotation matrices, we can verify that two
successive rotations are additive:
R(Ө2) . R(Ө1) = R (Ө1+ Ө2)
So that the final rotated coordinates can be calculated with the
composite rotation matrix as: -
P’ = R(Ө1+ Ө2) . P
(C) Scaling
Concatenating transformation matrices for two successive scaling
operations produces the following composite scaling matrix: -

Sx2 0 0 0 0 0 0
Sx1 Sx1 . Sx2

0
Sy2
0 . 0
Sy1
0 = 0
Sy1 .Sy2
0

0 0 1 0 0 1 0 0 1

Or, S(Sx2, Sy2 ) . S(Sx1, Sy1) = S (Sx1 . Sx2, Sy1 .Sy2 )

The resulting matrix in this case indicates that successive scaling


operations are multiplicative.
Other transformations
• Reflection is a transformation that produces a mirror image of
an object. It is obtained by rotating the object by 180 deg about
the reflection axis

Reflection about the line y=0, the


1 Original position X- axis , is accomplished with the
transformation matrix

1 0 0
2 3
2’ 3’ 0 -1 0
0 0 1

1’
Reflected
position
Reflection

Original position Reflected position

2 2’ Reflection about the line x=0, the


Y- axis , is accomplished with the
1 1’
transformation matrix
3 3’

-1 0 0
0 1 0
0 0 1
Reflection
Reflection of an object relative to an axis perpendicular to the
xy plane and passing through the coordinate origin
Y-axis

-1 0 0
Reflected position
0 -1 0
3’
0 0 1
2’

1’ The above reflection matrix is


Origin O X-axis the rotation matrix with
1 (0,0) angle=180 degree.
2 This can be generalized to any
reflection point in the xy plane.
3 This reflection is the same as a
180 degree rotation in the xy
Original position
plane using the reflection point
as the pivot point.
Reflection of an object w.r.t the
straight line y=x

0 1 0
Y-axis
Original position 1 0 0
3
0 0 1
2 1
1’
3’
Reflected position
2’
Origin O X-axis
(0,0)
Reflection of an object w.r.t the
Y
straight line y=-x
-axis

0 -1 0
-1 0 0
0 0 1
X-axis
Origin O 2
(0,0) 3
Original position
1
1’
2’ Line Y = - X
3’
Reflected position
Reflection of an arbitrary axis
y=mx+b
Original position
3

2 1
Original position Translation so that it passes through origin
3 Rotate so that it coincides with x-
Original position axis and reflect also about x-axis
3
2 1
2 1
Original position
2 3

1
1’
Rotate back Translate back
Original position
Original position 3 Reflected position
3
2’ 3’
2
2 1 1
1’ Reflected position 1’
3’
3’
2’ Reflected position
2’
Shear Transformations

• Shear is a transformation that distorts the shape of


an object such that the transformed shape appears
as if the object were composed of internal layers
that had been caused to slide over each other
• Two common shearing transformations are those
that shift coordinate x values and those that shift y
values
Shears

Original Data y Shear x Shear

1 0 0 1 shx 0
shy 1 0 1 0
0 0 0 1
0 0 1
An X- direction Shear
For example, Shx=2

(2,1) (3,1)
(0,1) (1,1)

(0,0) (1,0) (0,0) (1,0)


An Y- direction Shear
For example, Shy=2

Y (1,3)

Y (1,2)

(0,1) (1,1) (0,1)

X X
(0,0) (1,0) (0,0)

You might also like