SlideShare a Scribd company logo
2D TRANSFORMATIONS
Overview
 2D Transformations
• Basic 2D transformations
• Matrix representation
• Matrix composition
Basic 2D transformations
 The basic geometric transformations
are translation, rotation, and scaling.
Other transformations that are often
applied to objects include reflection and
shearing.
Translation
x’= x + tx
y’= y + ty
The translation distance pair (tx,ty) is called a
translation vector or shift vector
P = x1 P’= x1’ T = tx
x2 x2’ ty
This allows us to write the two dimensional translation
equations in the matrix form
P’ = P + T
Translation Illustration
P’
P
Rotation 1
r
r
Ф
(x,y)
(x’,y’)
The original coordinates of the point in Polar Coordinates are
X= r cos (Ф) y = r sin (Ф)
θ
Rotation 2
 x’ = r cos (Ф + θ) = r cos Ф cos θ – r sin Ф sin θ
Y’ = r sin (Ф + θ) = r cos Ф sin θ + r sin Ф cos θ
 x’ = x cos θ – y sin θ
Y’ = x sin θ + y cos θ
 P’ = R.P
 R = cos θ - sin θ
sin θ cos θ
Rotation 3
 x’ = xr + (x – xr) cos θ – (y – yr) sin θ
 Y’ = yr + (x – xr) sin θ + ( y – yr) cos θ
r
r
Ф
θ
(x,y)
(x’,y’)
(xr,yr)
Scaling
 Scaling a coordinate means multiplying each of its
components by a scalar
 Uniform scaling means this scalar is the same for all
components:
 2
 Non-uniform scaling: different scalars per
component:
 How can we represent this in matrix form?
Scaling
X  2,
Y  0.5
Scaling 1
 X’ = x. sx y’ = y.sy
x’ sx 0 x
y’ 0 sy y
 P’ = S . P
Turning a square
into a rectangle
with scaling factors
sx= 2 and sy =1.5
Scaling 2
Using sx= sy = 0.5 the line is
reduced in size and moved
closer to the origin
p1
p2
p3
(xf,yf)
Scaling relative to a chosen fixed point (xf, yf) .
Distances from each polygon vertex to the fixed
point are scaled y transformation equations
X’ = xf + (x- xf) sx
Y’ = yf + (y-yf) sy
Homogeneous Coordinates
 Many graphics applications involve sequences of
geometric transformations. such as rotation ,translation
and scaling .
 To achieve this we have to represent matrix as 3 X 3
instead of 2 X 2 introducing an
additional dummy coordinate h. This coordinate system is
called as Homogeneous coordinate system
 It allows expressing transformation equation as
matrix multiplication.
Homogeneous Coordinates
 Homogeneous
coordinates
• represent coordinates in
2 dimensions with a 3-
vector










 





1
coordsshomogeneou
y
x
y
x
Homogeneous Coordinates
 Q: How can we represent translation as
a 3x3 matrix?
A: Using the rightmost column:











100
10
01
y
x
t
t
ranslationT
y
x
tyy
txx


'
'
Translation
 Example of translation
 












































11100
10
01
1
'
'
y
x
y
x
ty
tx
y
x
t
t
y
x
tx = 2
ty = 1
Homogeneous
Coordinates
Basic 2D Transformations
 P’ = T ( tx , ty ) . P P’= S(sx, sy) .P

 P’= R(θ) .P

































1100
0cossin
0sincos
1
'
'
y
x
y
x































1100
10
01
1
'
'
y
x
t
t
y
x
y
x































1100
01
01
1
'
'
y
x
sh
sh
y
x
y
x
Translate
Rotate Shear































1100
00
00
1
'
'
y
x
s
s
y
x
y
x
Scale
Matrix Composition
 A composite transformation is a sequence of
transformations; one followed by the
other.
 We can set up a matrix for any sequence of
transformations as a composite transformation matrix by
calculating the matrix product of the individual
transformations.
Matrix Composition
 Transformations can be combined by
