0% found this document useful (0 votes)
185 views42 pages

2D and 3D Transformation

This document discusses transformations and matrices. It states that transformations are functions that change one thing into another via rules, and matrices are a way to represent linear transformations. Specifically, 2x2 matrices can represent 2D linear transformations. It provides examples of basic transformations like translation, rotation, and scaling. Translation moves an object, rotation turns it, and scaling changes its size. The document also explains that transformations can be represented using matrices in homogeneous coordinates for translation. Basic transformation matrices are provided for translation, rotation, and scaling. Composite transformations can be achieved by multiplying the matrices.

Uploaded by

achintya0105
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)
185 views42 pages

2D and 3D Transformation

This document discusses transformations and matrices. It states that transformations are functions that change one thing into another via rules, and matrices are a way to represent linear transformations. Specifically, 2x2 matrices can represent 2D linear transformations. It provides examples of basic transformations like translation, rotation, and scaling. Translation moves an object, rotation turns it, and scaling changes its size. The document also explains that transformations can be represented using matrices in homogeneous coordinates for translation. Basic transformation matrices are provided for translation, rotation, and scaling. Composite transformations can be achieved by multiplying the matrices.

Uploaded by

achintya0105
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/ 42

Transformations and Matrices

Transformations are functions

Matrices are functions representations

Matrices represent linear transformation

{2x2 Matrices} {2D Linear


Transformation}
1
Transformations (1/3)

What are the!

chan"in" somethin" to somethin" else #ia rules


mathematics$ mappin" %et&een #alues in a ran"e
set and domain set (function/relation)

"eometric$ translate' rotate' scale' shear'(

Wh are the important to "raphics!

mo#in" o%)ects on screen / in space

mappin" from model space to screen space


specifin" parent/child relationships

(
2
Transformation (2/3)

Translation

Mo#in" an o%)ect

*cale

+han"in" the
si,e of an o%)ect
-cto%er 2.' 2/10 3
t

t
x
w
old
w
new
h
old
h
new
x
new
= x
old
+ t
x
; y
new
= y
old
+ t
y
s
x
=w
new
/w
old
s
y
=h
new
/h
old
x
new
= s
x
x
old
y
new
= s
y
y
old
Transformation (3/3)

To rotate a line
or pol"on' &e
must rotate
each of its
#ertices

*hear
-cto%er 2.' 2/10 0
(x')
Original Data y Shear x Shear
What is a 2D Linear
Transform!
. y and x vectors and a scalar for
, ) y ( T ) x ( aT ) y x a ( T : Definition


+ +
-cto%er 2.' 2/10 .
( ) )
y
,
x
2 ( )
y
,
x
2 (
y y
),
x
x (
2
: say 2, by x, in Scale
1
1
0
0
1 0
1
0
+ +
+
Example
1xample
-cto%er 2.' 2/10 2
) ,
0 0
( y x
) ,
0 0
2 ( y x
) ,
1 1
( y x ) ,
1 1
2 ( y x
y
x
x
y
) ,
0 0
2 ( y x
) ,
1 1
2 ( y x
( ) y y
x x
1 0
1 0
,
2
2 +
+
y
) ,
0 0
( y x
) ,
1 1
( y x
( ) y y
x
x
1 0
1
0
), ( 2 +
+
( ) y y
x
x
1 0
1
0
), ( +
+
x
y
( ) y y
x
x
1 0
1
0
), ( 2 +
+
( ) y y
x
x
1 0
1
0
), ( +
+
y
x
( ) y y
x x
1 0
1 0
,
2
2 +
+
Scale in x by 2
( ) y y
x x
1 0
1 0
), ( 2 +
+
( ) y y
x x
1 0
1 0
), ( 2 +
+
Transformations: Translation (1/2)

3 translation is a
strai"ht line
mo#ement of an
o%)ect from one
position to another4

