1
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Esempio: trasformazione di traslazione rigida
+
=
′
′
′
0 1 1
z y x
z y x
z y x
α α α
=
1 1 0 0 0
1 0 0
0 1 0
0 0 1
1
z y x
z y x f
z y x
α α α posso riscriverla come:
e cioè:
+ + +
=
1 1
z y x
z y x
z y x
f α
α α
vettore di traslazione
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Trasformazione di Traslazione rigida
l'inversa è ovviamente:
=
1 0 0 0
1 0 0
0 1 0
0 0 1 ) , , (
z y x
z y
x
α
α α α
α α T
−
−
−
=
−
−
−
=
−
1 0 0 0
1 0 0
0 1 0
0 0 1 ) , , ( ) , ,
1
(
z y x
z y x z y
x
α
α α α
α α α α
α T
T
matrice di traslazione:
(cosa succede se la applico ad un vettore ?)
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
) ( γ S
matrice di scaling matrice di scaling matrice di scaling matrice di scaling
Trasformazione di Scalatura uniforme
x y
x y
=
1 1
z y x
z y x
f γ
γ γ
=
1 1 0 0 0
0 0 0
0 0 0
0 0 0
1
z y x
z y x
f γ
γ γ
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Trasformazione di Scalatura generica
x y
x y
=
1 1
z y x
z y x f
z y x
γ γ γ
) , , ( γ
xγ
yγ
zS
matrice di scaling matrice di scaling matrice di scaling matrice di scaling
=
1 1 0 0 0
0 0 0
0 0 0
0 0 0
1
z y x
z y x f
z y x
γ γ γ
inversa?
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Trasformazione di Scalatura generica
x y
x y
nota: la scalatura applicata ai punti
"scala" anche la distanza dall'origine
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a