matrix multiplication



















































w
y
x
sy
sx
ty
tx
w
y
x
100
00
00
100
0cossin
0sincos
100
10
01
'
'
'
p’ = T(tx,ty) R() S(sx,sy) p
Successive translations
Successive translations are additive
P’= T(tx1, ty1) .[T(tx2, ty2)] P
= {T(tx1, ty1). T(tx2, ty2)}.P
T(tx1, ty1). T(tx2, ty2) = T(tx1+tx2 , ty1 + ty2)
1 0 tx1+tx2
0 1 ty1+ty2
0 0 1
1 0 tx1
0 1 ty1
0 0 1
1 0 tx2
0 1 ty2
0 0 1
=
Successive rotations
 By multiplying two rotation matrices , we can verify that two
successive rotations are additive
P’= R(θ2) .{ R(θ1). P }
= { R (θ2). R(θ1)}.P
{ R (θ2). R(θ1)} = R(θ1 + θ2)
P’ = R(θ1 + θ2) . P
Successive Scaling operations
Sx1.sx2 0 0
0 sy1sy2 0
0 0 1
sx1 0 0
0 sy1 0
0 0 1
sx2 0 0
0 sy2 0
0 0 1
=
S(sx2,sy2).S(sx1,sy1) = S(sx1.sx2 , sy1,sy2)
The resulting matrix in this case indicates that successive scaling
operations are multiplicative
General pivot point rotation
 With a graphics package that only provides a rotate
function for revolving objects about the coordinate origin,
we can generate rotations about any selected pivot point
(x, y,) by performing sequence of translate-rotate translate
operations.
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)
(a)
Original Position
of Object and
pivot point
(b)
Translation of
object so that
pivot point
(xr,yr)is at origin
(c)
Rotation was
about origin
(d)
Translation of the object
so that the pivot point is
returned to position
(xr,yr)
General pivot point rotation
1 0 xr
0 1 yr
0 0 1
cosθ -sinθ 0
sinθ cosθ 0
0 0 1
1 0 -xr
0 1 -yr
0 0 1
=
cosθ -sinθ xr(1- cosθ)+ yr sinθ
sinθ cosθ yr(1- cosθ) - xr sinθ
0 0 1
Can also be expressed as T(xr,yr).R(θ).T(-xr,-yr) = R(xr,yr,θ)
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)
Original Position
of Object and
Fixed point
(b)
Translation of
object so that
fixed point
(xf,yf)is at origin
(c)
scaling was
about origin
(d)
Translation of the object
so that the Fixed point
is returned to position
(xf,yf)
General fixed point Scaling
1 0 xf
0 1 yf
0 0 1
sx 0 0
0 sy 0
0 0 1
1 0 -xf
0 1 -yf
0 0 1
=
sx 0 xf(1- sx)
0 sy yf(1- sy)
0 0 1
Can also be expressed as T(xf,yf).S(sx,sy).T(-xf,-yf) = S(xf, yf, sx, sy)
Transformations Properties
 Concatenation properties
A.B.C = (A.B).C = A.(B.C)
Matrix products can be evaluated from left to right or from right
to left
 However they are not commutative
A.B ≠ B.A
 Hence one must be careful in order that the composite
transformation matrix is evaluated
Matrix Composition
 Be aware: order of transformations
matters
• Matrix multiplication is not commutative
p’ = T * R * S * p
“Global” “Local”
Order of Transformations
 Reversing the order in which a sequence of transformations is
performed may effect the transformed position of an object.
 In (a) object is first translated , then rotated
 In (b) the object is rotated first and then translated
(a) (b)
General Composite
transformations
 A general 2D transformation representing a combination of translations,
rotations and scalings are expressed as,
 rsij represent multiplicative rotation-scaling terms , trsx and trsy are the
translational terms containing combinations of translations and scaling
parameters
X’
Y’
1
=
rsxx rsxy trsx
rsyx rsyy trsy
0 0 1
X
Y
1
Composite transformations
 For example , if an object is to be scaled and rotated about its