3 point (x') is
transformed to the
point (x5'5) %
addin" the
translation
distances T
x
and T

$

-cto%er 2.' 2/10 6
x = x + T
x
y = y + T
y
Transformations: Translation(2/2)

mo#in" a point
% a "i#en t
x
and
t

amount
e4"4 point 7 is
translated to
point 75
mo#in" a line
% a "i#en t
x
and
t

amount

translate each of
the 2 endpoints
-cto%er 2.' 2/10 8
) 10 , 5 ( P
) 10 , 15 ( P
1
]
1

1
]
1

0
10
y
x
t
t
T
) 20 , 5 ( 1 P
) 10 , 5 ( 2 P ) 10 , 5 ( 1 P
) 0 , 5 ( 2 P
1
]
1

1
]
1

10
0
y
x
t
t
T
Transformations: Rotation (1/)

-%)ects rotated accordin" to angle of


rotation theta ()

*uppose a point 7(x') is transformed to the


point 79(x9'9) % an anti:cloc;&ise rotation
a%out the ori"in % an an"le of de"rees'
then$
-cto%er 2.' 2/10 <
Given x = r cos , y = r sin
x = x cos y sin
y = y sin + y cos
Transformations: Rotation (2/)

=otation 7 % anticloc;&ise relati#e to


ori"in (/'/)
-cto%er 2.' 2/10 1/
) 0 , 0 (
) , ( y x P

) , ( y x P

x
y
r
) 0 , 0 (
) , ( y x P
Transformations: Rotation (!/)
=otation a%out an ar%itar pi#ot point (x
=
'
=
)
*tep 1$ translation of the o%)ect % (:x
=
':
=
)
x
1
= x - x
R
y
1
= y - y
R
*tep 2$ rotation a%out the ori"in
x
2
= x
1
cos() - y
1
sin ()
y
2
= y
1
cos() - x
1
sin ()
*tep 3$ translation of the rotated o%)ect % (x='=)
x = x
r
+ x
2
y = y
r
+ y
2
-cto%er 2.' 2/10 11
Transformations: Rotation (/)

o%)ect can %e
rotated around
an ar%itrar
point (x
r
'
r
)
;no&n as
rotation or
pivot point
%$
-cto%er 2.' 2/10 12
x' = x
r
+ (x - x
r
) cos() - (y - y
r
) sin ()
y' = y
r
+ (x - x
r
) sin ()+(y - y
r
) cos()
Transformations: S"aling (1/#)

*calin" chan"es the size of an o%)ect


3chie#ed % applin" scaling factors s
x

and s

*calin" factors are applied to the > and


?
co:ordinates of points de@nin" an
o%)ect5s
-cto%er 2.' 2/10 13
Transformations: S"aling (2/#)
uniform scalin" is produced &hen s
x

and s

ha#e same #alue i4e4 s


x
A s

non-uniform scalin" is produced &hen


s
x
and s
x
are not eBual : e4"4 an ellipse
from a circle4
i4e4 s
x
s


-cto%er 2.' 2/10 10
x
2
= s
x
x
1
y
2
= s
y
y
1
Transformations: S"aling (!/#)
*imple scalin" :
relati#e to (/'/)
Ceneral form$
-cto%er 2.' 2/10 1.
y s y
x s x
y
x

) , ( 1 y x P
) , ( 1 y x P
) ! , 2 ( 1 P
) 1 , ! ( 2 P
) ! , " ( 1 P
) 1 , # ( 2 P
Ex: s
x
$ 2 an% s
y
$1
Transformations: S"aling (/#)
Df the point (x
f
'
f
) is to %e the @xed point' the
transformation is$
x9 A x
f
E (x : x
f
) *
x
9 A
f
E ( :
f
) *

This can %e rearran"ed to "i#e$


x9 A x *
x
E (1 : *
x
) x
f
9 A *

E (1 : *

)
f
&hich is a com%ination of a scalin" a%out the
ori"in and a translation4
-cto%er 2.' 2/10 12
Transformations: S"aling (#/#)
-cto%er 2.' 2/10 16
Transformation as Matrices
-cto%er 2.' 2/10 18
S"ale:
x = s
x
x
y = s
y
y
Rotation:
x = xcos - ysin
y = xsin + ycos
Translation:
x = x + t
x
y = y + t
y
1
]
1

