Professional Documents
Culture Documents
o
1
P =
o
2
P +
d.
Figure 4: Due sistemi di riferimento traslati luno rispetto allaltro.
2.2 Rotazione
Consideriamo ora due sistemi di riferimento (o
1
, e
x1
, e
y1
, e
z1
) e (o
2
, e
x2
, e
y2
, e
z2
) aventi le orig-
ini coincidenti, come in Figura 5. Si vuole determinare la relazione tra le coordinate di un
generico punto P nei due riferimenti, cio`e la relazione tra q
1
= [x
1
y
1
z
1
]
T
e q
2
= [x
2
y
2
z
2
]
T
,
rispettivamente. In base allequazione (3), nel riferimento (o
1
, e
x1
, e
y1
, e
z1
), i vettori e
x2
, e
y2
6
ed e
z2
sono espressi dalle relazioni
_
_
_
e
x2
= <e
x2
, e
x1
> e
x1
+ <e
x2
, e
y1
> e
y1
+ <e
x2
, e
z1
> e
z1
e
y2
= <e
y2
, e
x1
> e
x1
+ <e
y2
, e
y1
> e
y1
+ <e
y2
, e
z1
> e
z1
e
z2
= <e
z2
, e
x1
> e
x1
+ <e
z2
, e
y1
> e
y1
+ <e
z2
, e
z1
> e
z1
.
Figure 5: Due sistemi di riferimento ruotati luno rispetto allaltro.
Sostituendo tali espressioni nel vettore
o
2
P espresso rispetto al sistema di coordinate
(o
2
, e
x2
, e
y2
, e
z2
):
o
2
P = x
2
e
x2
+ y
2
e
y2
+ z
2
e
z2
si ottiene il vettore
o
1
P espresso nel sistema di coordinate (o
1
, e
x1
, e
y1
, e
z1
):
o
1
P = x
1
e
x1
+ y
1
e
y1
+ z
1
e
z1
dove, raccogliendo i fattori che moltiplicano e
x1
, e
y1
e e
z1
, si possono esprimere le coordinate
(x
1
, y
1
, z
1
) in funzione delle coordinate (x
2
, y
2
, z
2
) come segue:
q
1
=
_
_
x
1
y
1
z
1
_
_
=
_
_
<e
x2
, e
x1
> <e
y2
, e
x1
> <e
z2
, e
x1
>
<e
x2
, e
y1
> <e
y2
, e
y1
> <e
z2
, e
y1
>
<e
x2
, e
z1
> <e
y2
, e
z1
> <e
z2
, e
z1
>
_
_
_
_
x
2
y
2
z
2
_
_
=: B q
2
.
(6)
In modo del tutto analogo, si ricava
q
2
=
_
_
x
2
y
2
z
2
_
_
=
_
_
<e
x1
, e
x2
> <e
y1
, e
x2
> <e
z1
, e
x2
>
<e
x1
, e
y2
> <e
y1
, e
y2
> <e
z1
, e
y2
>
<e
x1
, e
z2
> <e
y1
, e
z2
> <e
z1
, e
z2
>
_
_
_
_
x
1
y
1
z
1
_
_
=: Aq
1
.
(7)
Le matrici A e B sono dette matrici di rotazione. Le matrici di rotazione godono di
propriet` a particolari, come evidenziato di seguito.
7
Denizione 2.2 Una matrice quadrata Q con elementi reali, si dice ortogonale se Q
T
Q = I,
ovvero, se Q `e invertibile e Q
1
= Q
T
.
Teorema 2.1 Le matrici di rotazione sono ortogonali.
Dimostrazione. Si considerino le equazioni (6), (7). Poiche il prodotto scalare `e commuta-
tivo, cio`e, dati due vettori u e v, <u, v >=<v, u>, ne segue che B = A
T
e B
T
= A. Daltra
parte, poiche q
= ABq
, necessariamente, AB = I, cio`e A = B
1
, e quindi B
T
= B
1
. La
matrice B `e dunque ortogonale. Data la generalit` a della trasformazione (6), (7), il teorema
`e dimostrato.
2.2.1 Matrici di rotazione fondamentali
Si consideri il caso in cui due sistemi di riferimento (o
1
, e
x1
, e
y1
, e
z1
) e (o
2
, e
x2
, e
y2
, e
z2
) hanno
le origini e i versori e
z1
ed e
z2
coincidenti. Si supponga inoltre che il versore e
x1
debba
compiere una rotazione antioraria di un angolo per sovrapporsi al versore e
x2
. In questo
caso, rappresentato in Figura 6.a, la matrice di rotazione R
z,
tale che,
q
1
= R
z,
q
2
, (8)
detta matrice di rotazione fondamentale intorno allasse z,
3
si pu` o calcolare esplicitamente
in base allequazione (7) come
R
z,
:=
_
_
cos sin 0
sin cos 0
0 0 1
_
_
. (9a)
Osservazione 2.1 Se lorientamento degli angoli di rotazione viene sempre tracciato in
senso antiorario, allora una utile regola mnemonica per la scrittura corretta della relazione
tra sistemi di riferimento ruotati luno rispetto allaltro `e la seguente. Se le coordinate che
si trovano a sinistra del segno di uguaglianza sono quelle rispetto al sistema di riferimento
da cui langolo di rotazione parte (cio`e, dal lato opposto della freccia), allora la matrice di
rotazione da scrivere `e quella fondamentale. In caso contrario, la matrice di rotazione da
scrivere `e quella fondamentale trasposta (il motivo di questo, che sar` a pi` u chiaro di seguito,
`e legato al Teorema 2.1). Ad esempio, nellequazione (8), poiche q
1
`e a sinistra delluguale, e
in Figura 6.a langolo parte da un asse del primo riferimento, allora la matrice di rotazione
scritta nella (8) `e quella fondamentale. Nel caso opposto, si sarebbe scritta la trasposta; in
altre parole, vale la relazione q
2
= R
T
z,
q
1
.
3
In altre parole, R
x,
`e la matrice che trasforma le coordinate rispetto al riferimento (o
2
, e
x2
, e
y2
, e
z2
) in
coordinate rispetto al secondo riferimento (o
1
, e
x1
, e
y1
, e
z1
).
8
Figure 6: Le tre rotazioni fondamentali.
Analogamente, la matrice di rotazione fondamentale intorno allasse x, corrispondente
al caso rappresentato in Figura 6.b, `e data dalla relazione
R
x,
:=
_
_
1 0 0
0 cos sin
0 sin cos
_
_
, (9b)
e la matrice di rotazione fondamentale intorno allasse y, corrispondente al caso rappresen-
tato in Figura 6.c, `e data dalla relazione
R
y,
:=
_
_
cos 0 sin
0 1 0
sin 0 cos
_
_
. (9c)
Esercizio 2.1 Si calcolino le coordinate dei punti
q
1
= [4 3 2]
T
, q
1
= [6 2 4]
T
,
in un sistema di riferimento ruotato di 60 gradi intorno allasse z rispetto al precedente.
R.
q
2
= [4.6 1.96 2]
T
, q
2
= [4.73 4.2 4]
T
,
) + C
r
x
r
y
(1 C
) r
z
S
r
x
r
z
(1 C
) + r
y
S
r
x
r
y
(1 C
) + r
z
S
r
2
y
(1 C
) + C
r
y
r
z
(1 C
) r
x
S
r
x
r
z
(1 C
) r
y
S
r
y
r
z
(1 C
) + r
x
S
r
2
z
(1 C
) + C
_
_
, (13)
che rappresenta la rotazione di un angolo della terna originaria (0xyz) intorno allasse
arbitrario r. In particolare, si denoti con (0xyz)
1
, la terna (0xyz) in seguito alla rotazione,
allora vale
q = R
r,
q
1
.
Osservazione 2.3 Si osservi che lequazione (12) pu` o anche essere ricavata a partire dalla
matrice centrale R
z,
. In particolare, assumendo in prima istanza che r z, la rotazione
si esprime come R
z,
. Successivamente, le rotazioni necessarie per riportare lasse r nella
posizione corretta corrispondono a due matrici R
z,
R
y,
che premoltiplicano la matrice di
rotazione. Inne, poiche di fatto lassunzione r z non `e vera in generale, le rotazioni
da eettuare per portare r a coincidere con z corrispondono a due matrici R
y,
R
z,
che
postmoltiplicano la matrice di rotazione, dando cos
`
i luogo alla (12).
6
Nella (13), la notazione C
13
3 Coordinate e trasformazioni omogenee
3.1 Rototraslazioni e rappresentazioni minime
Come gi` a anticipato nel paragrafo 1.2, il numero di gradi di libert` a di un corpo rigido nello
spazio `e pari a sei. Questa propriet` a verr` a reinterpretata in questo paragrafo, alla luce della
descrizione delle rotazioni e delle traslazioni data nei paragra precedenti.
Si consideri un sistema di riferimento sso (ovvero, con posizione ed orientamento costanti
nel tempo) e un sistema di riferimento solidale con il corpo rigido e con il centro localizzato su
un punto di interesse del corpo rigido (quale, il punto terminale, una cuspide, etc.). Si osservi
che, in base allequazione (5) e allequazione (7), qualsiasi rototraslazione del corpo rigido
nello spazio pu` o essere descritta dalla relazione seguente (corrispondente ad una rotazione
seguita da una traslazione):
q
0
= Rq + d, (14)
dove il vettore d R
3
rappresenta la posizione del centro del sistema di riferimento solidale
con il corpo, mentre la matrice R ne rappresenta lorientamento, entrambi valutati rispetto
al sistema di riferimento sso.
Il fatto che lequazione (14) sia in grado di rappresentare qualsiasi posizione del corpo
rigido nello spazio `e stabilito nei seguenti teoremi.
Teorema 3.1 (Teorema di Eulero) Un generico spostamento rigido che lascia invariato un
punto sso c (spostamento sferico) `e uno spostamento rotatorio con asse di rotazione passante
per c.
Teorema 3.2 (Teorema di Chasles) Un generico spostamento rigido pu`o essere decomposto
in una rotazione attorno ad un asse sso ed in una traslazione lungo lo stesso asse.
In base al teorema di Chasles, per qualsiasi spostamento rigido, esiste un sistema di
coordinate tale che lo spostamento `e caratterizzato da una lunghezza ed un angolo ed `e
esprimibile in tale sistema di coordinate tramite la forma canonica di Chasles:
q
0
=
_
_
cos sin 0
sin cos 0
0 0 1
_
_
q +
_
_
0
0
_
_
.
Nonostante lequazione (14) possa rappresentare qualsiasi rototraslazione, essa non ne
costituisce una rappresentazione minima. In particolare, mentre il vettore d rappresenta
univocamente la posizione del centro del sistema di riferimento solidale con il corpo rigido,
la matrice R ne rappresenta lorientamento con un certo grado di ridondanza. Infatti, dei
nove parametri che caratterizzano la matrice R, sei sono vincolati dalla relazione RR
T
= I,
dimostrata nel Teorema 2.1, che corrisponde a 6 relazioni scalari (tre corrispondenti agli
elementi sulla diagonale dellidentit` a e tre corrispondenti agli elementi fuori dalla diagonale).
Allo scopo di ottenere una rappresentazione minima dellorientamento, `e necessario sta-
bilire una relazione biunivoca tra i nove coecienti della matrice R e tre parametri indipen-
denti, generalmente costituiti da tre angoli, opportunamente selezionati in una variet` a di
scelte, tutte equivalenti. Di seguito descriveremo due possibili scelte di rappresentazioni
minime dellorientamento.
14
3.1.1 Angoli di Eulero
La strategia pi` u diretta per la selezione dei parametri minimi descriventi lorientamento
consiste nel caratterizzare la matrice di rotazione in base alla composizione di tre rotazioni
successive intorno a tre assi coordinati. I tre angoli associati alle rotazioni vengono denom-
inati angoli di Eulero. Larbitrariet` a degli angoli di Eulero consiste nel fatto che ciascuna
delle tre rotazioni pu` o essere eettuata intorno a un qualsiasi asse coordinato. Tuttavia,
condizione necessaria (e suciente) perche i tre angoli derivanti da questa caratterizzazione
siano indipendenti `e che ogni coppia di rotazioni successive avvenga intorno ad assi coordinati
diversi. Vi sono dunque 27 possibili combinazioni di rotazioni, corrispondenti a rotazioni suc-
cessive intorno ad assi coordinati diversi. Per ogni combinazione, la relativa terna di Eulero
viene denominata terna XYZ, o terna YXY, e via di seguito. Si ribadisce che una terna
del tipo XXY non costituirebbe una rappresentazione minima dellorientamento perche le
prime due rotazioni (entrambe intorno allasse coordinato x) non sono indipendenti.
Nel seguito si fa riferimento alla convenzione associata agli angoli ZYZ caratterizzati
dalle seguenti operazioni:
1. Rotazione di un angolo intorno allasse z;
2. Rotazione di un angolo intorno allasse y (corrente);
3. Rotazione di un angolo intorno allasse z (corrente);
Per convenzione, tali rotazioni vengono via via riferite agli assi trasformati secondo
lultima rotazione eettuata. In base a quanto illustrato nellOsservazione 2.2, esse cor-
rispondono dunque a matrici di rotazione che vanno via via a postmoltiplicare le rotazioni
precedenti. Considerando dapprima il problema della determinazione della matrice di ro-
tazione R
ZY Z
(, , ) a partire dai valori dei tre angoli ZYZ , e , si pu` o scrivere la
seguente relazione:
R
ZY Z
(, , ) = R
z,
R
y,
R
z,
=
_
_
C
_
_
.
(15)
Data una terna , , di angoli ZYZ, lequazione (15) permette di ricavare la matrice di
trasformazione corrispondente. Il procedimento inverso (ovvero il calcolo degli angoli , ,
corrispondenti ad un determinato orientamento, in base allespressione della relativa matrice
di rotazione R) `e anche di interesse, ma corrisponde ad un problema algebrico pi` u articolato.
Per la soluzione di questultimo problema `e utile introdurre la funzione (x, y) atan2(x, y)
che associa ad ogni coppia di ingressi x, y un angolo tale che sin() =
x
x
2
+y
2
e cos() =
y
x
2
+y
2
. Questa funzione viene anche denominata arcotangente a 4 quadranti in quanto,
al contrario della classica funzione arcotangente atan(), non `e soggetta allindeterminazione
tra il primo e il terzo (similarmente, il secondo e il quarto) quadrante. Inoltre, i punti di
singolarit` a in /2+k caratterizzanti la funzione classica atan() non sono presenti in questo
caso, grazie al fatto che atan2(, ) `e funzione di due argomenti. Le peculiarit` a essenziali della
funzione (x, y) atan2(x, y) sono le seguenti:
15
per qualsiasi costante a > 0 e qualsiasi angolo [0, 2),
atan2(a sin(), a cos()) = , (16)
la funzione `e indeterminata
7
in (0, 0).
Sulla base della funzione atan2(, ) si pu` o ora procedere alla determinazione della trasfor-
mazione inversa della (15). In particolare, supponiamo che sia nota la matrice R = {r
ij
}
relativa ad un determinato orientamento e che si voglia determinare la terna di angoli (o,
pi` u correttamente, una
8
terna di angoli) , e tali che R = R
ZY Z
(, , ). Per procedere
alla determinazione di , e si considerano dapprima tutte le relazioni di uguaglianza
corrispondenti a R = R
ZY Z
(, , ):
_
_
r
11
r
12
r
13
r
21
r
22
r
23
r
31
r
32
r
33
_
_
=
_
_
C
_
_
e successivamente, sfruttando le uguaglianze membro a membro, si procede alla determi-
nazione dei vari angoli facendo uso della funzione atan2() sopra denita. Una possibile
strategia `e la seguente (anche se non `e lunica):
= atan2(
_
r
2
31
+ r
2
32
, r
33
).
Se S
= 0, allora
9
= atan2(r
32
, r
31
).
= atan2(r
23
, r
13
),
Se S
r
2
31
+ r
2
32
> 0, per cui dalla (16), con a = sin > 0, le espressioni
proposte per e per sono corrette.
16
Figure 8: Gli angoli di RPY.
Secondo la convenzione RPY, gli angoli di rollio , di beccheggio e di imbardata
vengono deniti eseguendo tre rotazioni successive, tutte intorno agli assi del sistema di
riferimento originale, secondo la sequenza:
1. Rotazione di un angolo intorno allasse x;
2. Rotazione di un angolo intorno allasse y (originale);
3. Rotazione di un angolo intorno allasse z (originale).
In base a quanto illustrato nellOsservazione 2.2, le tre rotazioni sopra elencate corrispon-
dono a matrici di rotazione che vanno via via a premoltiplicare le rotazioni precedenti, infatti
eseguendo le rotazioni successive rispetto al sistema di riferimento originale, leetto `e quello
che si otterrebbe se la rotazione in oggetto fosse anteposta a quelle gi` a eettuate (questa pro-
priet` a sar` a pi` u chiara in seguito nellEsempio 3.2 e nellOsservazione 3.1). Premoltiplicando,
dunque, le matrici di rotazione relative alle trasformazioni sopra elencate, si pu` o procedere
alla determinazione della matrice di rotazione R
RPY
(, , ) analoga a quella riportata in
equazione (15) per il caso degli angoli ZYZ:
R
RPY
(, , ) = R
z,
R
y,
R
x,
=
_
_
C
+ S
_
_
.
(17)
Si osservi che gli angoli di RPY corrispondono ad una delle 27 possibili scelte per gli
angoli di Eulero indicate nel paragrafo precedente. In particolare, essi corrispondono agli
angoli di Eulero ZYX.
La determinazione della trasformazione inversa alla (17) pu` o essere eseguita in maniera
parallela a quanto fatto nel paragrafo precedente per il caso degli angoli ZYZ ed `e oggetto
del seguemte esercizio.
17
Esercizio 3.1 Data una matrice di rotazione generica R = {r
ij
}, determinare una terna di
angoli di RPY , e tali che R = R
RPY
(, , ).
3.2 Coordinate omogenee
Con riferimento alla Figura 9, dato un punto P nello spazio e dati due sistemi di riferimento
(0xyz)
0
e (0xyz)
1
, se le coordinate del punto o
1
rispetto al sistema di riferimento (0xyz)
0
sono
rappresentate dal vettore d, e se q
0
e q
1
denotano le coordinate del punto P nei due sistemi
di riferimento, allora la seguente relazione pu` o essere vericata con semplici considerazioni
geometriche di composizione di vettori:
q
0
=
0
R
1
q
1
+ d, (18)
dove
0
R
1
`e la matrice di rotazione del sistema di riferimento (0xyz)
1
rispetto al sistema di
riferimento (0xyz)
0
. Si noti che lequazione (18) coincide con lequazione (14). Tuttavia,
sulla base del Teorema di Eulero 3.1, sappiamo ora che qualunque spostamento rigido pu` o
essere caratterizzato dalla (18).
Figure 9: Rappresentazione di un punto in diversi sistemi di coordinate.
Per rappresentare in maniera pi` u compatta il generico spostamento rigido (18), invece
delle coordinate Cartesiane [x y z]
T
si utilizzano le coordinate omogenee: [wx wy wz w]
T
,
costituite non pi` u da tre ma da quattro componenti, di cui la quarta costituisce il fattore di
scala per cui le componenti x, y e z sono moltiplicate e pu` o essere utilizzata per risalire alle
coordinate Cartesiane. Sulla base delle coordinate omogenee si deniscono le trasformazioni
omogenee, rappresentate da matrici appartenenti allo spazio R
44
che consentono la rappre-
sentazione compatta non solo di rotazioni (come avveniva per le matrici nello spazio R
33
)
ma anche di traslazioni. La forma pi` u generale per una trasformazione omogenea `e data
dalla seguente formula:
_
_
w
1
q
1
w
1
_
_
=
_
_
R d
f s
_
_
_
_
w
0
q
0
w
0
_
_
, (19)
18
dove R R
33
`e la matrice di rotazione, d R
3
`e il vettore di posizione, f R
13
`e il vettore
di trasformazione prospettica e s R `e il fattore di scala. Nelle applicazioni robotiche (e,
nel nostro caso, da questo punto in poi), si considera sempre f = [0 0 0] e s = 1, quindi
le coordinate omogenee associate ad un punto di coordinate Cartesiane [x y z]
T
saranno
sempre denite come [x y z 1]
T
(il fattore di scala e il vettore di trasformazione prospettica
sono usati, ad esempio, in applicazioni di computer graca).
Sulla base della struttura delle trasformazioni omogenee descritta dallequazione (19),
si possono scrivere le seguenti matrici di rotazioni omogenee fondamentali (corrispondenti
rispettivamente alle equazioni (9)):
T
z,
:=
_
_
cos sin 0 0
sin cos 0 0
0 0 1 0
0 0 0 1
_
_
(20a)
T
x,
:=
_
_
1 0 0 0
0 cos sin 0
0 sin cos 0
0 0 0 1
_
_
(20b)
T
y,
:=
_
_
cos 0 sin 0
0 1 0 0
sin 0 cos 0
0 0 0 1
_
_
, (20c)
e la matrice di traslazione omogenea fondamentale
T
tr,d
:=
_
_
1 0 0 d
x
0 1 0 d
y
0 0 1 d
z
0 0 0 1
_
_
, (20d)
dove d = [d
x
d
y
d
z
]
T
costituisce un generico spostamento traslatorio.
Il vantaggio delle coordinate e trasformazioni omogenee sta nel fatto che lequazione (18),
caratterizzante un generico spostamento rigido, pu` o essere descritta in forma matriciale come
segue, tramite la trasformazione omogenea
0
T
1
:
p
0
=
_
q
0
1
_
=
0
T
1
p
1
=
_
0
R
1
d
[0 0 0] 1
_ _
q
1
1
_
,
=
_
0
R
1
q
1
+ d
1
_
e, analogamente a quanto accadeva per le rotazioni (descritte da matrici in R
33
), gli sposta-
menti rigidi si possono comporre, consentendo la rappresentazione compatta di catene di sis-
temi di riferimento in relazione luno con laltro. In particolare, se p
0
=
0
T
1
p
1
e p
1
=
1
T
2
p
2
,
19
Figure 10: Composizione di spostamenti rigidi per determinare la trasformazione di coordi-
nate complessiva.
allora si pu` o sostituire e ottenere
p
0
=
0
T
1
p
1
,
=
0
T
1
1
T
2
p
2
=:
0
T
2
p
2
.
Quindi, con riferimento alla Figura 10, la matrice
0
T
4
`e data dal seguente prodotto delle
trasformazioni da ogni sistema di riferimento al successivo:
0
T
4
=
0
T
1
1
T
2
2
T
3
3
T
4
.
Esercizio 3.2 Si dimostri tramite luso delle trasformazioni omogenee che una rotazione
lungo un asse ed una traslazione nella direzione dello stesso asse sono trasformazioni che
commutano.
Esempio 3.1 Trovare una matrice di trasformazione omogenea che rappresenti una traslazione
di lunghezza d lungo lasse z seguita da una rotazione di un angolo intorno a z, seguita da
una rotazione di un angolo intorno allasse x, e inne, da una traslazione di lunghezza a
lungo x.
Soluzione. La soluzione `e data dalla composizione delle quattro matrici di trasformazione
fondamentali, secondo la regola mnemonica data in Osservazione 2.2:
T = T
tr,[0 0 d]
T T
z,
T
x,
T
tr,[a 0 0]
T
=
_
_
cos sin 0 0
sin cos 0 0
0 0 1 0
0 0 0 1
_
_
_
_
1 0 0 0
0 1 0 0
0 0 1 d
0 0 0 1
_
_
20
_
_
1 0 0 a
0 1 0 0
0 0 1 0
0 0 0 1
_
_
_
_
1 0 0 0
0 cos sin 0
0 sin cos 0
0 0 0 1
_
_
=
_
_
cos cos sin sin sin a cos
sin cos cos sin cos a sin
0 sin cos d
0 0 0 1
_
Esercizio 3.3 Si dimostri che le trasformazioni omogenee non godono della propriet` a di
ortogonalit` a come le rotazioni. Inoltre, si verichi che, data la trasformazione omogenea,
0
T
1
=
_
0
R
1
d
[0 0 0] 1
_
,
la trasformazione inversa
10
corrisponde a:
1
T
0
=
_
0
R
T
1
0
R
T
1
d
[0 0 0] 1
_
.
_
cos
1
sin
1
0 0
sin
1
cos
1
0 0
0 0 1 0
0 0 0 1
_
_
_
_
1 0 0 a
1
0 1 0 0
0 0 1 0
0 0 0 1
_
_
=
_
_
cos
1
sin
1
0 a
1
cos
1
sin
1
cos
1
0 a
1
sin
1
0 0 1 0
0 0 0 1
_
_
(21)
Sulla base dellequazione (21), si pu` o ricavare la matrice di trasformazione globale che
risulta essere:
0
T
2
:=
0
T
1
1
T
2
= T
z
1
T
tr,[a
1
0 0]
T T
z
2
T
tr,[a
2
0 0]
T
=
_
_
cos
1
sin
1
0 a
1
cos
1
sin
1
cos
1
0 a
1
sin
1
0 0 1 0
0 0 0 1
_
_
_
_
cos
2
sin
2
0 a
2
cos
2
sin
2
cos
2
0 a
2
sin
2
0 0 1 0
0 0 0 1
_
_
=
_
_
cos(
1
+
2
) sin(
1
+
2
) 0 a
2
cos(
1
+
2
) + a
1
cos
1
sin(
1
+
2
) cos(
1
+
2
) 0 a
2
sin(
1
+
2
) + a
1
sin
1
0 0 1 0
0 0 0 1
_
_
,
22
dove lultima relazione `e stata ottenuta usando le ben note formule di Prostaferesi per le
funzioni trigonometriche di somme e dierenze di angoli.
Osservazione 3.1 In base allesperienza fatta tramite lEsempio 3.2, si pu` o dare la seguente
regola mnemonica. Per esprimere le coordinate rispetto ad una base (0xyz)
0
in funzione di
una seconda base (0xyz)
1
in posizione arbitraria rispetto alla precedente, bisogna scomporre
il movimento dalla base (0xyz)
0
alla (0xyz)
1
in rotazioni o traslazioni elementari e poi
eseguire la seguente procedura:
1. Sovrapporre (0xyz)
1
a (0xyz)
0
e inizializzare T = I (i due sistemi di riferimento sono
coincidenti).
2. Esprimere ordinatamente le rotazioni e traslazioni necessarie per portare (0xyz)
1
nella
posizione originaria aggiornando T ad ogni movimento elementare come segue:
se (0xyz)
1
ruota (trasla) intorno ad (lungo) un asse fondamentale di (0xyz)
1
,
allora si postmoltiplica T per la matrice di trasformazione omogenea elementare
corrispondente al movimento;
se (0xyz)
1
ruota (trasla) intorno ad (lungo) un asse fondamentale di (0xyz)
0
,
allora si premoltiplica T per la matrice di trasformazione omogenea elementare
corrispondente al movimento.