center coordinates (xc,yc) and then translated , the composite
transformation matrix looks like
 T(tx,ty). R(xc,yc,θ) . S(xc, yc, sx, sy)
=
sxcosθ -sysinθ xc(1-sxcosθ) + yc sy sinθ +tx
sxsin θ sycos θ yc(1-sycosθ) – xc sx sinθ + ty
0 0 1
Represents 9 multiplications and 6 additions
Composite Transformations
 The explicit calculation has only 4 multiplications and 4
additions
x’ = x.rsxx + y.r sxy + tr sx
y’ = x. rsyx + y. rsyy + tr sy
 The efficient implementation is to
• Formulate transformation matrices
• Concatenate transformation sequence
• Calculate transformed coordinates using the explicit
equation shown above
A general rigid body
transformation matrix
 A general rigid body transformation involving only translations
and rotations can be expressed in the form
rxx rxy trx
ryx ryy try
0 0 1
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
1
2 3
3’2’
1’
Original position
Reflected position
Reflection about the line y=0, the
axis , is accomplished with the
transformation matrix
1 0 0
0 -1 0
0 0 1
Reflection
-1 0 0
0 1 0
0 0 11’
3’
2’
3
2
1
Original position Reflected position
Reflection
-1 0 0
0 -1 0
0 0 1
1’
2’
3’
3
2
1
Original position
Reflected position
Reflection of an object
relative to an axis
perpendicular to the xy plane
and passing through the
coordinate origin
Reflection of an object w.r.t the
line y=x
0 1 0
1 0 0
0 0 1
1’
3’
2’
3
2 1
Original position
Reflected position
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
 An x direction shear relative to the x axis is produced with the
transformation matrix
1 shx 0
0 1 0
0 0 1
Which transforms coordinate positions as
X’ = x + shx.y y’ =y
Shear tranformations
Yref =-1
Yref =-1
(0,1) (1,1)
(1,0)(0,0)
(1,1) (2,1)
(3/2,0)(1/2,0)
We can generate x-direction shears relative to other referance lines with
1 shx -shx yref
0 1 0
0 0 1
With coordinate positions transformed as
X’= x + shx (y - yref) y’ = y
Shear transformation
A y-direction shear relative to the line x = xref is generated with the
transformation matrix
1 0 0
Shy 1 -shy.xref
0 0 1
This generates transformed coordinate
positions
X’ = x y’ = shy (x – xref) + y
(1,1)(0,1)
(0,0) (1,0)
(1,2)
(1,1)
(0,1/2)
(0,3/2)
Xref = -1
Affine Transformations
 Affine transformations are combinations of …
• Linear transformations, and
• Translations
 Properties of affine transformations:
• Origin does not necessarily map to origin
• Lines map to lines
• Parallel lines remain parallel after transformation
• X=axxx+axyy=bx
• Y=ayxx+ayyy+by

























w
y
x
fed
cba
w
y
x
100
'
'
2d transformation
2d transformation

More Related Content

What's hot

Ellipses drawing algo.
Ellipses drawing algo.Ellipses drawing algo.
Ellipses drawing algo.
Mohd Arif
 
3 d geometric transformations
3 d geometric transformations3 d geometric transformations
3 d geometric transformations
Mohd Arif
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.
Mohd Arif
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
Ankit Garg
 
Circle drawing algo.
Circle drawing algo.Circle drawing algo.
Circle drawing algo.
Mohd Arif
 
Composite transformations
Composite transformationsComposite transformations
Composite transformations
Mohd Arif
 
Circle generation algorithm
Circle generation algorithmCircle generation algorithm
Circle generation algorithm
Ankit Garg
 

What's hot (20)

Ellipses drawing algo.
Ellipses drawing algo.Ellipses drawing algo.
Ellipses drawing algo.
 