1
]
1

1
]
1

y s
x s
y
x
s
s
y
x
y
x
0
0
1
]
1

1
]
1

1
]
1






cos sin
sin cos
cos sin
sin cos
y x
y x
y
x
1
]
1

+
+

1
]
1

+
1
]
1

y
x
y
x
t y
t x
y
x
t
t
Transformations: Shear (1/2)
*hear in x:
-cto%er 2.' 2/10 1<
1
]
1

1
]
1

1
]
1

y
ay x
y
x a
Sh
x
1 0
1
) 0 , 1 (
) 1 , ( a
) 1 , 0 (
) 0 , 1 (
) 1 , 1 (
Transformations: Shear (2/2)
*hear in $
-cto%er 2.' 2/10 2/
) 1 , 0 (
) 0 , 0 (
) , 1 ( b
) 1 , 0 (
) 0 , 1 (
) 0 , 0 (
) 1 , 1 (
1
]
1

1
]
1

1
]
1

y bx
x
y
x
b
Sh
y
1
0 1
Shear in x then in y
-cto%er 2.' 2/10 21
) 1 , 0 (
) 0 , 0 (
) 1 , 0 (
) 0 , 0 (
) 1 , 0 (
) 0 , 0 (
) 0 , 1 (
) 0 , 1 (
) , (1 b ab +
) , ( 1 a
) , ( 1 ab a

) , ( 1 1 b ab a + + +
) , ( 1 1 a +
) 1 , 0 (
) 0 , 0 (
) 1 , 1 ( b +
) 1 , 1 (
) , 1 ( b
Shear in y then in x
-cto%er 2.' 2/10 22
) 1 , 0 (
) 0 , 0 (
) 1 , 0 (
) 1 , 0 (
) 0 , 0 (
) 0 , 1 ( ) 0 , 1 (
) , (1 b +
) , ( 1 a
) , ( 1 ab a +
) , ( 1 1 ab b a + + +
) , ( 1 1 a +
) 1 , 0 (
) 0 , 0 (
) 1 , 1 ( b +
) 1 , 1 (
) , 1 ( b
&omogeneo's "oor%inate

3s translations do not ha#e a 2 x 2 matrix


representation' &e introduce homo"eneous
coordinates to allo& a 3 x 3 matrix
representation4

The Fomo"eneous coordinate correspondin" to


the point (x') is the triple (x
h
'
h
' &) &here$
x
h
A &x

h
A &
Gor the t&o dimensional transformations &e can
set & A 14
-cto%er 2.' 2/10 23
Matrix representation
-cto%er 2.' 2/10 20
1
1
1
]
1

1
) , (
y
x
P
y x
1
1
1
]
1

1 0 0
0 0
0 0
, y
x
y x
s
s
S
1
1
1
]
1

1 0 0
0 cos sin
0 sin cos

R
1
1
1
]
1

1 0 0
1 0
0 1
, y
x
y x
t
t
T
Hasic Transformation (1/3)

Translation
-cto%er 2.' 2/10 2.
Hasic Transformation (2/3)

=otation
-cto%er 2.' 2/10 22

_
,

P x y x y
t t
t t PS t ( , , ) ( , , )
cos sin
sin cos ( ) 1 1
0
0
0 0 1
Hasic Transformation (3/3)

*calin"
-cto%er 2.' 2/10 26
+omposite Transformation
-cto%er 2.' 2/10 28
S'ppose (e (ishe%
to perform m'ltiple
transformations on a
point:
P
2
T
3,1
P
1
P
3
S
2, 2
P
2
P
4
R
30
P
3
M R
30
S
2,2
T
3,1
P
4
MP
1
1xample of +omposite
Transformation(1/3)

3 scalin" transformation at an ar%itrar an"le is


a com%ination of t&o rotations and a scalin"$
=(:t) *(*
x
'*

) =(t)
3 rotation a%out an ar%itrar point (x
f
'
f
) % and
an"le t anti:cloc;&ise has matrix$
T(:x
f
':
f
) =(t) T(x
f
'
f
)
-cto%er 2.' 2/10 2<
1xample of +omposite
Transformation(2/3)
=eIection a%out the :axis=eIection a%out the x:
axis
-cto%er 2.' 2/10 3/
1
1
1
]
1

