TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy...
Transcript of TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy...
![Page 2: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/2.jpg)
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
Gursharan Singh Tatla 2www.eazynotes.com
![Page 3: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/3.jpg)
Translation Illustration
P’
P
Gursharan Singh Tatla 3www.eazynotes.com
![Page 4: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/4.jpg)
Rotation 1
r
r
Ф
(x,y)
(x’,y’)
The original coordinates of the point in Polar Coordinates are
X= r cos (Ф) y = r sin (Ф)
θ
Gursharan Singh Tatla 4www.eazynotes.com
![Page 5: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/5.jpg)
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 θ
Gursharan Singh Tatla 5www.eazynotes.com
![Page 6: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/6.jpg)
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)
Gursharan Singh Tatla 6www.eazynotes.com
![Page 7: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/7.jpg)
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
Gursharan Singh Tatla 7www.eazynotes.com
![Page 8: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/8.jpg)
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
Gursharan Singh Tatla 8www.eazynotes.com
![Page 9: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/9.jpg)
Transformations as Matrix
operations
X’
Y’
1
1 0 tx
0 1 ty
0 0 1
X
Y
1
P’ = T ( tx , ty ) . P
=
Translations
Gursharan Singh Tatla 9www.eazynotes.com
![Page 10: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/10.jpg)
Rotations
P’= R(θ) .P
X’
Y’
1
Cosθ -Sinθ 0
Sinθ Cosθ 0
0 0 1
X
Y
1
=
Gursharan Singh Tatla 10www.eazynotes.com
![Page 11: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/11.jpg)
Scaling
P’= S(sx, sy) .P
X’
Y’
1
Sx 0 0
0 Sy 0
0 0 1
X
Y
1
=
Gursharan Singh Tatla 11www.eazynotes.com
![Page 12: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/12.jpg)
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
=
Gursharan Singh Tatla 12www.eazynotes.com
![Page 13: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/13.jpg)
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
Gursharan Singh Tatla 13www.eazynotes.com
![Page 14: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/14.jpg)
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
Gursharan Singh Tatla 14www.eazynotes.com
![Page 15: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/15.jpg)
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)
Gursharan Singh Tatla 15www.eazynotes.com
![Page 16: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/16.jpg)
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,θ)
Gursharan Singh Tatla 16www.eazynotes.com
![Page 17: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/17.jpg)
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)
Gursharan Singh Tatla 17www.eazynotes.com
![Page 18: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/18.jpg)
General pivot 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)
Gursharan Singh Tatla 18www.eazynotes.com
![Page 19: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/19.jpg)
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
Gursharan Singh Tatla 19www.eazynotes.com
![Page 20: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/20.jpg)
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)
Gursharan Singh Tatla 20www.eazynotes.com
![Page 21: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/21.jpg)
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
Gursharan Singh Tatla 21www.eazynotes.com
![Page 22: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/22.jpg)
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
Gursharan Singh Tatla 22www.eazynotes.com
![Page 23: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/23.jpg)
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
Gursharan Singh Tatla 23www.eazynotes.com
![Page 24: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/24.jpg)
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
Gursharan Singh Tatla 24www.eazynotes.com
![Page 25: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/25.jpg)
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
Gursharan Singh Tatla 25www.eazynotes.com
![Page 26: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/26.jpg)
Reflection
-1 0 0
0 1 0
0 0 11’
3’
2’
3
2
1
Original position Reflected position
Gursharan Singh Tatla 26www.eazynotes.com
![Page 27: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/27.jpg)
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
Gursharan Singh Tatla 27www.eazynotes.com
![Page 28: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/28.jpg)
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
Gursharan Singh Tatla 28www.eazynotes.com
![Page 29: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/29.jpg)
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
Gursharan Singh Tatla 29www.eazynotes.com
![Page 30: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/30.jpg)
Shear tranformations
Yref =-1Yref =-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
Gursharan Singh Tatla 30www.eazynotes.com
![Page 31: TRANSFORMATIONS - EazyNotes · Turning a square into a rectangle with scaling factors sx= 2 and sy =1.5 ... transformations A general 2D transformation representing a combination](https://reader031.fdocuments.us/reader031/viewer/2022022015/5b59f3837f8b9a24038b6677/html5/thumbnails/31.jpg)
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
Gursharan Singh Tatla 31www.eazynotes.com