transformation 3d
transformation 3dtransformation 3d
transformation 3d
 
3 d geometric transformations
3 d geometric transformations3 d geometric transformations
3 d geometric transformations
 
Spline representations
Spline representationsSpline representations
Spline representations
 
2 d transformations by amit kumar (maimt)
2 d transformations by amit kumar (maimt)2 d transformations by amit kumar (maimt)
2 d transformations by amit kumar (maimt)
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.
 
Shading
ShadingShading
Shading
 
Unit 3
Unit 3Unit 3
Unit 3
 
Raster scan system & random scan system
Raster scan system & random scan systemRaster scan system & random scan system
Raster scan system & random scan system
 
Parallel projection
Parallel projectionParallel projection
Parallel projection
 
Homogeneous Representation: rotating, shearing
Homogeneous Representation: rotating, shearingHomogeneous Representation: rotating, shearing
Homogeneous Representation: rotating, shearing
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
 
Bresenham's line algorithm
Bresenham's line algorithmBresenham's line algorithm
Bresenham's line algorithm
 
Circle drawing algo.
Circle drawing algo.Circle drawing algo.
Circle drawing algo.
 
3D Transformation
3D Transformation3D Transformation
3D Transformation
 
Bresenham algorithm
Bresenham algorithmBresenham algorithm
Bresenham algorithm
 
Composite transformations
Composite transformationsComposite transformations
Composite transformations
 
4. THREE DIMENSIONAL DISPLAY METHODS
4.	THREE DIMENSIONAL DISPLAY METHODS4.	THREE DIMENSIONAL DISPLAY METHODS
4. THREE DIMENSIONAL DISPLAY METHODS
 
3D Transformation
3D Transformation3D Transformation
3D Transformation
 
Circle generation algorithm
Circle generation algorithmCircle generation algorithm
Circle generation algorithm
 

Similar to 2d transformation

2 d geometric transformations
2 d geometric transformations2 d geometric transformations
2 d geometric transformations
Mohd Arif
 
2 d transformation
2 d transformation2 d transformation
2 d transformation
Ankit Garg
 
09transformation3d
09transformation3d09transformation3d
09transformation3d
Ketan Jani
 
Bla b__________________la -2&3d -DD .ppt
Bla b__________________la -2&3d -DD .pptBla b__________________la -2&3d -DD .ppt
Bla b__________________la -2&3d -DD .ppt
kdemersal
 
Two dimensional geometric transformations
Two dimensional geometric transformationsTwo dimensional geometric transformations
Two dimensional geometric transformations
Mohammad Sadiq
 

Similar to 2d transformation (20)

06.Transformation.ppt
06.Transformation.ppt06.Transformation.ppt
06.Transformation.ppt
 
Unit 3 notes
Unit 3 notesUnit 3 notes
Unit 3 notes
 
Two dimensionaltransformations
Two dimensionaltransformationsTwo dimensionaltransformations
Two dimensionaltransformations
 
Two dimentional transform
Two dimentional transformTwo dimentional transform
Two dimentional transform
 
2 d geometric transformations
2 d geometric transformations2 d geometric transformations
2 d geometric transformations
 
2D-transformation-1.pdf
2D-transformation-1.pdf2D-transformation-1.pdf
2D-transformation-1.pdf
 
Transforms UNIt 2
Transforms UNIt 2 Transforms UNIt 2
Transforms UNIt 2
 
Computer Graphics Unit 2
Computer Graphics Unit 2Computer Graphics Unit 2
Computer Graphics Unit 2
 
Computer Graphics - transformations in 2d
Computer Graphics - transformations in 2dComputer Graphics - transformations in 2d
Computer Graphics - transformations in 2d
 
Computer Graphic - Transformations in 2D
Computer Graphic - Transformations in 2DComputer Graphic - Transformations in 2D
Computer Graphic - Transformations in 2D
 
2 d transformation
2 d transformation2 d transformation
2 d transformation
 
Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 2Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 2
 