1 0 0
0 1 0
0 0 1
1
1
1
]
1

1 0 0
0 1 0
0 0 1
1xample of +omposite
Transformation(3/3)
-cto%er 2.' 2/10 31
Refle"tion a)o't the origin Refle"tion a)o't the line y$x
1
1
1
]
1

1 0 0
0 1 0
0 0 1
1
1
1
]
1

1 0 0
0 0 1
0 1 0
3D Transformation
-cto%er 2.' 2/10 32
J
>
?
?
>
J
Hasic 3D Transformations

Translation

*cale

=otation

*hear

3s in 2D' &e use homo"eneous coordinates


(x'','&)' so that transformations ma %e
composited to"ether #ia matrix multiplication4
-cto%er 2.' 2/10 33
3D Translation and *calin"
T7 A (x E t
x
' E t

' , E t
,
)
*7 A (s
x
x' s

' s
,
,)
-cto%er 2.' 2/10 30
1
1
1
1
]
1

1 0 0 0
1 0 0
0 1 0
0 0 1
z
y
x
t
t
t
1
1
1
1
]
1

1
z
y
x
1
1
1
1
]
1

1 0 0 0
0 0 0
0 0 0
0 0 0
z
y
x
s
s
s
1
1
1
1
]
1

1
z
y
x
3D =otation (1/0)
7ositi#e =otations are de@ned as follo&s$
3xis of rotation is Direction of positi#e
rotation is
x to ,
, to x
, x to
-cto%er 2.' 2/10
204481 Foundation of Computer Grap
hics
3.
3D =otation (2/0)

=otation a%out x:axis =


x
($)7
-cto%er 2.' 2/10 32
1
1
1
1
]
1

1 0 0 0
0 cos sin 0
0 sin cos 0
0 0 0 1


1
1
1
1
]
1

1
z
y
x
y
z

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

3D =otation (3/0)

=otation a%out :axis =

($)7
-cto%er 2.' 2/10 36
1
1
1
1
]
1

1 0 0 0
0 cos 0 sin
0 0 1 0
0 sin 0 cos


1
1
1
1
]
1

1
z
y
x

x
z
) 0 , 0 , 1 (
) 1 , 0 , 0 (

3D =otation (0/0)

=otation a%out ,:axis =


,
(K)7
-cto%er 2.' 2/10 38
1
1
1
1
]
1


1 0 0 0
0 1 0 0
0 0 cos sin
0 0 sin cos


1
1
1
1
]
1

1
z
y
x
3D *hear
x *hear$ *F
x
7
-cto%er 2.' 2/10 3<
1
1
1
1
]
1

1 0 0 0
0 1 0 0
0 1 0
0 0 1
y
x
sh
sh
1
1
1
1
]
1

1
z
y
x
x
z
y
x
z
y
=otation 3%out 3n 3r%itar
3xis (1/3)
14 Translate one end of
the axis to the
ori"in
24 =otate a%out the :
axis and an"le
34 =otate a%out the x:
axis throu"h an
an"le
-cto%er 2.' 2/10 0/
Z
P
1
P
2
Y
X
b
a
c
u
1
u
2
u
3

U
=otation 3%out 3n 3r%itar
3xis (2/3)
-cto%er 2.' 2/10 01
Z
P
1
P
2
Y
X
b
a
c
u
1
u
2
u
3

U
Z
Y
X
b
a
c
u
1
u
2
u
3

U
Z
Y

a
u
2
X
04 When L is ali"ned &ith the ,:axis' appl the ori"inal rotation' = ='
a%out the ,:axis4
.4 3ppl the in#erses of the transformations in re#erse order4
=otation 3%out 3n 3r%itar
3xis (3/3)
-cto%er 2.' 2/10 02
T
:1
=

($) =
x
(:%) = =
x
(%) =

(:$) T 7

You might also like