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
Shearing
• Lo spostamento proporzionale alla pos y
=
′ =
=
′ +
=
′
1 0 0 0
0 1 0 0
0 0 1 0
0 0 cot 1 ) (
cot
θ θ
θ
H
xyz z
y y
y x x
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
Rotazione attorno all'asse z
(x’,y’)
(x,y)
x y
z
φ ρ
φ ρ
sin cos
=
= y x
partenza:
) sin(
) cos(
θ φ ρ
θ φ ρ
+
′ = +
′ = y
arrivo: x
ρ φ
θ
θ θ
θ θ
cos sin
sin cos
y x
y x
+
=
−
= θ φ ρ θ φ ρ
θ φ ρ θ φ ρ
cos sin sin cos
sin sin cos cos
+
=
−
=
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
Rotazione attorno all'asse z
(x’,y’)
(x,y)
x y
z
ρ φ
θ θ
θ θ θ
cos sin '
sin cos
y x y
y x x
+
=
−
′ =
=
1 0 0 0
0 1 0 0
0 0 cos sin
0 0 sin - cos )
( θ θ
θ θ
Z
θ R
= +
=
′
′
′
1 cos sin
sin - cos
1 ) ( 1
z y x
y x
z y x z R
y x
Z
θ θ
θ θ θ
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
Rotazione attorno all'asse x, y, o z
=
1 0 0 0
0 1 0 0
0 0 cos sin
0 0 sin - cos )
( θ θ
θ θ
Z
θ R
=
1 0 0 0
0 cos sin 0
0 sin - cos 0
0 0 0 1 )
( θ θ
θ θ θ
R
X
=
1 0 0 0
0 cos 0 sin -
0 0 1 0
0 sin 0 cos )
( θ θ
θ θ
Y
θ R
e le inverse?
T
1
( ) ( )
)
( θ
Xθ
Xθ
X
R R
R
−= − =
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
Rotazione intorno ad un asse parallelo all'asse z
x y
z x
y z
x y
traslazione T -1
rotazione R x
y
traslazione T 1
2
3
1. Porto il centro di rot nell'origine 2. Ruoto
3. Rimetto a posto
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
Rotazione intorno ad un asse parallelo all'asse z
x y
z x
y z
f( p ) T ( R ( T = -1 p ) )
x y
traslazione T
rotazione R x
y
traslazione T -1 1
2
3
2
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
Composizione di trasformazioni
• Moltiplicazione matrici (vettori) ha la propretà associativa
f( p ) = T ( R ( T -1 p ) )
= (T R T -1 ) p
una matrice M 4x4 che fa tutto.
• considerazioni sull'efficienza
• cosa possiamo dire sulla forma di M ?
• cosa succede se moltiplichiamo un vettore per M ?
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
Punti VS vettori
x y
z
x y
z
M
pppp M( pppp )
vvvv M( vvvv )
p p p
p = ( * , * , * , 1 ) = ( * , * , * , 1 ) = ( * , * , * , 1 ) punto all'angolo della casa (punto) = ( * , * , * , 1 ) (punto) (punto) (punto) v
v v
v = ( * , * , * , 0 ) = ( * , * , * , 0 ) = ( * , * , * , 0 ) = ( * , * , * , 0 ) velocità vettoriale del fumo (vettore) (vettore) (vettore) (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
Nessuno si offenda
• Attenzione all'inversione: (AB) -1 = B -1 A -1
• Associativa si, ma commutativa no!
AB ≠ BA
• previsione:
determinare il corretto ordine delle trasformazioni non sarà intuitivo
x y
x y
RT TR
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
matrice di cambio di frame
Cambio di frame (cambio di sistema di riferimento)
• Dati due sistemi di riferimento: { v
1, v
2, v
3, p
0} { u
1, u
2, u
3, q
0}
0 3 43 2 42 1 41 0
3 33 2 32 1 31 3
3 23 2 22 1 21 2
3 13 2 12 1 11 1
p v v v q
v v v u
v v v u
v v v u
+ + +
=
+ +
=
+ +
=
+ +
=
γ γ γ
γ γ γ
γ γ γ
γ γ γ
• Esprimo uno in termini dell’altro:
p = =
coordinate di p nel primo sist. di rif.:
coordinate di p nel sec. sist. di rif.:
=
1 1 0 0 0 1
3 2 1
43 33 23 13
42 32 22 12
41 31 21 11
3 2 1
b b b
a a a
γ γ γ γ
γ γ γ γ
γ γ γ γ v 0 v 1 v 2 p 0
a
0a
1a
21
u 0 u 1 u 2 q 0 b
0b
1b
21
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
matrice di cambio di frame
Cambio di frame (cambio di sistema di riferimento) caso particlare: arrivo a sistema di riferimento canonico
• Dati due sistemi di riferimento: { v
1, v
2, v
3, p
0} { u
1, u
2, u
3, q
0}
) , , (
) , , (
) , , (
) , , (
23 22 21 0
23 22 21 3
23 22 21 2
13 12 11 1
γ γ γ
γ γ γ
γ γ γ
γ γ γ
=
=
=
=
q u u u
• Esprimo uno in termini dell’altro:
=
1 1 0 0 0 1
3 2 1
43 33 23 13
42 32 22 12
41 31 21 11
3 2 1