Unit-3 overview of transformations
Unit-3 overview of transformationsUnit-3 overview of transformations
Unit-3 overview of transformations
 
2d transformations
2d transformations2d transformations
2d transformations
 
Computer graphics presentation
Computer graphics presentationComputer graphics presentation
Computer graphics presentation
 
2D Transformation
2D Transformation2D Transformation
2D Transformation
 
09transformation3d
09transformation3d09transformation3d
09transformation3d
 
2D Transformation.pdf
2D Transformation.pdf2D Transformation.pdf
2D Transformation.pdf
 
Bla b__________________la -2&3d -DD .ppt
Bla b__________________la -2&3d -DD .pptBla b__________________la -2&3d -DD .ppt
Bla b__________________la -2&3d -DD .ppt
 
Two dimensional geometric transformations
Two dimensional geometric transformationsTwo dimensional geometric transformations
Two dimensional geometric transformations
 

Recently uploaded

Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
Kamal Acharya
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
Kamal Acharya
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
Kamal Acharya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 

Recently uploaded (20)

Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringKIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
 
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfRESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
 
Pharmacy management system project report..pdf
Pharmacy management system project report..pdfPharmacy management system project report..pdf
Pharmacy management system project report..pdf
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamKIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
 

2d transformation

  • 2. Overview  2D Transformations • Basic 2D transformations • Matrix representation • Matrix composition
  • 3. Basic 2D transformations  The basic geometric transformations are translation, rotation, and scaling. Other transformations that are often applied to objects include reflection and shearing.
  • 4. Translation x’= x + tx y’= y + ty The translation distance pair (tx,ty) is called a translation vector or shift vector P = x1 P’= x1’ T = tx x2 x2’ ty This allows us to write the two dimensional translation equations in the matrix form P’ = P + T
  • 6. Rotation 1 r r Ф (x,y) (x’,y’) The original coordinates of the point in Polar Coordinates are X= r cos (Ф) y = r sin (Ф) θ
  • 7. Rotation 2  x’ = r cos (Ф + θ) = r cos Ф cos θ – r sin Ф sin θ Y’ = r sin (Ф + θ) = r cos Ф sin θ + r sin Ф cos θ  x’ = x cos θ – y sin θ Y’ = x sin θ + y cos θ  P’ = R.P  R = cos θ - sin θ sin θ cos θ
  • 8. Rotation 3  x’ = xr + (x – xr) cos θ – (y – yr) sin θ  Y’ = yr + (x – xr) sin θ + ( y – yr) cos θ r r Ф θ (x,y) (x’,y’) (xr,yr)
  • 9. Scaling  Scaling a coordinate means multiplying each of its components by a scalar  Uniform scaling means this scalar is the same for all components:  2
  • 10.  Non-uniform scaling: different scalars per component:  How can we represent this in matrix form? Scaling X  2, Y  0.5
  • 11. Scaling 1  X’ = x. sx y’ = y.sy x’ sx 0 x y’ 0 sy y  P’ = S . P Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5
  • 12. Scaling 2 Using sx= sy = 0.5 the line is reduced in size and moved closer to the origin p1 p2 p3 (xf,yf) Scaling relative to a chosen fixed point (xf, yf) . Distances from each polygon vertex to the fixed point are scaled y transformation equations X’ = xf + (x- xf) sx Y’ = yf + (y-yf) sy
  • 13. Homogeneous Coordinates  Many graphics applications involve sequences of geometric transformations. such as rotation ,translation and scaling .  To achieve this we have to represent matrix as 3 X 3 instead of 2 X 2 introducing an additional dummy coordinate h. This coordinate system is called as Homogeneous coordinate system  It allows expressing transformation equation as matrix multiplication.
  • 14. Homogeneous Coordinates  Homogeneous coordinates • represent coordinates in 2 dimensions with a 3- vector                  1 coordsshomogeneou y x y x
  • 15. Homogeneous Coordinates  Q: How can we represent translation as a 3x3 matrix? A: Using the rightmost column:            100 10 01 y x t t ranslationT y x tyy txx   ' '
  • 16. Translation  Example of translation                                               11100 10 01 1 ' ' y x y x ty tx y x t t y x tx = 2 ty = 1 Homogeneous Coordinates
  • 17. Basic 2D Transformations  P’ = T ( tx , ty ) . P P’= S(sx, sy) .P   P’= R(θ) .P                                  1100 0cossin 0sincos 1 ' ' y x y x                                1100 10 01 1 ' ' y x t t y x y x                                1100 01 01 1 ' ' y x sh sh y x y x Translate Rotate Shear                                1100 00 00 1 ' ' y x s s y x y x Scale
  • 18. Matrix Composition  A composite transformation is a sequence of transformations; one followed by the other.  We can set up a matrix for any sequence of transformations as a composite transformation matrix by calculating the matrix product of the individual transformations.
  • 19. Matrix Composition  Transformations can be combined by matrix multiplication                                                    w y x sy sx ty tx w y x 100 00 00 100 0cossin 0sincos 100 10 01 ' ' ' p’ = T(tx,ty) R() S(sx,sy) p
  • 20. Successive translations Successive translations are additive P’= T(tx1, ty1) .[T(tx2, ty2)] P = {T(tx1, ty1). T(tx2, ty2)}.P T(tx1, ty1). T(tx2, ty2) = T(tx1+tx2 , ty1 + ty2) 1 0 tx1+tx2 0 1 ty1+ty2 0 0 1 1 0 tx1 0 1 ty1 0 0 1 1 0 tx2 0 1 ty2 0 0 1 =
  • 21. Successive rotations  By multiplying two rotation matrices , we can verify that two successive rotations are additive P’= R(θ2) .{ R(θ1). P } = { R (θ2). R(θ1)}.P { R (θ2). R(θ1)} = R(θ1 + θ2) P’ = R(θ1 + θ2) . P
  • 22. Successive Scaling operations Sx1.sx2 0 0 0 sy1sy2 0 0 0 1 sx1 0 0 0 sy1 0 0 0 1 sx2 0 0 0 sy2 0 0 0 1 = S(sx2,sy2).S(sx1,sy1) = S(sx1.sx2 , sy1,sy2) The resulting matrix in this case indicates that successive scaling operations are multiplicative
  • 23. General pivot point rotation  With a graphics package that only provides a rotate function for revolving objects about the coordinate origin, we can generate rotations about any selected pivot point (x, y,) by performing sequence of translate-rotate translate operations.
  • 24. 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) (a) Original Position of Object and pivot point (b) Translation of object so that pivot point (xr,yr)is at origin (c) Rotation was about origin (d) Translation of the object so that the pivot point is returned to position (xr,yr)
  • 25. General pivot point rotation 1 0 xr 0 1 yr 0 0 1 cosθ -sinθ 0 sinθ cosθ 0 0 0 1 1 0 -xr 0 1 -yr 0 0 1 = cosθ -sinθ xr(1- cosθ)+ yr sinθ sinθ cosθ yr(1- cosθ) - xr sinθ 0 0 1 Can also be expressed as T(xr,yr).R(θ).T(-xr,-yr) = R(xr,yr,θ)
  • 26. 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) Original Position of Object and Fixed point (b) Translation of object so that fixed point (xf,yf)is at origin (c) scaling was about origin (d) Translation of the object so that the Fixed point is returned to position (xf,yf)
  • 27. General fixed point Scaling 1 0 xf 0 1 yf 0 0 1 sx 0 0 0 sy 0 0 0 1 1 0 -xf 0 1 -yf 0 0 1 = sx 0 xf(1- sx) 0 sy yf(1- sy) 0 0 1 Can also be expressed as T(xf,yf).S(sx,sy).T(-xf,-yf) = S(xf, yf, sx, sy)
  • 28.
  • 29.
  • 30. Transformations Properties  Concatenation properties A.B.C = (A.B).C = A.(B.C) Matrix products can be evaluated from left to right or from right to left  However they are not commutative A.B ≠ B.A  Hence one must be careful in order that the composite transformation matrix is evaluated
  • 31. Matrix Composition  Be aware: order of transformations matters • Matrix multiplication is not commutative p’ = T * R * S * p “Global” “Local”
  • 32. Order of Transformations  Reversing the order in which a sequence of transformations is performed may effect the transformed position of an object.  In (a) object is first translated , then rotated  In (b) the object is rotated first and then translated (a) (b)
  • 33. General Composite transformations  A general 2D transformation representing a combination of translations, rotations and scalings are expressed as,  rsij represent multiplicative rotation-scaling terms , trsx and trsy are the translational terms containing combinations of translations and scaling parameters X’ Y’ 1 = rsxx rsxy trsx rsyx rsyy trsy 0 0 1 X Y 1
  • 34. Composite transformations  For example , if an object is to be scaled and rotated about its center coordinates (xc,yc) and then translated , the composite transformation matrix looks like  T(tx,ty). R(xc,yc,θ) . S(xc, yc, sx, sy) = sxcosθ -sysinθ xc(1-sxcosθ) + yc sy sinθ +tx sxsin θ sycos θ yc(1-sycosθ) – xc sx sinθ + ty 0 0 1 Represents 9 multiplications and 6 additions
  • 35. Composite Transformations  The explicit calculation has only 4 multiplications and 4 additions x’ = x.rsxx + y.r sxy + tr sx y’ = x. rsyx + y. rsyy + tr sy  The efficient implementation is to • Formulate transformation matrices • Concatenate transformation sequence • Calculate transformed coordinates using the explicit equation shown above
  • 36. A general rigid body transformation matrix  A general rigid body transformation involving only translations and rotations can be expressed in the form rxx rxy trx ryx ryy try 0 0 1
  • 37. 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 1 2 3 3’2’ 1’ Original position Reflected position Reflection about the line y=0, the axis , is accomplished with the transformation matrix 1 0 0 0 -1 0 0 0 1
  • 38. Reflection -1 0 0 0 1 0 0 0 11’ 3’ 2’ 3 2 1 Original position Reflected position
  • 39. Reflection -1 0 0 0 -1 0 0 0 1 1’ 2’ 3’ 3 2 1 Original position Reflected position Reflection of an object relative to an axis perpendicular to the xy plane and passing through the coordinate origin
  • 40. Reflection of an object w.r.t the line y=x 0 1 0 1 0 0 0 0 1 1’ 3’ 2’ 3 2 1 Original position Reflected position
  • 41. 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  An x direction shear relative to the x axis is produced with the transformation matrix 1 shx 0 0 1 0 0 0 1 Which transforms coordinate positions as X’ = x + shx.y y’ =y
  • 42. Shear tranformations Yref =-1 Yref =-1 (0,1) (1,1) (1,0)(0,0) (1,1) (2,1) (3/2,0)(1/2,0) We can generate x-direction shears relative to other referance lines with 1 shx -shx yref 0 1 0 0 0 1 With coordinate positions transformed as X’= x + shx (y - yref) y’ = y
  • 43. Shear transformation A y-direction shear relative to the line x = xref is generated with the transformation matrix 1 0 0 Shy 1 -shy.xref 0 0 1 This generates transformed coordinate positions X’ = x y’ = shy (x – xref) + y (1,1)(0,1) (0,0) (1,0) (1,2) (1,1) (0,1/2) (0,3/2) Xref = -1
  • 44. Affine Transformations  Affine transformations are combinations of … • Linear transformations, and • Translations  Properties of affine transformations: • Origin does not necessarily map to origin • Lines map to lines • Parallel lines remain parallel after transformation • X=axxx+axyy=bx • Y=ayxx+ayyy+by                          w y x fed cba w y x 100 ' '