0% found this document useful (0 votes)
56 views33 pages

3 Transformations

The document discusses 2D transformations including translation, rotation, and scaling. Translation moves an object along a straight line. Rotation rotates an object around a point by some angle. Scaling changes the size of an object by a scaling factor. These transformations can be represented using homogeneous coordinates and matrices to provide a uniform representation for combining multiple transformations.

Uploaded by

Sakshi Nailwal
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)
56 views33 pages

3 Transformations

The document discusses 2D transformations including translation, rotation, and scaling. Translation moves an object along a straight line. Rotation rotates an object around a point by some angle. Scaling changes the size of an object by a scaling factor. These transformations can be represented using homogeneous coordinates and matrices to provide a uniform representation for combining multiple transformations.

Uploaded by

Sakshi Nailwal
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/ 33

Transformations

2D Transformations

y
x
Applications:
- Animation
x y - Image/object manipulation
- Viewing transformation
- etc.

2
2D Transformation
• Transformations : -
1. GEOMETRIC
2. COORDINATE
• We have two alternatives, either the geometric
objects are transformed or the coordinate system is
transformed.

3
Geometric Transformations
• Geometric Transformations
– Position (translation) Translations and Reflection
– Size (scaling)
– Orientation (rotation)
– Shapes (shear)
• Various Geometric transformations are :
– Translation
– Rotation
– Scaling
– Refloection
– Searing

4
Point Representation

• We can use a column vector (a 2x1 matrix) to


represent a 2D point x
y

5
1. Translation
• Re-position a point along a straight line
• Given a point (x,y), and the translation distance
(tx,ty)
The new point: (x’, y’) (x’,y’)
x’ = x + tx
ty
y’ = y + ty (x,y)
tx

OR P’ = P + T where P’ = x’ p= x T= tx
y’ y ty

6
2. Rotation
A) About Origin
• Default rotation center: Origin (0,0)

Rotate counter clockwise



o x

Rotate clockwise

o x
7
Rotation contd...
(x,y) -> Rotate about the origin by  (x’,y’)

(x’, y’)  (x,y)


r

How to compute (x’, y’) ?

8
Rotation contd..
(x,y) -> Rotate about the origin by  y
(x’,y’)
in anticlockwise direction
 (x,y)
r

How to compute (x’, y’) ?
o
x

x = r cos () y = r sin ()


x’ = r cos () y’ = r sin ()

9
Rotation contd...
(x’,y’)
x = r cos () y = r sin ()
x’ = r cos () y = r sin ()  (x,y)
r

x’ = r cos ()
= r cos() cos() – r sin() sin()
= x cos() – y sin()
y’ = r sin ()
= r sin() cos() + r cos()sin()
= y cos() + x sin()

10
Rotation contd...

(x’,y’)
x’ = x cos() – y sin()
(x,y)
y’ = y cos() + x sin() 
r

Matrix form?

x’ =
cos() -sin() x
y’ sin() cos() y

3 x 3?
11
B) Fixed (Pivot) Point Rotation

• To rotate about an object (triangle PQR) about


arbitrary point P (px,py) by :

(px,py)

12
Fixed (Pivot) Point Rotation
contd...
• To rotate about an arbitrary point P (px,py) by :
– Translate the object so that P will coincide with the
origin: T(-px, -py)

(px,py)

13
Fixed (Pivot) Point Rotation
contd...
• To rotate about an arbitrary point P (px,py) by :
– Translate the object so that P will coincide with the
origin: T(-px, -py)
– Rotate the object: R()

(px,py)


14
Fixed (Pivot) Point Rotation
contd...
• To rotate about an arbitrary point P (px,py) by :
– Translate the object so that P will coincide with the
origin: T(-px, -py)
– Rotate the object: R()
– Translate the object back: T(px,py)

(px,py)


15
Fixed (Pivot) Point Rotation
contd...
Step 1: Translate the object so that P will coincide
with the origin: T(-px, -py)
Step2: Rotate the object: R()
Step 3: Translate the object back: T(px,py)

 Put in matrix form: T(px,py) R() T(-px, -py) *P

x’ 1 0 px cos() -sin() 0 1 0 -px x


y’ = 0 1 py sin() cos() 0 0 1 -py y
1 00 1 0 0 1 0 0 1 1
16
3. Scaling
A) About Origin
Scale: Alter the size of an object by a scaling factor
(Sx, Sy), i.e.

x’ = x . Sx x’ Sx 0 x
=
y’ = y . Sy y’ 0 Sy y

(4,4)

(2,2) Sx = 2, Sy = 2

(2,2)
(1,1)

17
Scaling contd...
(4,4)

(2,2) Sx = 2, Sy = 2

(2,2)
(1,1)

 Not only the object size is changed, it also moved!!


 Usually this is an undesirable effect

18
B )Pivot point Scaling contd...

 To scale about an arbitrary fixed point P


(px,py):
Step 1:Translate the object so that P will coincide
with the origin: T(-px, -py)
Step 2: Scale the object: S(sx, sy)
Step 3: Translate the object back: T(px,py)

(px,py)

19
Pivot point Scaling contd...

 The standard scaling matrix will only


anchor at (0,0)
Sx 0 0
0 Sy 0
0 0 1

 What if I want to scale about an arbitrary


pivot point?
20
Pivot point Scaling contd...

 To scale about an arbitrary fixed point P


(px,py):

(px,py)

21
Pivot point Scaling contd...

 To scale about an arbitrary fixed point P


(px,py):
 Translate the object so that P will coincide with
the origin: T(-px, -py)

(px,py)

22
Pivot point Scaling contd...

 To scale about an arbitrary fixed point P


(px,py):
 Translate the object so that P will coincide with
the origin: T(-px, -py)
 Scale the object: S(sx, sy)

(px,py)

23
Pivot point Scaling contd...

 To scale about an arbitrary fixed point P


(px,py):
Step 1:Translate the object so that P will coincide
with the origin: T(-px, -py)
Step 2: Scale the object: S(sx, sy)
Step 3: Translate the object back: T(px,py)

(px,py)

24
Put Translation, Rotation, Scaling together

• Translation:
x x t x
 
y y t y

• Rotation:
x cos   sin  t x
 
y sin  cos  t y

• Scaling:
x s x 0 tx
 
y 0 sy t y

25
Homogeneous coordinates 1
• Uniform representation is required of translation,
rotation, scaling
• Uniform representation of object points and
transformation matrices
• Add extra coordinate to the point
x = (x, y, h) where h=1

H&B 7-2:225-228
Translation, Rotation , Scaling (Homogeneous system)
Translation : Rotation :
 x'   1 0 t x  x   x'   cos  sin  0  x 
         
y '
    0 1 t y  y   y '    sin  cos 0  y 
 1   0 0 1  1  1  0 0 1  1 
       
or or
P '  T(t x , t y )P P '  R ( )P

Scaling :
 x'   sx 0 0  x 
    
 y'   0 sy 0  y 
 1  0 0 1  
    1 
or
P '  S( s x , s y )P

27
4. Reflection
1. Reflction abt X axis
2. Reflection ant Y axis
y
3. Reflection abt X=Y line
4. Reflection abt X=-Y line
5. Reflect X=5 line
6. Reflection Y=mX+c line
x

1. Reflext over x-axis:


x’= x, y’= y
or  1 0 0  H&B 7-4:240-242
 
P'   0  1 0 P
0 0 1
 
Reflect over origin
y :
2. Reflect over origin abt X=-Y line
x’= x, y’=  y
or
 1 0 0
  x
P'   0  1 0 P
 0 0 1
 
Same as P'  R (180)P
H&B 7-4:240-242
reflection about x and y axes reflection in origin about
X=-y line
5. Shearing
Shear in x:
1 shx   x   x  shx y 
Shx        
0 1   y   y 
Shear in y:

 1 0  x   x 
Shy       
sh
 y 1  y   shy .x  y 
Beware!
• Matrix multiplication is not commutative
• The order of the transformations is vital
– Rotation followed by translation is very different from
translation followed by rotation
– careful with the order of the matrices!
• Small commutativity:
– rotation commute with rotation, translation with
translation…
Numericals
1. Rotate a unit square with diagonal points as (0,0) , (-1,-1) by angle 30
degree, anticlockwise.
2. Rotate a triangle A(10,5), B(5,7), C(12,10) by 45 degree clockwise such
that point A is taken to (10,10)
3. Apply fixed point rotation on a rectangle A(10,10),B(5,5), C(5,2),D(7,7)
so that point B is fixed after rotation.
4. Reflect given triangle A,B,C, about a line X=3
5. Reflect a unit square with diagonal points A(0,10) B(1,9) about Y=X line.

33

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy