Sei sulla pagina 1di 128

Capitolo 1

Elementi di Algebra Lineare


1.1

Le matrici: definizioni

In questo capitolo saranno descritti i concetti fondamentali che riguardano


la teoria delle matrici (che compone una parte fondamentale della cosiddetta
Algebra Lineare). Le matrici giocano un ruolo fondamentale nella descrizione delle trasformazioni geometriche, uno strumento base della Computer
Garphics.
Definizione 1.1.1 Una matrice `e una tabella di numeri reali con m righe
ed n colonne, con m, n N, indicata solitamente nel seguente modo

a11 a12 . . . a1n


a21 a22 . . . a2n

A = ..
.. .
..
.
.
.
am1 am2 . . . amn

Quando non `e importante precisare il numero di righe o di colonne la matrice


viene indicata con una lettera maiuscola, per esempio A, oppure con Am,n
quando `e importante specificarle. I numeri interi m ed n si dicono dimensioni
della matrice, ovvero A si dice matrice di dimensioni m n o di ordine m n.
I numeri aij R, con 1 i m e 1 j n, si chiamano elementi della
matrice e si usa scrivere anche
A = [aij ] .
Se ogni elemento della matrice `e un numero reale allora si indica con Rmn
linsieme delle matrici aventi elementi reali, ricordando che R indica linsieme
1

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

dei numeri reali. Se m 6= n allora la matrice si dice rettangolare. Se m = n la


matrice A si dice quadrata ed il comune numero di righe e di colonne si dice
ordine Come gi`a accennato se i e j sono due numeri interi lelemento della
matrice che si trova in posizione (i, j) viene indicato con aij . Gli elementi
aij di una matrice quadrata A di ordine n tali che i = j sono detti elementi
principali o diagonali e formano la cosiddetta diagonale principale di A.
Se m = 1 (ovvero la matrice `e composta da una sola riga) si dice anche
vettore riga, mentre se n = 1 (ovvero la matrice `e composta da una sola
colonna) si dice anche vettore colonna. Le propriet`a principali dei vettori
saranno descritte in dettaglio in seguito.
Due matrici A e B, con lo stesso numero m di righe ed n di colonne, sono
uguali se e soltanto se
aij = bij ,

i = 1, . . . , m, j = 1, . . . , n.

Definizione 1.1.2 Data una matrice A Rmn , la matrice n m ottenuta


da A scambiando le righe con le colonne si chiama matrice trasposta, AT , di
A:

a11 a21 . . . am1


a11 a12 a13 . . . a1n
a12 a22 . . . am2

a21 a22 a13 . . . a2n

a13 a23 . . . am3

T
,
A
=
A = ..

.
..
..
..
..
.
..
..
.
.
.
.
.
.
am1 am2 am3 . . . amn
a1m a2m . . . amn
Per esempio

A=

1 3 5 7
2 4 6 8

3
AT =
5
7

2
4
.
6
8

In particolare la matrice trasposta di un vettore colonna `e un vettore riga e


viceversa. Vedremo in seguito che per i vettori le notazioni sono notevolmente
semplificate.
Casi particolari di matrici quadrate:
matrice simmetrica: aij = aji , ovvero gli elementi della iesima
riga sono uguali a quelli della jesima colonna, e quindi A = AT , per

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE


esempio:

1
3
A=
5
7

3
4
5
6

5
5
6
6

7
6
;
6
8

matrice triangolare superiore: aij = 0, per i > j, ovvero gli


elementi sotto la diagonale principale sono tutti nulli, per esempio:

1 3 5 7
0 4 5 6

A=
0 0 6 6 ;
0 0 0 8

matrice triangolare inferiore: aij = 0, per i < j, ovvero gli elementi


sopra la diagonale principale sono tutti nulli, per esempio:

1 0 0 0
3 4 0 0

A=
5 5 6 0 ;
7 6 6 8
matrice diagonale: aij = 0, per i 6= j, ovvero gli elementi al di fuori
della la diagonale principale sono tutti nulli, per esempio:

1 0 0 0
0 4 0 0

A=
0 0 6 0 ;
0 0 0 8

matrice identit`
a: aij = 0, per i 6= j, e aii = 1 per ogni i, quindi si
tratta di una matrice diagonale con tutti gli elementi principali uguali
a 1, e che solitamente si indica con In , dove n `e lordine della matrice
oppure semplicemente con I se non risulta essenziale evidenziarne la
dmensione:

1 0 0 0 0 0
0 1 0 0 0 0

0 0 1 0 0 0
.

I6 = I =

0
0
0
1
0
0

0 0 0 0 1 0
0 0 0 0 0 1

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

La matrice con tutti gli elementi nulli si chiama anche matrice nulla e
si pu`o indicare con O.
La matrice i cui elementi sono gli opposti degli elementi di A si chiama
opposta di A e si indica con A.

1.2

Operazioni tra matrici

Definizione 1.2.1 Assegnate due matrici A, B Rmn si definisce somma


di A e B, e si denota con A + B, la matrice C Rmn ottenuta sommando
gli elementi corrispondenti sono:

a11 + b11 a12 + b12 . . . a1n + b1n


a21 + b21 a22 + b22 . . . a2n + b2n

A+B =
.
..
..
..

.
.
.
am1 + bm1 am2 + bm2 . . . amn + bmn

Definizione 1.2.2 Assegnata una matrice A Rmn ed un numero R,


si definisce prodotto di A per , e si denota con A, la matrice ottenuta
moltiplicando per tutti gli elementi di A:

a11 a12 . . . a1n


a21 a22 . . . a2n

A = ..
..
.. .
.
.
.
am1 am2 . . . amn
Le operazioni appena introdotte godono delle seguenti propriet`a:

(A + B) + C = A + (B + C) : propriet`
a associativa della somma;
a commutativa della somma;
A + B = B + A : propriet`
A + O = A : la matrice nulla `
e elemento neutro della somma;
A + (A) = O : esistenza dellopposto per la somma;
(A + B) = A + B;
( + )A = A + A;

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE


0 A = O;
1 A = A.

Definizione 1.2.3 Assegnate due matrici A, B Rmn si definisce differenza tra A e B, e si denota con A B, la matrice C Rmn ottenuta
sommando A con la matrice opposta di B: sono:

a11 b11 a12 b12 . . . a1n b1n


a21 b21 a22 b22 . . . a2n b2n

AB =
.
..
..
..

.
.
.
am1 bm1 am2 bm2 . . .

amn bmn

Definizione 1.2.4 Assegnate due matrici A Rmp e B Rpn si definisce


prodotto righe per colonne la matrice C Rmn i cui elementi cij sono
ottenuti moltiplicando gli elementi della iesima riga di A per gli elementi
della jesima colonna di B e sommando i prodotti cos` ottenuti:
p
X
aik bkj
i = 1, . . . , m, j = 1, . . . , n.
cij = ai1 b1j +ai2 b2j + +aip bpj =
k=1

Si noti che affinch`e tale prodotto abbia senso `e necessario che il numero delle
colonne della prima matrice coincida con il numero delle righe della seconda.
Questo significa che, in generale, dato il prodotto AB non ha nemmeno senso
considerare il prodotto BA. Se, assegnate due matrici, `e possibile calcolarne
il prodotto allora le matrici si dicono conformabili, altrimenti si dicono non
conformabili.
Esempio 1.2.1 Siano A e B le seguenti matrici:

1
3
2


0 1 1
2 3
0 1
;
B=
A=
2
0
1
5 1 3
1
5
0 1

Calcoliamo la matrice C = AB. Lelemento cij `e uguale alla somma dei


prodotti degli elementi della iesima riga di A per la jesima colonna di B.
c11
c12
c13
c21
c22
c23

= 2 1 + 3 0 + 0 (1) + (1) 5 = 3
= 2 3 + 3 (1) + 0 0 + (1) 0 = 3
= 2 2 + 3 (1) + 0 1 + (1) (1) = 2
= 5 1 + 1 0 + (3) (1) + 1 5 = 13
= 5 3 + 1 (1) + (3) 0 + 1 0 = 14
= 5 2 + 1 (1) + (3) 1 + 1 (1) = 5.

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE


In definitiva
C=

3 3 2
13 14 5

Nel caso particolarmente importante di matrici quadrate esse devono avere


lo stesso ordine, in questo caso ha senso considerare i prodotti AB se BA ma
pu`o succedere che AB 6= BA. Se invece accade che AB = BA allora si dice
che le due matrici commutano altrimenti si dice che non commutano.
Esempio 1.2.2 Siano A e B

3 1
A = 1 2
3 1

le seguenti matrici:

2 1 1
0
1 ;
B = 0 1 1 .
2 1 1
1

Calcoliamo la matrice C = AB. Lelemento cij `e uguale alla somma dei


prodotti degli elementi della iesima riga di A per la jesima colonna di B.
c11
c12
c13
c21
c22
c23
c31
c32
c33
In definitiva

=32+10+02=6
=31+11+01=4
= 3 (1) + 1 1 + 0 1 = 2
= 1 2 + 2 0 + 1 2 = 0
= 1 1 + 2 1 + 1 1 = 2
= 1 (1) + 2 1 + 1 1 = 4
=32+10+12=8
=31+11+11=5
= 3 (1) + 1 1 + 1 1 = 1.

6 4 2
C = 0 2 4 .
8 5 1

Calcolando il prodotto D = BA si trova invece:

2 3 0
D= 2 3 2
8 5 2

da cui risulta evidente che AB 6= BA.

Il prodotto tra matrici gode delle seguenti propriet`a:

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE


(AB)C = A(BC) : propriet`
a associativa del prodotto;

A(B + C) = AB + AC : propriet`
a distributiva del prodotto
rispetto alla somma;
(AB) = (A)B;
A I = I A = A : la matrice identit`
a `
e elemento neutro del
prodotto;
(AB)T = B T AT .
Una matrice che si ottiene da I scambiando alcune righe (o colonne) viene
detta matrice di permutazione. Come conseguenza nella definizione di prodotto tra matrici si possono definire anche le potenze di una matrice, per
esempio:
A2 = A A,
A3 = A A A
e, in generale,
Ak = A
| A{z. . . A} .
k volte

Esempio 1.2.3 Sia P la seguente matrice

0 0 1
0 1 0
P =
1 0 0
0 0 0

di permutazione di ordine 4:

0
0

0
1

e calcoliamo il prodotto

0 0
0 1
PA =
1 0
0 0


3 9
4
2 6
8
=
8 1 2
4 5
9

che `e stata ottenuta dalla matrice identit`


a
la terza. Consideriamo la seguente matrice

1 2 3
2 6 7
A=
3 9 6
4 5 7
P A:
1
0
0
0

0
1 2
2 6
0

0 3 9
1
4 5

3
7
6
7

I scambiando la prima riga con


A

4
8

8
9
6
7
3
7

8
8
.
4
9

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

La moltiplicazione a sinistra di una matrice di permutazione per A ha leffetto


di scambiare le righe di A esattamente nello stesso modo con cui erano state
scambiate le righe dellidentit`
a per ottenere P . Calcoliamo ora il prodotto
AP :

3 2 1 4
1 2 3 4
0 0 1 0
2 6 7 8 0 1 0 0 7 6 2 8


AP =
3 9 6 8 1 0 0 0 = 6 9 3 8 .
7 5 4 9
4 5 7 9
0 0 0 1
Invece la moltiplicazione a destra di una matrice di permutazione per A ha
leffetto di scambiare le colonne di A.
Operazioni a blocchi
Definizione 1.2.5 Una matrice A Rnm si dice partizionata in p q
blocchi se viene suddivisa nel seguente modo:

A11 A12 . . . A1q


A21 A22 . . . A2q

A = ..
..
.
.
Ap1 Ap2 . . . Apq
P
P
dove ogni Aij `e di dimensioni mi nj e pi=1 mi = m, qj=1 nj = n.

Consideriamo ora una matrice quadrata A di ordine n ed un numero intero


k, 1 k < n, e suddividiamo la matrice in 4 parti nel seguente modo:

a11
a12 . . .
a1k
a1,k+1 . . .
a1n
a21
a22 . . .
a2k
a2,k+1 . . .
a2n
.

.
..
.
...
...
...
.

.
.
.
.
.
.

ak2 . . .
akk
ak,k+1 . . .
akn
A = ak1

ak+1,1 ak+1,2 . . . ak+1,k ak+1,k+1 . . . ak+1,n


.

..
..
..
...
...
...
..

.
.
.
an,k+1 . . .
ann
an1
an2 . . .
ank
e, posto

A11 =

a11 a12 . . . a1k


a21 a22 . . . a2k
.. . . . .
..
.
.
.
.
ak1 ak2 . . . akk

(1.1)

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

(1.2)

A12 =

A21

A22 =

a1,k+1 a1,k+2 . . . a1n


a2,k+1 a2,k+2 . . . a2n
..
..
..
...
.
.
.
ak,k+1 ak,k+2 . . . akn

ak+1,1 ak+1,2 . . . ak+1,k


ak+2,1 ak+2,2 . . . ak+2,k
..
..
..
...
.
.
.
an1
an2 . . .
ank

ak+1,k+1 ak+1,k+1 . . . ak+1,n


ak+2,k+1 ak+2,k+1 . . . ak+2,n
..
..
..
...
.
.
.
an,k+1
an,k+2 . . .
ann

la matrice pu`o essere scritta nel seguente modo:




A11 A12
A=
A21 A22

(1.3)

(1.4)

con A11 Rkk , A21 Rk(nk) , A21 R(nk)k e A22 R(nk)(nk) . Le


quattro matrici definite sono dette blocchi. Se B `e una matrice quadrata
avente lo stesso ordine di A pu`o essere suddivisa esattamente nello stesso
modo


B11 B12
B=
B21 B22
con B11 Rkk , B21 Rk(nk) , B21 R(nk)k e B22 R(nk)(nk) .
Le operazioni tra le due matrici possono essere eseguite utilizzando tale
partizionamento, in particolare la somma `e la seguente


A11 + B11 A12 + B12
A+B =
A21 + B21 A22 + B22

mentre per il prodotto si applica una regola simile al prodotto righe per
colonne, con la differenza che in questo caso gli elementi sono, a loro volta,
matrici di dimensioni opportune.



B11 B12
A11 A12
AB =
B21 B22
A21 A22
=

A11 B11 + A12 B21 A11 B12 + A12 B22


A21 B11 + A22 B21 A21 B12 + A22 B22

10

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

Tali operazioni sono dette rispettivamente somma a blocchi e prodotto a


blocchi.
Il prodotto a blocchi risulta essere particolarmente utile quando la matrice
ha una struttura particolare, ovvero nel caso in cui uno dei blocchi sia uguale
alla matrice nulla oppure alla matrice identit`a.
Esempio 1.2.4 Supponiamo

1 2 0 7 5 0
2 4 1 2 2 0

0 2 2 2 3 0

A=
1 0 0 7 2 0
3 3 2 0 3 0

1 2 3 6 7 1
1 3 9 9 8 0

che A e B siano

0
B=

0
1

le seguenti matrici:
1
0
0
0
0
0
0

0
1
0
0
0
0
0

0
0
1
0
0
0
0

0
0
0
1
0
0
0

0
0
0
0
1
0
0

Posto k = 5 abbiamo le seguente ripartizioni a blocchi

1 2 0 7 5 0 0
2 4 1 2 2 0 0

0 2 2 2 3 0 0 


A
O
11

A=
1 0 0 7 2 0 0 = A21 I2
3 3 2 0 3 0 0

1 2 3 6 7 1 0
1 3 9 9 8 0 1

1 0 0 0 0 1 2
0 1 0 0 0 3 4

0 0 1 0 0 5 6 


I5 B12

B= 0 0 0 1 0 7 8 =
O B22
0 0 0 0 1 9 1

0 0 0 0 0 1 2
0 0 0 0 0 3 4

1
3
5
7
9
1
3

2
4
6
8
1
2
4

Calcolando il prodotto a blocchi si ottiene



 


A11
A11 B12
I5 B12
A11 O
.
=
AB =
A21 A21 B12 + B22
O B22
A21 I2
Si pu`
o osservare come in questo modo risulta evidente che una parte degli
elementi della matrice prodotto non debba essere calcolata.

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

1.2.1

11

Determinante di una matrice quadrata

Prima di definire il determinante di una matrice vediamo alcune definizioni


preliminari.
Definizione 1.2.6 Assegnata una matrice A Rmn , una matrice B
Rhk , 0 < h m, 0 < k n, `e detta sottomatrice di A se `e ottenuta da A
eliminando m h righe ed n k colonne.
Definizione 1.2.7 Assegnata una matrice A Rmn , una sottomatrice quadrata B di ordine k n di A `e detta principale se gli elementi principali di
B sono anche gli elementi principali di A. Una sottomatrice B principale
di ordine k di A `e detta principale di testa se `e formata dagli elementi aij ,
i, j = 1, . . . , k.
Definizione 1.2.8 Se A Rnn `e una matrice di ordine 1, si definisce
determinante di A il numero
det A = a11 .
Se la matrice A `e quadrata di ordine n allora fissata una qualsiasi riga (colonna) di A, diciamo la i-esima (j-esima) allora applicando la cosiddetta regola
di Laplace il determinante di A `e:
n
X

det A =

aij (1)i+j det Aij

j=1

dove Aij `e la sottomatrice


la j-esima colonna.

a11
..
.

a
Aij = i1,1
ai+1,1
.
..
an1

che si ottiene da A cancellando la i-esima riga e


...
...

a1,j1
..
.

a1,j+1
..
.

. . . ai1,j1 ai1,j+1
. . . ai+1,j1 ai+1,j+1
..
..
...
.
.
. . . an,j1
an,j+1

Il determinante `e pure uguale a


det A =

n
X
i=1

a1n
..
.

. . . ai1,n

. . . ai+1,n
..
...
.
. . . ann

...
...

aij (1)i+j det Aij ,

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

12

cio`e il determinante `e indipendente dallindice di riga (o di colonna) fissato.


Il numero (1)i+j det Aij prende il nome di cofattore di aij . Vediamo di
calcolare il determinante di una matrice di ordine 2. Sia


a11 a12
A=
.
a21 a22
Fissiamo la prima riga (cio`e poniamo i = 1) ed applichiamo la regola di
Laplace:
det A =

2
X

a1j (1)1+j det A1j

j=1

= a11 (1)1+1 det A11 + a12 (1)1+2 det A12


= a11 det A11 a12 det A12 .
Ora A11 = [a22 ], poich`e cancellando dalla matrice A la prima riga e la prima
colonna resta solo lelemento in posizione (2, 2) e quindi
det A11 = a22 .
In modo analogo A12 = [a21 ], poich`e cancellando dalla matrice A la prima
riga e la seconda colonna resta solo lelemento in posizione (2, 1) e quindi
det A12 = a21 .
Il determinante di A vale quindi:
det A = a11 a22 a21 a12 .
Il determinante gode delle seguenti propriet`a:
det AB = det A det B (Regola di Binet);
Se due matrici A e B differiscono solo per lo scambio di due righe (o
di due colonne) allora
det A = det B;
Se A `e una matrice triangolare o diagonale allora
det A =

n
Y
i=1

aii ;

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

13

det I = 1;
det AT = det A;
se una matrice A ha una riga (o una colonna) `e nulla, oppure una riga
(o una colonna) `e proporzionale ad unaltra riga (o colonna) oppure
`e combinazione lineare di due (o pi`
u) righe (o colonne) di A allora
det A = 0;
se si moltiplica una riga (o una colonna) di A per un numero reale
allora il determinante di A risulta moltiplicato per ;
se R allora det A = n det A.
Esempio 1.2.5 Calcoliamo il determinante della seguente matrice di ordine
3:

2 1 1
A = 0 4 3 .
2 1 1
Calcoliamo il determinante rispetto alla riga (o alla colonna) che ha pi`
u
elementi uguali a zero, in questo caso la seconda riga.
det A = a21 det A21 + a22 det A22 a23 det A23
= a22 det A22 a23 det A23
= 4 det A22 3 det A23 .
Ora
det A22 = det

det A23 = det


Quindi det A = 16.

2 1
2 1
2 1
2 1

= 2 + 2 = 4,

= 2 2 = 0.

Definizione 1.2.9 Una matrice A di ordine n si dice non singolare se il suo


determinante `e diverso da zero, in caso contrario viene detta singolare.
Definizione 1.2.10 Si definisce inversa di A la matrice A1 tale che:
AA1 = A1 A = I

14

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE


Lelemento di posto (i, j) della matrice inversa `e uguale a

det Aji
.
(1.5)
ij
det A
Per quello che riguarda il determinante della matrice inversa vale la seguente
propriet`a:
1
.
det A1 =
det A
Per esempio se A `e la matrice di ordine 2:


a b
A=
c d
a(1)

= (1)i+j

allora
det A = ad bc

ed `e facile verificare che la matrice inversa `e:




1
d b
1
A =
.
ad bc c a
Ci sono alcuni tipi di matrici per i quali il calcolo della matrice inversa `e molto
semplice, e prescinde dalla conoscenza della formula (1.5). Queste classi sono
le matrici ortogonali, diagonali ed alcuni tipi di matrici triangolari.
Una matrice si dice ortogonale se AT A = AAT = I, cio`e se la sua matrice
inversa coincide con la matrice trasposta, cio`e:
A1 = AT .
Un esempio di matrice ortogonale `e il seguente


cos sin
.
A=
sin cos
Infatti
T

AA



cos sin
sin cos

cos2 + sin2
cos sin + cos sin
cos sin + cos sin
cos2 + sin2

1 0
0 1

cos sin
sin cos

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE


Se invece A `e una matrice diagonale:

a11

a22
O

.
.
A=
.

O
an1,n1

15

ann

allora `e ovvio che A `e invertibile se aii 6= 0, i = 1, . . . , n. In questo caso la


matrice inversa di A `e la matrice diagonale avente come elementi principali
i reciproci degli elementi principali di A:

1/a11

1/a22
O

1
.
..
A =
.

O
1/an1,n1
1/ann

Simili alle matrici diagonali sono le matrici diagonali a blocchi:

D1

D2
O

.
.
A=

O
Dn1
Dn

in cui ogni elemento Di , i = 1, . . . , n, `e una matrice quadrata non singolare


di ordine ni . In questo caso la matrice inversa `e:
1

D1

D21
O

...
A1 =

O
Dn1
1
Dn

Un ultimo esempio riguarda una classe di matrici che viene applicata nella rappresentazione di alcune trasformazioni nel piano e nello spazio e che

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

16

vedremo in uno dei prossimi capitoli, e sono le matrici triangolari del tipo:

1
a1i

1
a2i

..

...

,
.
A=
. ai1,i

...

1
in questo caso si pu`o facilmente verificare che

1
a1i

1
a2i

..

...

.
A=
. ai1,i

...

Questultima propriet`a `e posseduta anche da matrici triangolari con analoga


struttura.

1.3

Vettori

Se A Rm1 (o A R1m ), la matrice si riduce ad una sola colonna (o una


sola riga) e viene detta vettore colonna (o riga) ad m elementi o componenti.
Solitamente il termine vettore viene associato a vettori colonna e linsieme dei
vettori ad m componenti viene indicato con Rm . Per le operazioni tra vettori
valgono le stesse regole viste per le matrici, cio`e la somma e la differenza sono
possibili tra vettori dello stesso tipo e con lo stesso numero di componenti.
Se x `e un vettore colonna di m elementi allora xT `e un vettore riga sempre
di m elementi. Se A Rmn e x Rn `e possibile definire il prodotto matrice
per vettore nel seguente modo:
y = Ax,

yi =

n
X
j=1

aij xj ,

i = 1, . . . , m

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

17

quindi y Rm . Non `e possibile effettuare il prodotto AxT perch`e le dimensioni non sono compatibili.
Esempio 1.3.1 Sia

5
1 0
A = 1 1 2
5 5 1

e sia x il vettore

1
x = 2 .
3

Calcoliamo il vettore prodotto y = Ax:

y1 = 5 1 + 1 2 + 0 3 = 7
y2 = 1 1 + 1 2 + 2 3 = 7
y3 = 5 1 5 2 + 1 3 = 2.
Tra vettori sono consentite le seguenti operazioni:
1. prodotto interno;
2. prodotto esterno.
Il prodotto interno, che viene indicato come (, ), `e definito nel seguente
modo: siano xy Rn , allora
(x, y) = xT y =

n
X

xi yi =

i=1

e il risultato `e un numero reale. Se accade che = 0 allora si dice che i due


vettori sono ortogonali.
Se si calcola il prodotto
T

(x, x) = x x =

n
X
i=1

x2i 0

(x, x) = 0
solo se x `e il vettore che ha tutte le componenti uguali a zero. La quantit`a

xT x viene detta lunghezza del vettore.

CAPITOLO 1. ELEMENTI DI ALGEBRA LINEARE

18

Se x Rn e y Rm allora il prodotto esterno viene definito nel seguente


modo:
A = xyT
e il risultato `e una matrice di dimensione n m i cui elementi sono:
aij = xi yj ,

i = 1, . . . , n, j = 1, . . . , m.

Esempio 1.3.2 Siano x e y i seguenti vettori:



1

x= 2
3

1
y = 2 .
4

Calcoliamo prima il prodotto interno:

xT y = 1 (1) + 2 (2) + 3 4 = 7.
Osserviamo che tale operazione gode della propriet`
a commutativa, poich`e
T
y x = 7.
Per quello che riguarda il prodotto esterno, il risultato `e la matrice

1 2 4
A = xyT = 2 4 8 .
3 6 12
Tale prodotto non gode della propriet`
a commutativa, infatti:

1 2 3
B = yxT = 2 4 6 .
4
8 12

Infatti B 6= A, anche se va osservato che B = AT .

Capitolo 2
Elementi di Geometria
Analitica
2.1

Coordinate cartesiane

Un concetto fondamentale che si incontra quando si deve affrontare la geometria analitica, cio`e lo studio della rappresentazione matematica degli enti
geometrici, `e quello di posizione. Per poter descrivere in modo efficace la
posizione di un qualsiasi oggetto `e necessario fissare il cosiddetto sistema di
riferimento, cio`e alcuni particolari punti (o enti geometrici) privilegiati rispetto ai quali definire la posizione dei punti, delle figure, degli oggetti geometrici
che si intendono rappresentare matematicamente. Classicamente nel cosiddetto sistema di riferimento delle Coordinate Cartesiane vengono considerate
due particolari rette, tra di loro perpendicolari, una orientata verso destra e
laltra verso lalto cui vengono dati rispettivamente nome di asse delle ascisse
(o asse delle x) e asse delle ordinate (o asse delle y). Il punto di intersezione
tra tali rette prende il nome di Origine del Riferimento Cartesiano (infatti
`e indicato con O) e `e il punto rispetto al quale viene definita la posizione
degli altri punti. Infatti considerato un punto P del piano la sua posizione
venga determinata nel seguente modo. Osservando la Figura 2.1 si mandano
da P le rette parallele agli assi cartesiani che intercettano gli stessi nei due
punti Px e Py . Si definisce ascissa di P la lunghezza del segmento OPx con
il segno positivo se Px si trova a destra dellorigine, segno negativo in caso
contrario. Si definisce ordinata di P la lunghezza del segmento OPy con il
segno positivo se Py si trova al di sopra dellorigine, segno negativo in caso

19

20

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

Py

P (x1 , y1 )

Px

Figura 2.1: Coordinate cartesiane del punto P.


contrario. Lorigine ha coordinate (0, 0). Gli assi del riferimento cartesiano
dividono il piano in quattro settori, detti quadranti, numerati a partire da
quello in alto a destra (primo quadrante) fino allultimo in basso a destra
(quarto quadrante) e procedendo in senso antiorario. Il segno assunto dallascissa e dallordinata di un punto P (x, y) `e quello riportato nella seguente
tabella:

Quadrante
I
II
III
IV

2.1.1

segno di x
x>0
x<0
x<0
x>0

segno di y
y>0
y>0
y<0
y<0

Il concetto di funzione

Una funzione `e una relazione che lega due grandezze variabili in modo che,
assegnati valori arbitrari ad una di esse (variabile indipendente), risultino
perfettamente determinati i corrispondenti valori dellaltra (variabile dipendente). Nel caso della geometria analitica un primo obiettivo `e quello di

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

21

associare ad ogni ente geometrico (rette, coniche, curve e cos` via) una funzione matematica cio`e stabilire il legame tra le ascisse e le ordinate dei punti
facenti parte di tale ente. Le funzioni possono essere presentate sotto forma
esplicita
y = f (x),
(oppure x = f (y))
oppure sotto forma implicita
F (x, y) = 0.
Esplicitare una funzione data sotto forma implicita significa, quando ci`o `e
possibile, risolvere lequazione rispetto ad una delle variabili ed ottenere in
questo modo unespressione esplicita. Nel caso in cui la funzione abbia unespressione nota esplicitamente si deve considerare linsieme dei valori x che
danno come risultato un valore reale accettabile. Tale insieme prende il nome
di insieme di definizione o dominio della funzione. Un altro concetto importante strettamente legato a quello di funzione `e il grafico. Il grafico di una
funzione nota esplicitamente `e linsieme dei punti del piano aventi coordinate
(x, f (x)) (oppure (g(y), y)) con x (o y) appartenente allinsieme di definizione
della funzione. Nel caso in cui la funzione sia definita implicitamente allora non ha senso parlare di insieme di definizione, a meno che lespressione
F (x, y) = 0 possa essere resa esplicita rispetto ad una delle variabili. Generalmente tale eventualit`a `e piuttosto remota, mentre assai frequente `e il caso
in cui a tale espressione possano essere associate pi`
u equazioni esplicite in
una delle due variabili. Assegnate due funzioni f (x) e g(x) (o due espressioni
implicite F (x, y) = 0 e G(x, y) = 0) si definiscono punti di intersezione, se
esistono, le soluzioni del sistema


y = f (x)
F (x, y) = 0
oppure
y = g(x)
G(x, y) = 0
cio`e i punti che soddisfano entrambe le equazioni. Nei prossimi paragrafi
vedremo come associare ai pi`
u comuni enti geometrici le relative espressioni
funzionali, iniziando dalle rette.

2.1.2

Distanza tra due punti

Siano A e B due punti del piano cartesiano aventi coordinate rispettivamente (x1 , y1 ) e (x2 , y2 ). Vogliamo calcolare la lunghezza del segmento AB, che

22

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y
B

By

Ay

Ax

Bx

Figura 2.2: Distanza tra due punti.


viene solitamente indicata con AB. Facendo riferimento alla Figura 2.2 possiamo considerare che AB `e la lunghezza dellipotenusa del triangolo rettangolo ABC, pertanto pu`o essere calcolata applicando il Teorema di Pitagora.
Poich`e le lunghezze dei cateti sono
AC = x2 x1 ,
segue che
AB =

BC = y2 y1

p
(x2 x1 )2 + (y2 y1 )2 .

Osserviamo che lordine con cui le coordinate appaiono nella formula `e arbitrario (la distanza di B da A `e la stessa di A da B). Se i due punti hanno la
stessa ascissa allora
AB = |y2 y1 |
mentre se hanno la stessa ordinata
AB = |x2 x1 |.

2.1.3

Coordinate del punto medio di un segmento

Siano A(x1 , y1 ) e B(x2 , y2 ) due punti del piano cartesiano. Si vogliono determinare le coordinate del punto medio del segmento AB, che abbiamo
chiamato M . Con riferimento alla Figura 2.3 si vuole calcolare lascissa del

23

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y
B

By
M

My
Ay

Ax

Mx

Bx

Figura 2.3: Punto medio di un segmento.


punto Mx e lordinata di My . Poich`e M `e il punto medio del segmento AB
si ha che AM = M B e, di conseguenza anche
1
1
Ax Mx = Mx Bx = Ax Bx = (x2 x1 ).
2
2
Quindi, detta xM lascissa di M, si ha:
1
x1 + x2
xM = x1 + (x2 x1 ) =
.
2
2
In modo perfettamente analogo si arriva a determinare che, detta yM lordinata di M , segue:
y1 + y2
yM =
.
2

2.1.4

Le rette

Volendo associare ad ogni retta la relativa equazione consideriamo i seguenti


casi:
1. retta coincidente con lasse x;
2. retta coincidente con lasse y;
3. retta parallela allasse x;

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

24

4. retta parallela allasse y;


5. retta passante per lorigine;
6. retta generica del piano.
Nel primo caso lequazione `e banale poich`e i punti che appartengono allasse
x hanno ordinata nulla, pertanto considerato un punto P del piano avente
coordinate (x, y) affinch`e appartenga a questa retta deve essere soddisfatta
lequazione:
y = 0.
Anche il secondo caso `e semplice, infatti i punti dellasse y hanno ascissa
nulla, pertanto soddisfano lequazione:
x = 0.
Se ora consideriamo una retta parallela allasse x sia A il suo punto dintersezione con lasse y, di coordinate (0, a). Tutti i punti della retta hanno la
stessa ordinata a pertanto soddisfano lequazione:
y = a.
Analogamente per una retta parallela allasse y, se il punto di intersezione con
lasse x ha coordinate (a, 0) allora i punti della retta soddisfano lequazione:
x = a.
Sia ora r una retta passante per lorigine del riferimento. Con riferimento alla
Figura 2.4 siano A e B due punti della retta aventi coordinate rispettivamente
A(x1 , y1 ) e B(x2 , y2 ). Poich`e i triangoli OAAx e OBBx sono simili vale il
seguente rapporto di proporzionalit`a tra i lati
y1
y2
=
=m
x1
x2

(2.1)

essendo m una costante reale. Se P (x, y) `e un generico punto del piano


affinch`e appartenga alla retta le sue coordinate devono soddisfare la stessa
relazione di proporzionalit`a (2.1), cio`e deve essere
y
=m
x

y = mx.

25

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

r
P

B
A

O
Ax

Bx

Figura 2.4: Retta passante per lorigine.


Nel caso di una retta generica non passante per lorigine (Figura 2.5), supponiamo che essa intercetti lasse y nel punto A di coordinate (0, q). Supponiamo ora di traslare lasse x verso lalto in modo tale che lorigine del
nuovo riferimento cartesiano coincida con il punto A. Indichiamo con X Y
tale nuovo riferimento. Le relazioni tra le coordinate del nuovo riferimento
rispetto al vecchio sono:

X =x
(2.2)

Y = y q.
La verifica che il punto A `e lorigine del riferimento X Y `e immediata. Nel
piano X Y la retta in questione passa per lorigine, quindi ha equazione:
Y = mX
da cui, sostituendo le relazioni (2.2), si ottiene
y q = mx

y = mx + q.

Le rette in R2 sono quindi rappresentate dallequazione algebrica di primo


grado:
y = mx + q.
(2.3)
Tuttavia tale rappresentazione non riesce a tenere conto anche dellasse y
(che ha equazione x = 0) e delle rette ad esso parallele, pertanto un modo

26

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


yY

A
X
O
x
Figura 2.5: Retta generica.
alternativo di rappresentare lequazione di una retta `e:
ax + by + c = 0.

(2.4)

In questo modo, posto a = 1 e b = c = 0, si ottiene lequazione dellasse y.


Se b 6= 0 allora da (2.4) si pu`o ricavare lespressione di y:
c
a
y = x
b
b
e, posto m = a/b e q = c/b, si riottiene la (2.3). Il valore m prende il
nome di coefficiente angolare della retta, mentre q `e detto termine noto.

2.1.5

Equazione della retta passante per due punti

Siano P1 (x1 , y1 ) e P2 (x2 , y2 ) due punti del piano xy. Si vuole determinare
lequazione della retta passante per P1 e P2 . Supponiamo che tale retta non
sia parallela a nessuno degli assi del piano altrimenti il problema sarebbe
banalmente risolto. Sia
y = mx + q
(2.5)

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

27

lequazione di tale retta, con m e q coefficienti incogniti. Le coordinate del


punto P1 devono soddisfare lequazione (2.5), quindi
y1 = mx1 + q

(2.6)

e stessa cosa vale anche per P2 , quindi:


y2 = mx2 + q.

(2.7)

y y1 = m(x x1 )

(2.8)

y2 y1 = m(x2 x1 ).

(2.9)

Sottraiamo ora (2.6) da (2.5):

e (2.6) da (2.7):
Dividendo (2.8) per (2.9) si ottiene lequazione richiesta:
y y1
x x1
=
.
y2 y1
x2 x1

(2.10)

Dalla relazione (2.9) si ha lespressione del coefficiente angolare della retta in


funzione delle coordinate dei due punti:
y2 y1
.
(2.11)
m=
x2 x1

Inoltre se supponiamo di avere un terzo punto P3 di coordinate (x3 , y3 ) se


queste verificano lequazione (2.10) vuol dire che i tre punti P1 , P2 e P3 sono
allineati. Matematicamente la condizione per tale situazione `e la seguente:
y3 y1
x3 x1
=
.
y2 y1
x2 x1

Se invece la condizione appena riportata non `e verificata allora i 3 punti non


appartengono alla stessa retta.
Diamo ora una formula alternativa per il calcolo della distanza tra due punti.
Siano A(x1 , y1 ) e B(x2 , y2 ) due punti del piano, allora:
p
AB = (x2 x1 )2 + (y2 y1 )2
=

(x2 x1

)2


(y2 y1 )2
1+
.
(x2 x1 )2

Sostituendo lespressione del coefficiente angolare (2.11) segue:

AB = |x2 x1 | 1 + m2 .

(2.12)

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

2.1.6

28

Condizione di parallelismo tra rette

Supponiamo di avere due rette, r1 ed r2 , parallele, e rispettivamente di


equazioni:
y = m 1 x + q1
e
y = m 2 x + q2 .
Consideriamo due generici punti appartenenti a tali rette, P su r1 e Q su r2 ,
e supponiamo che tali punti abbiano la stessa ascissa x1 6= 0 (Figura 2.6). Le
loro coordinate saranno pertanto P (x1 , m1 x1 + q1 ) e Q(x1 , m2 x2 + q2 ). Consideriamo i punti di intersezione di tali rette con lasse y, rispettivamente A e
B. Tali punti hanno coordinate A(0, q1 ) e B(0, q2 ). Per ovvie considerazioni
geometriche i segmenti AB e P Q hanno la stessa lunghezza, pertanto:
AB = QP

q1 q2 = m 1 x1 + q1 m 2 x1 q2

da cui segue
(m1 m2 )x1 = 0

e quindi necessariamente m1 = m2 .

2.1.7

Condizione di perpendicolarit`
a tra rette

Ricordiamo che due rette sono perpendicolari se nel loro punto dintersezione
formano 4 angoli uguali a 90 . Consideriamo per semplicit`a il caso di due
rette passanti per lorigine. Dalla Figura 2.7 siano r ed s due rette tra loro
perpendicolari e aventi equazione:
r : y = mx,

s : y = m1 x.

Il punto R sulla retta r di ascissa pari a x1 , con x1 6= 0, avr`a coordinate


(x1 , mx1 ). Il punto S sulla retta s avr`a coordinate (x1 , m1 x1 ). Sia invece Q
il punto di coordinate (x1 , 0). I triangoli OQR e OQS sono simili pertanto
vale la seguente proporzionalit`a:
OQ
RQ
=
.
QS
OQ

(2.13)

Ora
QS = 0 m1 x1 = m1 x1 ,

RQ = mx1

29

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

r1

r2

A
Q

B
O
x
Figura 2.6: Rette parallele.
pertanto (2.13) diventa

mx1
x1
=
,
m1 x1
x1
da cui segue che deve essere necessariamente
m1 =

2.1.8

1
.
m

(2.14)

Distanza di un punto da una retta

Sia P un punto del piano di coordinate (x1 , y1 ) ed r una retta di equazione


y = mx + q.
Supponiamo che P non appartenga ad r. Vogliamo stabilire la formula per
calcolare la distanza di P da r. Tale distanza `e, per definizione, la lunghezza
del segmento avente come estremo P e perpendicolare ad r. Dalla Figura 2.8
sia P H la distanza da calcolare e sia M il punto della retta r che ha la stessa
ascissa di P e quindi coordinate (x1 , mx1 +q). Il punto N ha coordinate (x1 , 0)

30

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y
R

S
s
Figura 2.7: Rette perpendicolari.
mentre per determinare lascissa di D si deve determinare lintersezione della
retta r con lasse x:

q
y = mx + q
x= .
y=0
m
I triangoli HM P e M N D sono simili, posto pertanto d = P H la distanza
da calcolare vale la seguente proporzione:
PH
PM
=
.
ND
MD
Calcoliamo le lunghezze dei segmenti coinvolti in tale relazione.

Dalla formula (2.12) segue

P M = |y1 mx1 q|
q



N D = x1
m


q


M D = x1 1 + m 2 .
m

(2.15)

31

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

O
N

Figura 2.8: Distanza di un punto da una retta.


Andando a sostituire in (2.15) si ha:
|y mx1 q|
d
q
= q1





x1
x1 1 + m 2
m
m

da cui, fatte le dovute semplificazioni, segue la formula finale:


d=

2.2

|y1 mx1 q|

.
1 + m2

(2.16)

Le coniche

La conica `e una curva che si ottiene intersecando un cono rotondo indefinito


con un piano non passante per il vertice. Considerato un cono di rotazione
avente vertice V e angolo al vertice 2 supponiamo di intersecarlo con un
piano generico non passante per il vertice e che forma un angolo pari a
con lasse del cono (cio`e lasse intorno al quale avviene la rotazione delle due

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

32

rette che formano il solido stesso). Si possono presentare diverse eventualit`a.


La prima `e che
=
allora il piano taglia il cono lungo una linea aperta detta parabola Se invece
>
allora il piano taglia il cono lungo una linea chiusa detta ellisse. Nel caso
particolare in cui

=
2
allora la curva chiusa `e detta circonferenza. Ultimo caso `e quello in cui
<
in cui il piano taglia il cono lungo una linea aperta costituita da due rami, e
che viene detta iperbole.

2.2.1

Rappresentazione cartesiana delle coniche

In generale una conica `e descritta da unequazione implicita del secondo


ordine:
ax2 + bxy + cy 2 + dx + ey + f = 0
con a, b, c, d, e, f R e dove il termine b `e uguale a zero quando uno degli assi
di simmetria della curva coincide con uno degli assi del riferimento cartesiano
(o `e parallelo ad uno di essi). La caratterizzazione tra i diversi tipi di coniche
dipende dal segno assunto dalla quantit`a b2 4ac. In dettaglio:
b2 4ac = 0: La curva `e una parabola;
b2 4ac < 0: La curva `e unellisse (o una circonferenza se a = c);
b2 4ac > 0: La curva `e uniperbole.

2.2.2

La parabola

Dal punto di vista geometrico le coniche sono dei luoghi geometrici, cio`e
insiemi di punti che godono tutti di una stessa propriet`a. Nel caso specifico

33

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

F
V
H

Figura 2.9: La parabola.


la parabola `e linsieme dei punti del piano equidistanti da un punto fisso,
detto fuoco, e da una retta fissa, detta direttrice (Figura 2.9).
Consideriamo innanzitutto il caso in cui la direttrice `e una retta parallela
allasse x e quindi ha equazione y = d mentre il fuoco F ha coordinate
(, ). Il caso `e descritto nella Figura 2.9, quindi deve quindi risultare:
PF = PH
cio`e
Elevando a quadrato

(x )2 + (y )2 = |y d|.

(x )2 + (y )2 = (y d)2
x2 2x + 2 + y 2 2y + 2 = y 2 2yd + d2
x2 2x 2( d)y + 2 + 2 d2 = 0.

Supponendo che sia 6= d, cio`e che il fuoco non appartiene alla direttrice (altrimenti si originerebbe una parabola degenere), si pu`o ricavare lespressione

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

34

di y in funzione di x:
2( d)y = x2 2x + 2 + 2 d2
e quindi
y=
Posto
a=

2 + 2 d2
x2
x+
.
2( d)
d
2( d)

1
,
2( d)

b=

,
d

c=

2 + 2 d2
2( d)

segue che la parabola ammette come rappresentazione una classica equazione


del secondo ordine:
y = ax2 + bx + c,
(2.17)
quindi un generico punto appartenente alla parabola ha coordinate (x, ax2 +
bx + c).
Osservazioni:
1. Innanzitutto si pu`o notare dalla definizione dei coefficienti che a 6= 0;
2. Se > d, cio`e se il fuoco si trova al di sopra della direttrice allora a > 0
e la parabola volge la concavit`a verso lalto;
3. Se invece < d, cio`e se il fuoco si trova al di sotto della direttrice allora
a < 0 e la parabola volge la concavit`a verso il basso.
Una volta assegnata lequazione (2.17) si possono ricavare le coordinate del
fuoco e lequazione della direttrice risolvendo il sistema

a =

2( d)

b =
d

2 + 2 d2

.
c =
2( d)

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


Vediamo di determinare quindi le incognite ,

2a
=

1
b = 2a
d

2 + 2 d2

c
=

c
2( d)

2a

1
= 2a
d

b2
c

= 2 + 2 d2
a
4a

Poniamo = b2 4ac.

2a

1
= 2a
d

4ac b = ( d)( + d)

4a2

2a

1
d =

2a

+d =
2a

e d.
=

b
2a

= 2a
2 + 2 d2
=
2( d)

2a

1
= 2a
d

b2
c


= 2 d2 .
a 4a2

2a

1
d =

2a

= ( + d) 1
4a2
2a

2a

1
2 =

2a

2d = 1
2a 2a

35

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

36

2a

1
=

4a

d = 1 + .
4a
La retta perpendicolare alla direttrice e che `e asse di simmetria della parabola interseca la curva in un punto detto vertice. Lasse della parabola ha
equazione
b
x=
(2.18)
2a
mentre per determinare lordinata del vertice `e sufficiente sostituire nellequazione della parabola il valore x dato da (2.18):
y=a

b2
b2
b2

+
c
=

+c= .
2
4a
2a
4a
4a

Consideriamo ora il caso in cui la direttrice `e una retta parallela allasse y


e quindi ha equazione x = d. In analogia con il caso precedente si deve
tener presente che la distanza del punto P dalla direttrice vale in questo caso
|x d|. Quindi
p
(x )2 + (y )2 = |x d|.
Elevando a quadrato

(x )2 + (y )2 = (x d)2
x2 2x + 2 + y 2 2y + 2 = x2 2dx + d2
y 2 2y + 2 + 2 d2 2( d)x = 0.

Supponendo che sia 6= d, si pu`o ricavare lespressione di x in funzione di y:


2( d)x = y 2 2y + 2 + 2 d2
e quindi
x=
Posto
a=

2 + 2 d2
y2
x+
.
2( d)
d
2( d)

1
,
2( d)

b=

,
d

c=

2 + 2 d2
2( d)

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

37

segue che la parabola ammette come rappresentazione unequazione del secondo ordine:
x = ay 2 + by + c
(2.19)
quindi un generico punto appartenente alla parabola ha coordinate (ay 2 +
by + c, y). Vediamo ora come ultimo caso e solo per esempio il calcolo dellequazione di una parabola avente come direttrice una generica retta del piano
avente equazione:
y = mx + q.
Anche in questo caso va imposta lequidistanza di un generico punto del piano
di coordinate (x, y) dalla direttrice e dal fuoco F avente coordinate (, ).
In questo caso la distanza del punto dalla direttrice va calcolato applicando
la formula (2.16), pertanto
|y mx q| p

= (x )2 + (y )2 .
1 + m2

Eleviamo a quadrato

(y mx q)2
= (x )2 + (y )2
2
1+m
y 2 + m2 x2 + q 2 2mxy 2qy + 2mqx =

= (1 + m2 )(x2 2x + 2 + y 2 2y + 2 )
da cui, raccogliendo tutti i termini al secondo membro
x2 + m2 y 2 + 2mxy 2(mq + + m2 )x 2( + m2 q)y+
+(2 + 2 )(1 + m2 ) q 2 = 0.

2.2.3

La circonferenza

La circonferenza `e linsieme dei punti del piano equidistanti da un punto fisso,


detto centro. Siano (, ) le coordinate del centro C e sia r la distanza di
tali punti da C, come `e noto r prende il nome di raggio della circonferenza.
Con riferimento alla Figura 2.10, un punto P di coordinate (x, y) per appartenere alla curva deve essere tale che:
PC = r

38

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

O
x

Figura 2.10: Circonferenza di centro in C e raggio r.


cio`e
quindi

p
(x )2 + (y )2 = r,
(x )2 + (y )2 = r2

Posto

x2 + y 2 2x 2y + 2 + 2 r2 = 0.
a = 2,

b = 2,

c = 2 + 2 r 2

si ha la generica equazione di una circonferenza:

x2 + y 2 + ax + by + c = 0.
Da tale generica equazione si possono ricavare agevolmente le coordinate del
centro che sono
a
b
= ,
=
2
2
e il raggio
r
a2 b 2
+ c.
r=
4
4
Se c = 0 allora lorigine del riferimento cartesiano sta sulla circonferenza
mentre se a = 0 allora il centro appartiene allasse x mentre se b = 0 allora

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

39

appartiene allasse y. Se a = b = 0 allora il centro coincide con lorigine e la


circonferenza ha equazione:
x2 + y 2 = r 2 .
Siano C1 e C2 due diverse circonferenze aventi equazione rispettivamente
C1 : x 2 + y 2 + a1 x + b 1 y + c 1 = 0
e
C2 : x2 + y 2 + a2 x + b2 y + c2 = 0.

Se sottraiamo le due equazioni otteniamo

(a1 a2 )x + (b1 b2 )y + (c1 c2 ) = 0


che rappresenta lequazione di una retta purch`e tutti e tre i coefficienti non
siano contemporaneamente nulli (il che vorrebbe dire che le due circonferenze
C1 e C2 coincidono) oppure sia diverso da zero solo il termine noto c1 c2 (il
che porterebbe ad unequazione priva di senso). Tale retta prende il nome
di asse radicale delle due circonferenze. Lequazione dellasse radicale pu`o
essere utilizzata per determinare le coordinate dei punti di intersezione tra
due circonferenze. Infatti se consideriamo le due circonferenze sono possibili
4 situazioni (riassunte nella Figura 2.11):
1. C1 e C2 non hanno punti dintersezione;
2. C1 e C2 hanno un solo punto dintersezione;
3. C1 e C2 hanno due punti dintersezione;
4. C1 e C2 hanno infiniti punti dintersezione.
Supponiamo di essere nel secondo o nel terzo caso. Appare ovvio che i punti
in comune tra C1 e C2 appartengono allasse radicale. Infatti supponiamo che
il punto P di coordinate (x1 , y1 ) appartenga ad entrambe le circonferenze e
quindi le sue coordinate soddisfino le due equazioni, cio`e
x21 + y12 + a1 x1 + b1 y1 + c1 = 0
x21 + y12 + a2 x1 + b2 y1 + c2 = 0.
Sottraendo le due equazioni si ottiene
(a1 a2 )x1 + (b1 b2 )y1 + (c1 c2 ) = 0

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

C1

C2

C1

C1

C2

40

C2

C1 C2

Figura 2.11: Possibili intersezioni tra due circonferenze.


quindi P appartiene allasse radicale poich`e le sue coordinate soddisfano lequazione di tale retta. Unultima osservazione riguardante tale retta `e che
essa `e perpendicolare alla retta congiungente i centri delle due circonferenze.
Infatti i centri delle due circonferenze sono i punti C1 e C2 di coordinate rispettivamente (a1 /2, b1 /2) e (a2 /2, b2 /2) pertanto la retta che li unisce
ha coefficiente angolare
m=

b2 + b1
b1 b2
=
a2 + a1
a1 a2

mentre il coefficiente angolare dellasse radicale `e


ma =

a1 a2
.
b1 b2

Quindi m ed ma soddisfano la condizione di perpendicolarit`a tra rette (2.14).

2.2.4

Lellisse

Lellisse `e il luogo geometrico dei punti el piano per i quali `e costante la


somma delle distanze da due punti fissi detti fuochi. Sia P un punto di

41

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

Figura 2.12: Costruzione dellellisse.


coordinate generiche (x, y) e siano F ed F i due fuochi che supponiamo stiano
sullasse x e siano simmetrici rispetto allorigine pertanto hanno coordinate
rispettivamente (c, 0) e (c, 0), essendo c una costante positiva (vedere Figura
2.12). Poniamo
P F + P F = 2a
(2.20)
dove a `e una costante positiva. Applicando la formula della distanza tra due
punti del piano in (2.20) otteniamo
p
p
(x + c)2 + y 2 + (x c)2 + y 2 = 2a
p
p
(x c)2 + y 2 = 2a (x + c)2 + y 2 .
Eleviamo a quadrato i due membri:

x2 2cx + c2 + y 2 = 4a2 + x2 + 2cx + c2 + y 2 4a

(x + c)2 + y 2

da cui, eliminando i termini uguali nei due membri, ed isolando il termine


con la radice quadrata:
p
a (x + c)2 + y 2 = a2 + cx

eleviamo nuovamente a quadrato:

a2 (x2 + 2cx + c2 + y 2 ) = (a2 + cx)2

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

42

a2 x2 + 2a2 cx + a2 c2 + a2 y 2 = a4 + c2 x2 + 2a2 cx
Isolando i termini in x e y al primo membro si ottiene
(a2 c2 )x2 + a2 y 2 = a2 (a2 c2 ).

(2.21)

Se nella Figura 2.12 consideriamo il triangolo P F F e applichiamo la propriet`a che la somma delle lunghezze di due lati `e sempre maggiore della
lunghezza del terzo lato si ha
PF + PF > FF
cio`e
2a > 2c
possiamo quindi porre

a2 c2 > 0,

a2 c 2 = b 2

e sostituire in (2.21):

b 2 x 2 + a2 y 2 = a2 b 2
e, dividendo per a2 b2 , si ottiene lequazione
x2 y 2
+ 2 = 1.
a2
b
Tale equazione rappresenta unellisse avente fuochi sullasse delle x posti
simmetricamente rispetto allorigine (vedere Figura 2.13). Noti a e b si pu`o
ricavare lascissa positiva di uno dei due fuochi dalla formula

c = a2 b 2 .
Lellisse inteseca lasse x nei punti A e B di coordinate rispettivamente (a, 0)
e (a, 0) e lasse y nei punti C e D di coordinate rispettivamente (0, b) e
(0, b). Il valore 2a rappresenta pertanto la lunghezza del cosiddetto asse
maggiore dellellisse, mentre 2b `e la lunghezza dellasse minore. Unultima
cosa da osservare `e che non `e possibile esplicitare univocamente lequazione
dellellisse, infatti volendo ricavare y in funzione di x si ottiene:
y2
x2
a2 x 2
=1 2 =
b2
a
a2
e quindi
y2 =

b2 2
(a x2 )
2
a

y=

b 2
a x2
a

43

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y
C

Figura 2.13: Ellisse con fuochi posti sullasse x.


purch`e sia positiva lespressione sotto radice
a2 x 2 0

a x a.

In particolare la funzione
y=+

b 2
a x2
a

individua la porzione di curva evidenziata in rosso nella Figura 2.14, mentre


la funzione
b 2
y=
a x2
a
individua la parte di curva in verde.

2.2.5

Liperbole

Liperbole `e il luogo geometrico dei punti el piano per i quali `e costante la


differenza delle distanze da due punti fissi detti fuochi. Sia P un punto di
coordinate generiche (x, y) e siano F ed F i due fuochi che supponiamo stiano
sullasse x e siano simmetrici rispetto allorigine pertanto hanno coordinate

44

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y
C

Figura 2.14:
rispettivamente (c, 0) e (c, 0), essendo c una costante positiva (vedere Figura
2.12). Poniamo
P F P F = 2a
(2.22)

dove a `e una costante positiva. Applicando la formula della distanza tra due
punti del piano in (2.22) otteniamo
p
p
(x + c)2 + y 2 (x c)2 + y 2 = 2a
p
p
(x + c)2 + y 2 = 2a + (x c)2 + y 2 .
Eleviamo a quadrato i due membri:

p
x2 + 2cx + c2 + y 2 = 4a2 + x2 2cx + c2 + y 2 + 4a (x c)2 + y 2

da cui, eliminando i termini uguali nei due membri, ed isolando il termine


con la radice quadrata:
p
cx a2 = a (x c)2 + y 2
eleviamo nuovamente a quadrato:

(cx a2 )2 = a2 (x2 2cx + c2 + y 2 )

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

45

c2 x2 + a4 2a2 cx = a2 x2 2a2 cx + a2 c2 + a2 y 2 .
Isolando i termini in x e y al primo membro si ottiene
(c2 a2 )x2 a2 y 2 = a2 (c2 a2 ).

(2.23)

Se nella Figura 2.12 consideriamo il triangolo P F F e applichiamo la propriet`a che la differenza delle lunghezze di due lati `e sempre minore della
lunghezza del terzo lato si ha
PF PF < FF
cio`e
2a < 2c

c2 a2 > 0,

possiamo quindi porre


c 2 a2 = b 2
e sostituire in (2.23):
b 2 x 2 a2 y 2 = a2 b 2

e, dividendo per a2 b2 , si ottiene lequazione finale delliperbole:


x2 y 2
2 = 1.
a2
b
Dallequazione `e facile stabilire che la curva inteseca lasse x nei punti A
e B di coordinate rispettivamente (a, 0) e (a, 0), mentre non ha punti di
intesezione con lasse y. Anche per lesplicitazione dellequazione delliperbole
vale lo stesso discorso fatto per lellisse, infatti si pu`o facilmente verificare
che
b 2
x a2
y=
a
purch`e sia positiva lespressione sotto radice
x 2 a2 0

x a o x a.

Lascissa positiva di uno dei due fuochi vale

c = a2 + b 2 .

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

46

Determiniamo ora lintesezione delliperbole con una generica retta passante


per lorigine:
2
x
y2

2 2 =1
a
b

y = mx.

Cio`e:

x2 m 2 x2
2 =1
a2
b
da cui segue che

x =
purch`e risulti
b 2 a2 m 2 > 0

x2 =

a2 b 2
,
b 2 a2 m 2

ab
b 2 a2 m 2

m 2 a2 < b 2

b
b
<m< .
a
a

Solo le rette il cui coefficiente angolare `e compreso tra b/a e b/a intersecano
in due punti liperbole. Le due particolari rette di equazione
b
y = x,
a

b
y= x
a

sono dette asintoti (sono le rette s ed r in Figura 2.15).

2.3

Rappresentazioni parametriche

Supponiamo ora di dover rappresentare graficamente larco della circonferenza di equazione x2 + y 2 = 1 nel primo quadrante del piano cartesiano.
Un modo di procedere pu`o essere il seguente. Esplicitiamo lequazione nella
variabile x:

y = 1 x2
consideriamo una serie di punti equidistanti sullasse x, compresi tra 0 e 1,
per esempio:
x = 0, 0.2, 0.4, 0.6, 0.8, 1
calcoliamo il valore di y in tali punti e approssimiamo la circonferenza con
la poligonale che unisce tali punti. Osservando la Figura 2.16 si evince che
tali punti non sono equidistanti sulla curva, di conseguenza alcuni tratti della

47

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


y

Figura 2.15: Iperbole con fuochi posti sullasse x.


curva sono approssimati meglio di altri. La rappresentazione delle coniche
vista nei precedenti paragrafi non costituisce il miglior modo per determinare
la rappresentazione grafica della curva.
La rappresentazione parametrica di una conica (o anche in modo pi`
u
generale di una curva di R2 ) consiste nel determinare due funzioni g() e
f () tali che se poniamo

[0 , 1 ]
x = f ()

y = g()

i punti aventi coordinate (f (), g()), [0 , 1 ] soddisfano lequazione non


parametrica della conica (o della curva). Tale tipo di rappresentazione presenta come vantaggi fondamentali una certa indipendenza dagli assi di riferimento senza dover ricavare nuovamente lequazione cartesiana della curva
(che sar`a pi`
u chiara quando saranno analizzate le trasformazioni geoemetriche nel prossimo capitolo) e inoltre forniscono in modo esplicito le coordinate
dei punti che appartengono alla curva stessa.

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

48

Figura 2.16: Approssimazione di una circonferenza con una poligonale

2.4

Coordinate polari

La rappresentazione parametrica vista nei paragrafi precedenti `e strettamente


legata ad un sistema di coordinate alternativo a quello cartesiano. Sia P
un punto del piano di coordinate cartesiane (x, y). Unendo tale punto con
lorigine del piano vengono identificate due grandezze geometriche:
1. la lunghezza del segmento OP ;
2. langolo che la semiretta OP forma con il semiasse delle ascisse
positive.
Tali due grandezze (, ) permettono di identificare il punto P e prendono
il nome di coordinate polari (Figura 2.17). Ci chiediamo innanzitutto se
tale rappresentazione consenta di identificare in modo univoco tutti i punti
del piano. Una prima risposta `e no, poich`e, in base alla definizione vista,
lorigine del piano non identifica alcun angolo . Si pu`o porre rimedio a
tale inconveniente assegnando allorigine coordinate polari (0, 0). Anche una
volta risolto tale inconveniente la rappresentazione in coordinate polari non
`e ancora univoca, infatti se consideriamo le due coppie di coordinate (, ) e
(, + 2) queste identificano lo stesso punto del piano. Ancora una volta
per porre rimedio a questa ambiguit`a dobbiamo imporre che i punti del piano

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

49

P (x, y)

Figura 2.17: Coordinate polari.


vengano identificati da coordinate polari (, ), con > 0 e 0 < 2.
Vediamo ora di stabilire le relazioni tra i due sistemi di coordinate definiti
finora. Sfruttando le relazioni esistenti tra i lati del triangolo rettangolo
OP H in Figura 2.17 si ricavano facilmente le seguenti propriet`a:
1. x = cos
2. y = sin
3. tan = y/x
p
4. = x2 + y 2

5. = arccos(x/)

6. = arcsin(y/)
7. = arctan(y/x).

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

2.4.1

50

Rappresentazione polare della circonferenza

Nel caso della circonferenza avente centro nellorigine e raggio r una possibile
rappresentazione polare `e la seguente:

x = r cos
[0, 2]
(2.24)
y = r sin .
` facile verificare che tale rappresentazione soddisfa lequazione della circonE
ferenza x2 + y2 = r2 :
x2 + y 2 = r2 cos2 + r2 sin2 = r2 (cos2 + sin2 ) = r2 .
Vediamo nella seguente tabella a quali punti corrispondono alcuni valori di
:
Valore di
Punto
0
(r, 0)
/2
(0, r)

(r, 0)
3/2
(0, r)
(r, 0)
2
Poich`e le funzioni che appaiono in (2.24) hanno periodo 2, per valori di
superiori a 2 si ottiene sempre la medesima curva. Per rappresentare
graficamente la circonferenza si sceglie un angolo 0 = (2)/N e si uniscono i punti di coordinate (r cos k0 , r sin k0 ), con k = 0, 1, . . . , N. Tali punti
dividono la circonferenza in archi che hanno la stessa lunghezza pertanto la
rappresentazione grafica della curva `e migliore di quella rappresentata nella
Figura 2.16.
Nel caso in cui la circonferenza abbia centro in un punto di coordinate (, ),
diverso dallorigine, e raggio r, le equazioni parametriche (2.24) possono
essere modificate nel seguente modo:

x = + r cos
[0, 2]
(2.25)
y = + r sin .
Anche in questo caso possiamo verificare che le (2.25) soddisfano lequazione
della circonferenza che in questo caso `e:
(x )2 + (y )2 = r2 .

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

51

Infatti:
(x )2 + (y )2 = ( + r cos )2 + ( + r sin )2
= r2 cos2 + r2 sin2 = r2 (cos2 + sin2 ) = r2 .

2.4.2

Rappresentazione polare dellellisse

Determinare lequazione di una curva in coordinate polari significa trovare


una funzione () tale che i punti appartenenti alla curva abbiano coordinate
(() cos , () sin ). Nel caso dellellisse di equazione
x2 y 2
+ 2 =1
a2
b
possiamo sostituire a x e y le coordinate polari e ricavare tale funzione. Infatti
riscrivendo lequazione in questo modo
b 2 x 2 + a2 y 2 = a2 b 2
e sostituendo le espressioni per x e y:
b2 2 cos2 + a2 2 sin2 = a2 b2
(b2 cos2 + a2 sin2 )2 = a2 b2
e quindi lequazione polare dellellisse `e
=

ab
2

a2 sin + b2 cos2

Questo vuol dire che i punti dellellisse hanno coordinate:

ab

cos
x =
2
a2 sin + b2 cos2
[0, 2].
ab

y =
sin

a2 sin2 + b2 cos2

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

2.4.3

52

Rappresentazione polare delliperbole

Per liperbole si procede in modo analogo a quanto visto per lellisse poich`e
le due equazioni sono simili a meno di un segno:
b 2 x 2 a2 y 2 = a2 b 2
e sostituendo le espressioni per x e y:
b2 2 cos2 a2 2 sin2 = a2 b2
(b2 cos2 a2 sin2 )2 = a2 b2
e quindi lequazione polare delliperbole `e
ab
= p
.
b2 cos2 a2 sin2

Questo vuol dire che i punti delliperbole hanno coordinate:

ab

x =p
cos

b2 cos2 a2 sin2
ab

sin .
y =p
b2 cos2 a2 sin2

In questo caso si deve richiedere tuttavia che risulti


b2 cos2 a2 sin2 > 0
il che `e vero nel caso in cui
b
b
< tan < .
a
a

2.4.4

Rappresentazione polare delle spirali

Come esempio di curve bidimensionali possiamo considerare le spirali che


descriviamo brevemente in questo paragrafo. La prima `e la cosiddetta spirale
di Archimede che ammette come equazione in coordinate polari
= ,

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


cui corrispondono le equazioni parametriche

x = cos
y = sin

53

0.

Per analizzare come evolve tale curva nel piano xy al variare di calcoliamo
i punti in cui essa intercetta gli assi cartesiani. Le variabili x e y si annullano
entrambe quando = 0 quindi lorigine `e il punto dinizio della curva. Inoltre
il segno delle variabili cartesiane `e associato al segno delle funzioni cos e
sin . La funzione x() si annulla nei punti che rendono zero cos cio`e i punti
n = /2 + n, con n 0. Se n `e un numero pari, cio`e n = 2k, allora i punti
hanno coordinate:
(
x =0




k = 0, 1, 2, . . .
y = n sin n =
+ 2k sin
+ 2k = + 2k
2
2
2
Invece se n `e un numero dispari, cio`e n = 2k + 1, allora la funzione sin n
vale 1 quindi i punti hanno coordinate:
(
x =0

k = 0, 1, 2, . . .
y = n sin n = (2k + 1)
2

Per i punti in cui la curva intercetta lasse x si procede in modo analogo.


La funzione y() si annulla nei punti che rendono zero sin cio`e i punti
n = n, con n 0. Se n `e un numero pari, cio`e n = 2k, allora i punti hanno
coordinate:

y =0
k = 0, 1, 2, . . .
x = n cos n = 2k cos(2k) = 2k
Se n = 2k + 1 allora la funzione cos n = 1 quindi i punti hanno coordinate:

y =0
k = 0, 1, 2, . . .
x = n cos n = (2k + 1)
In Figura 2.18 `e tracciato il grafico della spirale di Archimede con compreso
tra 0 e 10.
Un secondo tipo di curva spirale `e la spirale esponenziale (o logaritmica)
avente equazione
= e

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

54

30

20

10

10

20

30

30

20

10

0
x

10

20

30

Figura 2.18: Spirale di Archimede.


e caratterizzata da un grafico in cui le spire crescono molto rapidamente (con
velocit`a esponenziale appunto) e si allonatano molto presto dallorigine.
La spirale di Fermat `e definita dallequazione in coordinate polari
2 = a2

cio`e = a , con a costante positiva (potremmo considerare anche a = 1).


La curva `e formata da due spirali simili a quella di Archimede equidistanti
tra loro che si avvolgono luna sullaltra. In Figura 2.19 `e tracciato il grafico
della spirale di Fermat con compreso tra 0 e 10 e con i due rami della
curva tracciati con tratto continuo e tratteggiato.
Un altro tipo di spirale `e la curva Litus avente come equazione polare 2 =
a2 , con a al solito costante positiva (possiamo considerare a = 1). Le
equazioni cartesiane sono quindi

cos

x =a

> 0.

sin

y =a

55

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA


6

6
6

0
x

Figura 2.19: Spirale di Fermat.


Per = 0 le funzioni non sono definite mentre per valori di prossimi a
zero la x assume valori molto grandi mentre la y tende a zero. Per valori di
grandi la curva si avvolge intorno allorigine attraverso spire di ampiezza
sempre pi`
u piccola. In Figura 2.20 `e tracciata tale curva con appartenente
allintervallo [0.05, 15].

56

CAPITOLO 2. ELEMENTI DI GEOMETRIA ANALITICA

1.5

0.5

0.5

1.5
0.5

0.5

1.5

2
x

2.5

Figura 2.20: Litus.

3.5

4.5

Capitolo 3
Trasformazioni Geometriche in
due dimensioni
3.1

Trasformazioni base

Molto spesso per ottenere delle figure molto complesse (poligoni, curve) `e
necessario rideterminare lespressione matematica di tali enti geometrici. Un
modo per evitare questo pu`o essere quello di considerare lespressione matematica di un ente facile da determinare e applicare poi delle trasformazioni
pi`
u complesse. Le trasformazioni base che si possono definire sono le seguenti:
1. Traslazione;
2. Rotazione;
3. Scaling.

3.1.1

Traslazione

Sia P un punto del piano di coordinate cartesiane (x, y). Definiti due valori
reali tx e ty allora il punto P traslato di P `e il punto avente coordinate
(x1 , y1 ) tali che

x1 = x + t x
y1 = y + t y .

La coppia (tx , ty ) prende il nome di vettore di traslazione o vettore di shift.


La traslazione di una figura pi`
u complessa, per esempio un poligono, si ottiene applicando la trasformazione a tutti i vertici che vengono poi uniti.
57

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

58

y
P
ty
P

tx

Figura 3.1: Traslazione di un punto del piano.


La traslazione `e una trasformazione che non deforma la figura di partenza,
poich`e le distanze relative tra i punti restano invariate. In forma vettoriale
se poniamo




 
x1
tx
x

,
P =
,
T =
P =
y1
ty
y
allora la traslazione ha la seguente formulazione vettoriale:
P = P + T.

3.1.2

Rotazione

La rotazione consiste nello spostamento di un oggetto lungo un arco di circonferenza. Per generare una rotazione dobbiamo specificare langolo di rotazione e la posizione (xr , yr ) del punto di rotazione (o punto pivot) rispetto
al quale avviene la rotazione. Per convenzione langolo viene considerato positivo se la rotazione avviene in senso antiorario, negativo in caso contrario.
Consideriamo prima il caso in cui il punto pivot coincide con lorigine. Siano
(x, y) le coordinate del punto P mentre (x1 , y1 ) sono le coordinate del punto P (vedere Figura 3.3). Cerchiamo di determinare (x1 , y1 ) in funzione di

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

O
Figura 3.2: Traslazione di una figura.

y
P

Figura 3.3: Rotazione di un punto intorno allorigine.

59

60

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


(x, y). In coordinate polari abbiamo:
x1 = r cos( + ) = r(cos cos sin sin )
= r cos cos r sin sin

(3.1)

y1 = r sin( + ) = r(cos sin + sin cos )


= r cos sin + r sin cos .
Esprimendo anche le coordinate di P in forma polare abbiamo:
x = r cos
y = r sin
che, sostituite in (3.1), forniscono
x1 = x cos y sin
y1 = x sin + y cos .
Posto
P =

x
y

P =

x1
y1

R=

cos sin
sin cos

vale la relazione:
P = RP
infatti:
RP =

cos sin
sin cos



x
y

x cos y sin
x sin + y cos

Supponiamo ora che il punto pivot A non coincida con lorigine e abbia
coordinate (xr , yr ). Facendo riferimento alla Figura 3.5 e ponendo AP uguale
r valgono le seguenti relazioni:
x = xr + r cos
y = yr + r sin

r cos = x xr
r sin = y yr .

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

61

Figura 3.4: Rotazione di una figura intorno allorigine di un angolo pari a


/6.
Per le coordinate di P valgono le relazioni:
x1 = xr + r cos( + ) = xr + r cos cos r sin sin
= xr + (x xr ) cos (y yr ) sin

(3.2)

y1 = yr + r sin( + ) = yr + r cos sin + r sin cos


= yr + (y yr ) cos + (x xr ) sin .
Come la traslazione anche la rotazione cambia la posizione delloggetto ma
non lo deforma.

3.1.3

Scaling

Lo scaling serve a trasformare le dimensioni di un oggetto. Infatti moltiplicando le coordinate (x, y) di ciascun vertice per i fattori di scala sx ed sy
vengono prodotte le coordinate trasformate:

x1 = s x x
y1 = sy y.

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

62

y
r

A
x

Figura 3.5: Rotazione del punto P intorno al punto A.


` immediato verificare che, posto
E


 
x1
x

,
,
P =
P =
y1
y

Sc =

sx 0
0 sy

risulta
P = Sc P.
I fattori di scala sx ed sy devono essere strettamente positivi. Se i loro valori
sono maggiori di 1 allora le dimensioni delloggetto aumentano, se se sono
minori di 1 diminuiscono, se sono 1 allora restano invariate. Se sx = sy allora
si parla di scaling uniforme (resta costante la proporzione tra le distanze
relative), altrimenti si parla di scaling differenziale (o differenziato).
Lo scaling pu`o essere effettuato anche rispetto ad un generico punto del piano
avente coordinate (xs , ys ), che viene detto punto fisso e che rimane inalterato
dopo lo scaling. Facendo riferimento alla Figura 3.7 si vuole cio`e che il fattore
di scaling per le ascisse sia applicato alla differenza tra le ascisse di A e di P
e non allascissa di A, e stesso discorso vale per le ordinate. Dette (x1 , y1 ) le
coordinate di P deve essere:

x1 = xs + sx (x xs ) = sx x + (1 sx )xs

y1 = ys + sy (y ys )

= sy y + (1 sy )ys .

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

63

Figura 3.6: Scaling uniforme di una figura rispetto allorigine (sx = sy =


1/2).

Figura 3.7: Scaling differenziato di una figura rispetto allorigine (sx =


1/2, sy = 3/2).

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

3.2

64

Coordinate omogenee

Nei paragrafi precedenti abbiamo visto che indicate con P le coordinate di un


punto del piano queste possono essere trasformate, in diversi modi, nelle coordinate P e che le trasformazioni hanno sempre unespressione matematica
del tipo
P = MP + T
dove M `e una matrice quadrata di dimensione 2 e T `e un vettore avente 2
componenti. Per esempio nel caso della traslazione
P = P + T
quindi la matrice M `e uguale alla matrice identit`a di ordine 2 e T `e quello
che abbiamo chiamato vettore di traslazione o di shift. Per motivi puramente
matematici `e opportuno evitare che le trasformazioni abbiano tale forma, cio`e
che siano presenti dei termini additivi, facendo in modo che le trasformazione si presenti sempre sotto forma di un prodotto matrice-vettore che metta
in relazione direttamente le coordinate del punto trasformato con quelle del
punto di partenza. Vedremo tra poco che ci`o `e possibile, purch`e le trasformazioni vengano rappresentate sempre con matrici quadrate di ordine 3. Per
far questo `e necessario che anche le coordinate cartesiane siano sostituite da
una rappresentazione a 3 valori che prende il nome di Coordinate Omogenee
(xh , yh , h). La relazione tra coordinate omogenee e cartesiane `e immediata:
x=

xh
,
h

y=

yh
h

cosicch`e il punto di coordinate cartesiane (x, y) ha coordinate omogenee


(hx, hy, h), essendo h un parametro reale diverso da zero. Per semplicit`a solitamente si sceglie h = 1, cosicch`e il punto ha coordinate omogenee (x, y, 1)
e la relazione tra i due tipi di coordinate `e immediata. Utilizzando le coordinate omogenee tutte le trasformazioni base possono essere espresse in termini
di prodotto matrice-vettore.

3.2.1

Traslazione

Definiamo la matrice

1 0 tx
T (tx , ty ) = 0 1 ty
0 0 1

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

65

e indichiamo con P e P le coordinate omogenee del punto rispettivamente


prima e dopo la trasformazione, cio`e


x1
x
P = y1 .
P = y ,
1
1
Calcoliamo ora


x
1 0 tx

y
T (tx , ty )P = 0 1 ty
1
0 0 1


x + tx
1 x + 0 y + tx 1
= 0 x + 1 y + ty 1 = y + ty = P .
1
0x+0y+11

La trasformazione inversa, cio`e quella che consente


P in P, sar`a ovviamente:

1 0
1

T (tx , ty ) = T (tx , ty ) = 0 1
0 0

3.2.2

di trasformare il punto

tx
ty .
1

Rotazione

Definiamo la matrice

cos sin 0
R() = sin cos 0 .
0
0
1

Risulta anche in questo caso immediata la verifica che la matrice R() trasforma P in P :

x
cos sin 0
R()P = sin cos 0 y
1
0
0
1

x cos y sin
= x sin + y cos = P .
1

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

66

Anche in questo caso per ottenere la trasformazione inversa `e sufficiente


cambiare il segno del parametro, in questo caso langolo di rotazione:

cos sin 0
R1 () = R() = sin cos 0 .
0
0
1

3.2.3

Scaling

Per lo scaling una volta definita la matrice

sx

0
Sc (sx , sy ) =
0

risulta

diagonale:

0 0
sy 0
0 1


sx x
x
sx 0 0
Sc (sx , sy )P = 0 sy 0 y = sy y = P .
1
1
0 0 1

La trasformazione inversa `e definita dalla matrice

1/sx
0
0
1
0
1/sy 0 .
Sc1 (sx , sy ) = Sc (s1
x , sy ) =
0
0
1

3.2.4

Trasformazioni composte

La formulazione in termini di coordinate omogenee delle trasformazioni di


rotazione e scaling viste nei paragrafi precedenti avevano sempre come punto pivot o punto fisso lorigine del sistema cartesiano. Il motivo di tale
particolarit`a `e legato al fatto che le trasformazioni rispetto ad altri punti
possono essere viste sempre come combinazione di successive trasformazioni
che possiamo definire di base. Tali trasformazioni base, combinate tra loro,
generano trasformazioni molto pi`
u complesse che per`o possono sempre essere
ricondotte a una forma moltiplicativa del tipo
P = M P.
Per riuscire in questo si sfrutta la propriet`a associativa del prodotto tra
matrici, infatti, considerate tre matrici A, B e C, risulta:
A(BC) = (AB)C.

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

67

Per le trasformazioni composte va sempre tenuto presente lordine con il quale le trasformazioni base sono applicate, poich`e, come abbiamo avuto modo
di vedere nel primo capitolo, il prodotto tra matrici non gode della propriet`a
commutativa. Anche a questa regola ci sono tuttavia alcune eccezioni. Consideriamo prima il caso di trasformazioni successive tutte dello stesso tipo.
Iniziamo da due traslazioni successive aventi vettori di shift rispettivamente
(tx1 , ty1 ) e (tx2 , ty2 ). Le coordinate omogenee del punto traslato P saranno:
P = T (tx2 , ty2 )[T (tx1 , ty1 )P ] = [T (tx2 , ty2 )T (tx1 , ty1 )]P.
Calcolando la matrice prodotto T (tx2 , ty2 )T (tx1 , ty1 ) si trova agevolmente:

1 0 tx1 + tx2
1 0 tx1
1 0 tx2
0 1 ty2 0 1 ty1 = 0 1 ty1 + ty2 ,
0 0
1
0 0 1
0 0 1

quindi

T (tx2 , ty2 )T (tx1 , ty1 ) = T (tx1 + tx2 , ty1 + ty2 ).


Questo vuol dire essenzialmente che nelle traslazioni successive di un oggetto
non ha importanza lordine col quale sono effettuate. Un discorso dello stesso
tipo vale per due rotazioni successive di angoli 1 e 2 :
P = R(2 )[R(1 )P ] = [R(2 )R(1 )]P = R(2 + 1 )P.
Consideriamo ora il caso della rotazione intorno ad un generico punto pivot diverso dallorigine e formuliamo tale trasformazione in funzione delle
trasformazioni base (Figura 3.8):
1. Traslazione del punto pivot nellorigine del riferimento;
2. Rotazione delloggetto rispetto allorigine;
3. Traslazione dellorigine fino alla posizione iniziale del punto pivot.
Se il punto pivot ha coordinate omogenee (xr , yr , 1) mentre (x, y, 1) sono le
coordinate di uno dei vertici delloggetto allora le tre trasformazioni appena
descritte hanno le seguenti espressioni matematiche:
1. R = T (xr , yr )P
2. Q = R()R

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


y

68

III
II
I

Figura 3.8: Trasformazioni base successive per la rotazione rispetto ad un


punto pivot diverso dallorigine: I) Traslazione verso lorigine; II) Rotazione
intorno allorigine; III) Traslazione dallorigine.
3. P = T (xr , yr )Q.
Mettendo insieme le tre relazioni:
P = T (xr , yr )Q = T (xr , yr )R()R = T (xr , yr )R()T (xr , yr )P
Calcoliamo ora il prodotto tra le tre matrici:

1
cos sin 0

0
R()T (xr , yr ) = sin cos 0
0
0
0
1

cos sin xr cos + yr sin

= sin cos xr sin yr cos


0
0
1

0 xr
1 yr
0 1

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


e quindi, detta RT (xr , yr , )

1 0
RT (xr , yr , ) = 0 1
0 0

69

la matrice prodotto, risulta:

cos sin xr cos + yr sin


xr
yr sin cos xr sin yr cos
0
0
1
1

cos sin xr xr cos + yr sin


= sin cos yr xr sin yr cos .
0
0
1

Moltiplicando la matrice cos` ottenuta per le coordinate omogenee di P


risulta:

x
cos sin xr xr cos + yr sin
P = sin cos yr xr sin yr cos y
1
0
0
1

x cos y sin + xr xr cos + yr sin


= x sin + y cos + yr xr sin yr cos
1

xr + (x xr ) cos (y yr ) sin
= yr + (y yr ) cos + (x xr ) sin .
1

Si pu`o osservare che il risultato `e lo stesso trovato in (3.2) utilizzando un


approccio puramente geometrico.
Concludiamo questo capitolo con la formulazione matematica e la descrizione
delle propriet`a di due ulteriori trasformazioni:
1. Riflessione;
2. Deformazione (o Shear).

3.2.5

Riflessione

` la trasformazione che produce unimmagine speculare delloggetto, come


E
appunto in un specchio. Per definire tale trasformazione `e necessario che
venga fissata una retta rispetto alla quale avviene la riflessione. Tale retta
prende il nome di asse di riflessione. Per ottenere limmagine riflessa di un

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

70

C
A
O

A
C
B

Figura 3.9: Riflessione di un oggetto rispetto allasse x.


punto P si manda la retta perpendicolare allasse di riflessione e si identifica
il punto P tale che sia P che P sono equidistanti dallasse di riflessione. In
Figura 3.9 `e riprodotta una riflessione rispetto allasse x.
In questo caso si pu`o osservare che, dette (x, y) le coordinate del punto di
partenza e (x1 , y1 ) le coordinate del punto riflesso, resta invariata lascissa
mentre lordinata cambia segno. Quindi la matrice di trasformazione, che
indichiamo con Rx , deve essere necessariamente la seguente:

1 0 0
Rx = 0 1 0 .
0 0 1
Risulta infatti immediata la verifica:

x
x
1 0 0
Rx P = 0 1 0 y = y = P .
1
1
0 0 1

In Figura 3.10 `e invece riprodotta una riflessione rispetto allasse y. In questo


caso si pu`o osservare che lordinata del punto riflesso resta invariata mentre
lascissa cambia segno. Quindi la matrice di trasformazione, che indichiamo

71

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


y
C

A
x

Figura 3.10: Riflessione di un oggetto rispetto allasse y.


con Ry , deve essere necessariamente la seguente:

1 0 0
Ry = 0 1 0 .
0 0 1

Risulta infatti immediata la verifica:


x
x
1 0 0
Ry P = 0 1 0 y = y = P .
1
1
0 0 1

Nel caso in cui lasse di riflessione non sia uno degli assi cartesiani si pu`o
considerare la trasformazione come una combinazione di trasformazioni base.
Supponiamo di effettuare una riflessione rispetto alla bisettrice del primo
e del terzo quadrante (vedere Figura 3.11). Cerchiamo di determinare le
coordinate cartesiane del punto A riflesso del punto A di coordinate (, )
utilizzando, per il momento solo considerazioni geometriche. Per semplicit`a
indichiamo con s la retta passante per A e A e che e perpendicolare alla
bisettrice b. La retta s avr`a equazione
y = x + q,

q R.

Per calcolare q imponiamo che A s:


= + q

q = + .

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


y

72

A
C
H

B
O

B
x

Figura 3.11: Riflessione di un oggetto rispetto alla bisettrice del I del III
quadrante.
Indichiamo con H il punto di intersezione tra b ed s, e calcoliamo le sue
coordinate:

y
=
x
x= +

y=
.
y = x + +
2

Siano (x1 , y1 ) le coordinate di A . Per calcolarle imponiamo che H sia punto


medio del segmento AA , cio`e:
+
+ x1
=
2
2
e

x1 = ;

+ y1
+
=

y1 = .
2
2
Poich`e il punto di coordinate omogenee (, , 1) viene trasformato in (, , 1),
la riflessione rispetto alla bisettrice del I e del III quadrante ha come effetto
lo scambio delle coordinate. Si pu`o facilmente verificare che la matrice di
trasformazione in questo caso `e:

0 1 0
RI = 1 0 0 .
0 0 1

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

73

Vediamo ora di ricavare la matrice di trasformazione utilizzando le trasformazioni base. Le operazioni da effettuare sono le seguenti:
1. Rotazione in senso orario di 45 (o di /4), in modo tale che la bisettrice
coincida con lasse x;
2. Riflessione rispetto allasse x;
3. Rotazione in senso antiorario di 45 (o di /4), in modo tale che lasse
x sia sovrapposto alla bisettrice del I e del III quadrante.
Detta RI la matrice di riflessione rispetto a tale bisettrice sar`a:
RI = R(/4)Rx R(/4).
Ricordiamo che per convenzione gli angoli della rotazione sono considerati
positivi se misurati in senso antiorario. Calcoliamo ora tale matrice.

2/2

2/2
0
1
0
0

R(/4)Rx = 2/2
2/2 0 0 1 0
0 0 1
0
0
1

RI

2/2
2/2
0

= 2/2 2/2 0 .
0
0
1

2/2
2/2
0
2/2
2/2
0

= 2/2 2/2 0 2/2


2/2 0
0
0
1
0
0
1

0 1 0
= 1 0 0 .
0 0 1
In modo abbastanza analogo si pu`o scoprire che la matrice di riflessione
rispetto al II e IV quadrante `e

0 1 0
RII = 1 0 0 .
0
0 1

Nel caso in cui lasse di riflessione sia una retta generica avente equazione
y = mx + q, con q 6= 0 (cio`e non passante per lorigine del piano cartesiano),
la trasformazione `e ancora pi`
u complessa:

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

74

1. Traslazione dellasse x in modo tale che lorigine venga a coincidere con


il punto di coordinate (0, q);
2. Rotazione in senso orario di un angolo pari a (con = arctan m), in
modo tale che la retta di riflessione coincida con lasse x;
3. Riflessione rispetto allasse x;
4. Rotazione in senso antiorario di un angolo pari a in modo tale che
lasse x sia sovrapposto alla retta;
5. Traslazione dellasse x in modo tale che il punto di coordinate (0, q)
(traslato nellorigine) torni nella posizione di partenza.
La matrice di riflessione Rg sar`a il risultato del prodotto di 5 matrici:
Rg = T (0, q)R()Rx R()T (0, q).

3.2.6

Deformazione

Tale trasformazione distorce la forma di un oggetto come questo fosse stato


soggetto a una sorta di trazione rispetto ad uno degli assi. Nella deformazione
rispetto allasse x la matrice di trasformazione `e la seguente:

1 shx 0
S(shx ) = 0 1 0
0 0 1

essendo shx un numero reale. Le coordinate omogenee del punto trasformato


sono quindi:

x + shx y
x
1 shx 0
.
y
P = S(shx )P = 0 1 0 y =
1
1
0 0 1

Lordinata resta invariata mentre lascissa viene modificata proporzionalmente rispetto a y. Nella deformazione rispetto allasse y la matrice di
trasformazione `e la seguente:

1 0 0
S(shy ) = shy 1 0
0 0 1

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

75

Figura 3.12: Deformazione rispetto allasse x di una figura piana con shx =
1/2.
con shy un numero reale. Le coordinate omogenee del punto trasformato
sono quindi:

x
x
1 0 0
P = S(shy )P = shy 1 0 y = y + shy x .
1
1
0 0 1
` possibile definire anche la deformazione rispetto ad entrambi gli assi,
E
definendo i due parametri shx ed shy e la relativa matrice di trasformazione:

1 shx 0
S(shx , shy ) = shy 1 0 .
0
0 1

Le coordinate omogenee del punto trasformato sono:

x + shx y
x
1 shx 0
P = S(shx , shy )P = shy 1 0 y = y + shy x .
1
1
0
0 1

3.3

Trasformazione window-to-viewport

Un esempio di trasformazione composta `e la trasformazione window to viewport che consiste nel portare punti che si trovano nel rettangolo di rappresen-

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

76

Figura 3.13: Deformazione rispetto allasse y di una figura piana con shy =
1/2.

Figura 3.14: Deformazione rispetto ad entrambi gli assi con shx = shy = 1/2.

77

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


vmax

ymax

vmin
umin

umax

ymin
xmin

xmax
Figura 3.15: Trasformazione window to viewport.

tazione del grafico (detta window) in un altro rettangolo (detto viewport).


Questa trasformazione consente di rappresentare la figura utilizzando il sistema di coordinate pi`
u comodo per poi trasformarle in base alle dimensioni
del supporto di rappresentazione dello stesso. Come esempio si pensi ad
una trasformazione che deve adattare la window al supporto hardware cui lo
stesso grafico `e destinato (detto spazio di coordinate del dispositivo). Prima di definire le trasformazioni elementari che definiscono quella composta
window-to-viewport, `e opportuno specificare che, per convenzione, la window
viene definita dalle coordinate (x, y), mentre quella di vieport dalle coordinate (u, v). Il punto da trasformare appartiene alla finestra definita dai punti
di coordinate (xmin , ymin ) (ovvero langolo in basso a sinistra) e (xmax , ymax )
(ovvero langolo in alto a destra). Il punto trasformato appartiene alla finestra definita dai punti di coordinate (umin , vmin ) (ovvero langolo in basso a
sinistra) e (umax , vmax ) (ovvero langolo in alto a destra). La trasformazione
`e composta dai seguenti passi:
1. La window viene traslata in modo tale che il vertice in basso a sinistra,
di coordinate (xmin , ymin ) coincida con lorigine;
2. Si effettua lo scaling tra la window traslata e la finestra viewport
collocata nellorigine del sistema di coordinate (u, v);

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

78

(u, v)

(x, y)

(0, 0)

(0, 0)
Figura 3.16: Trasformazione window to viewport.
3. La viewport viene traslata in modo tale che langolo in basso a destra
sia portato in posizione (umin , vmin ).
La prima trasformazione `e definita dalla matrice

1 0 xmin
0 1 ymin .
0 0
1

La seconda trasformazione deve effettuare lo scaling tra le coordinate u e x,


e v e y rispettivamente, bisogna determinare i due fattori di scala sxu e syv
tali che
u = sxu x,
v = syv y.
Per determinarli `e sufficiente imporre che, quando
x = xmax xmin ,
deve essere
u = umax umin ,
ovvero ai valori di x corrispondenti al limite destro della finestra di window
devono corrispondere i valori pari al limite destro della finestra di viewport.

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

79

In questo modo si ricava


sxu =

umax umin
.
xmax xmin

Procedendo in modo analogo per le ordinate, ovvero facendo corrispondere


ai valori di y relativi al limite superiore della finestra di window quelli pari
al limite superiore della finestra di viewport si ricava
syv =

vmax vmin
.
ymax ymin

La matrice di trasformazione `e quindi

umax umin
0
0
xmax xmin

v
max
min

.
0
0

ymax ymin
0
0
1

La matrice di trasformazione del terzo passo `e

1 0 umin
0 1 vmin .
0 0 1


u
1 0 umin
sxu 0 0
1 0 xmin
x
v = 0 1 vmin 0 syv 0 0 1 ymin y .
1
0 0 1
0
0 1
0 0
1
1

3.3.1

Clipping

Loperazione di clipping consiste nellindividuare le porzioni della figura tracciata che sono interne alla finestra di visualizzazione (viewport). Operazione
fondamentale `e il clipping di segmenti che quindi tende ad individuare la
parte di un segmento interno alla finestra di viewport. Tale operazione `e
fondamentale in quanto tutte le altre (clipping di poligoni, clipping tridimensionale) sono effettuate partendo dal clipping di segmenti. Supponiamo
che la finestra di clipping sia rappresentata nella Figura 3.17. Un punto di
coordinate (x, y) `e interno alla finestra se sono simultaneamente soddisfatte
le seguenti disequazioni:
xmin x xmax ,

ymin y ymax .

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

80

ymax

ymin

xmin

xmax

Figura 3.17: Finestra di Clipping.


Nel caso di un segmento lanalisi di appartenza alla finestra avviene partendo
dai suoi estremi. Ci sono tre possibili casi:
1. Se gli estremi sono entrambi interni alla finestra allora lintero segmento
`e interno alla finestra (Figura 3.18);
2. Se uno degli estremi `e interno alla finestra mentre laltro `e esterno allora
il segmento interseca parzialmente il rettangolo pertanto va calcolato
il punto dintersezione con i lati che delimitano la finestra di viewport
(Figura 3.18);
3. Se entrambi gli estremi sono esterni alla finestra allora il segmento
potrebbe intesecare parzialmente la finestra cos` come potrebbe essere
completamente estrerno alla stessa. Nel primo caso si devono ovviamente determinare le coordinate degli estremi della porzione del segmento
che si trova allinterno della finestra (Figura 3.19).
Per calcolare le intersezioni tra i segmenti o per verificare lappartenenza di
un punto ad un segmento si utilizza la rappresentazione parametrica dello
stesso. Infatti se (xa , ya ) e (xb , yb ) sono le coordinate cartesiane degli estremi
allora il segmento `e definito dalle seguenti equazioni parametriche

x(t) = xa + (xb xa )t,
t [0, 1].
y(t) = ya + (yb ya )t

81

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

C
C
B
D
A

Figura 3.18: Primo e secondo caso di Clipping di un segmento.

G
G

H
H

Figura 3.19: Terzo caso di Clipping di un segmento.

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

82

Si potrebbero utilizzare le equazioni parametriche per determinare le intersezioni con le quattro rette che delimitano la finestra di clipping ma il procedimento `e troppo macchinoso e piuttosto costoso dal punto di vista computazionale. Per questo motivo si utilizzano metodi alternativi come quello
descritto nel paragrafo successivo.

3.3.2

Algoritmo di Cohen-Sutherland

Il piano viene suddiviso in 9 regioni ed ai punti appartenenti a queste regioni `e


assegnato un codice composto da quattro cifre binarie (dette bit cio`e uguali a
0 oppure a 1). Ogni cifra del codice assume un valore in base allappartenenza
della regione ad un determinato semipiano. In dettaglio se (x, y) sono le
coordinate cartesiane di un generico punto del piano allora:

1
se y > ymax
o
1 bit =
0
se y ymax ,

1
se y < ymin
o
2 bit =
0
se y ymin ,

1
se x > xmax
3o bit =
0
se x xmax ,

1
se x < xmin
o
4 bit =
0
se x xmin .

Se il codice assegnato ad entrambi gli estremi `e 0000 allora il segmento `e


interno alla finestra di clipping. In modo abbastanza semplice si pu`o verificare
che se effettuando loperazione di AND logico tra i codici degli estremi del
segmento il risultato `e diverso da 0000 allora il segmento non interseca la
finestra di clipping. Ricordiamo che se x e y sono due variabili binarie allora
il risultato delloperazione di AND logico `e riassunto nella seguente tabella
x
0
0
1
1

y
0
1
0
1

x AND y
0
0
0
1

Invece se il risultato delloperazione logica AND `e 0000 allora si procede


alla ricerca dellestremo esterno alla finestra di clipping. Descriviamo lalgoritmo facendo riferimento alla situzione rappresentata nella Figura 3.21.

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

1001

1000

1010

0001

0000

0010

0101

0100

0110

Figura 3.20: Codici definiti dallalgoritmo di Cohen-Sutherland.

A
A
B
B

Figura 3.21: Algoritmo di Cohen-Sutherland.

83

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

84

Lapplicazione dellalgoritmo di Cohen-Sutherland avviene nei seguenti passi:


1a Iterazione: gli estremi del segmento sono A e B:
A ha codice 0001
B ha codice 0100
Poich`e il primo bit differente `e il secondo troviamo lintersezione con la retta
y = ymin , ovvero il punto B . Tale punto sostituisce lestremo B che era
esterno alla finestra di clipping rispetto alla retta y = ymin .
2a Iterazione: gli estremi del segmento sono A e B :
A ha codice 0001
B ha codice 0000
Poich`e il primo bit differente `e il quarto troviamo lintersezione con la retta
x = xmin , ovvero il punto A . Tale punto sostituisce lestremo A che era
esterno alla finestra di clipping rispetto alla retta x = xmin .
Poich`e gi estremi A e B hanno entrambi codice 0000 allora il segmento A B
`e il clipping del segmento AB.
Un ultima osservazione `e quella che lalgoritmo di Cohen-Sutherland pu`o
essere esteso anche a problemi di clipping in tre dimensioni.

3.3.3

Clipping di poligoni

Applicando lalgoritmo di Cohen-Sutherland ai lati del poligono si ottiene un


insieme di segmenti parzialmente sconnessi. Per esempio dovendo effettuare
il clipping del poligono raffigurato in Figura 3.22. Lapplicazione dellalgoritmo di Cohen-Sutherland ai singoli lati che lo delimitano porterebbe al
risultato visualizzato nella Figura 3.23. Un metodo alternativo `e lalgoritmo
di Sutherland-Hodgman.

3.3.4

Algoritmo di Sutherland-Hodgman

Si basa sullapplicazione del clipping a segmenti effettuato rispetto alle quattro rette che delimitano la finestra stessa, prendendo in input la sequenza
ordinata di vertici, applicando il clipping ai lati del poligono e aggiornando
la lista dei vertici aggiungendo eventuali vertici (quando un lato interseca la
retta) o togliendone altri (se il lato `e esterno alla finestra stessa). Prendendo come riferimento una delle rette che delimitano la finestra di clipping si
possono presentare 4 casi:

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

Figura 3.22: Clipping di poligoni.

Figura 3.23: Applicazione dellalgoritmo di Cohen-Sutherland.

85

86

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI


G

E
B

C
Figura 3.24: Clipping di poligoni.
1. Lo spigolo `e completamente interno al semipiano che contiene la finestra
di clipping quindi il secondo estremo `e aggiunto alla lista dei vertici;
2. Se il primo estremo `e interno ed il secondo `e esterno allora il punto di
intersezione con la retta `e aggiunto alla lista dei vertici;
3. Se entrambi gli estremi sono esterni allora non si esegue alcuna operazione;
4. Se il primo estremo `e esterno mentre il secondo `e interno allora vengono
aggiunti alla lista dei vertici il punto di intersezione con la retta ed il
secondo estremo.
Nella Figura 3.24 `e riportato un esempio di poligono cui applicare lalgoritmo
di Sutherland-Hodgman. Nel caso specifico quando si applica il primo passo dellalgoritmo, ovvero effettuando il clipping rispetto alla retta x = xmin ,
questo riceve in input linsieme dei vertici {A, B, C, D, E, F, G, H} e fornisce in output linsieme di vertici {A , B, C, D, E, F, G, H, A }, relativi alla
Figura 3.25. Successivamente lalgoritmo viene applicato rispetto alla retta
di equazione y = ymin , il che comporterebbe leliminazione del vertice C e
laggiunta di due ulteriori vertici (ovvero i punti di intersezione tra i segmenti
BC e CD con la retta y = ymin appunto). Loperazione viene quindi ripetuta
rispetto a tutte le rette che delimitano la finestra di clipping ottenendo alla
fine la lista dei vertici di un poligono interamente contenuto nella finestra.

87

CAPITOLO 3. TRASFORMAZIONI IN DUE DIMENSIONI

F
E

C
Figura 3.25: Clipping di poligoni.

Capitolo 4
Trasformazioni Geometriche in
tre dimensioni
4.1

Geometria Analitica nello Spazio

Nel caso dello spazio R3 vengono considerati come riferimento tre assi perpendicolari che si intersecano in un punto O detto orgine del riferimento. Viene
cio`e aggiunta allascissa e allordinata una terza coordinata, detta quota. In
Figura 4.1 `e riportato il procedimento per lattribuzione delle coordinate cartesiane spaziali del punto P . Proiettando P sul piano delimitato dagli assi x
e y si ottiene il punto P che, appartenendo al piano cartesiano bidimensionale, ha coordinate (x, y) (rispetto a R2 ). Tali coordinate sono attribuite al
punto P con laggiunta della distanza di P dal piano xy con il segno positivo
se P si trova al di sopra del piano, negativa altrimenti. I tre assi perpendicolari definiscono tre piani di riferimento, anchessi perperndicolari tra loro,
che prendono il nome di piani di proiezione oppure cartesiani. Nello spazio
il concetto di funzione `e simile a quello gi`a visto nel caso bidimensionale,
essendo la relazione tra due insiemi (le coppie (x, y), cio`e R2 e i valori z, cio`e
R), esplicitando una funzione `e del tipo
z = f (x, y),

(x, y) R2 .

Funzioni implicite sono invece del tipo


f (x, y, z) = 0.

88

(4.1)

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

89

z
P

P
x

Figura 4.1: Coordinate cartesiane del punto P.


Per una funzione (4.1) linsieme di definizione `e linsieme delle coppie (x, y)
tali che `e calcolabile il valore z. Considerato un valore z0 reale allora linsieme:
{(x, y) R2 | f (x, y) = z0 }
`e detto Curva di livello relativa al valore z0 . Tali curve hanno delle notevoli
applicazioni in svariati campi (metereologia, topografia e cartografia, si pensi
per esempio alla rappresentazione delle catene montuose nelle carte geografiche o alle curve isobare nelle previsioni metereologiche) e permettono di
poter avere unidea dellandamento della funzione nello spazio.
Cerchiamo ora di attribuire unequazione ai pi`
u semplici enti geometrici dello
spazio cartesiano cio`e a piani e rette. Iniziando dai piani di proiezione. Come abbiamo gi`a accennato ogni coppia di assi cartesiani definisce un piano di
proiezione. Quindi i tre piani saranno identificati come xy, xz e yz. Il piano
xy `e composto da tutti i punti che hanno quota nulla, pertanto ammette la
semplice equazione z = 0. In modo analogo si pu`o verifcare che x = 0 `e lequazione del piano yz mentre y = 0 identifica il piano xz. Anche lequazione
dei piani che sono paralleli a quelli di riferimento sono di facile attribuzione.
Infatti x = a rappresenta linsieme dei punti che hanno distanza dal piano
yz pari ad a e quindi appartengono ad un piano parallelo ad esso. In modo
analogo y = b e z = c rappresentano le equazioni di due piani paralleli ri-

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

90

spettivamente a xz e xy.
Pi`
u in generale, un piano `e rappresentato dallequazione lineare
ax + by + cz + d = 0
dove a, b, c, d sono coefficienti reali.

4.2

Trasformazioni base nello spazio

In questo capitolo esamineremo le principali propriet`a e la formulazione matematica delle principali trasformazioni geometriche nello spazio. In generale
si tratta di adattare concetti gi`a visti nel piano al caso spaziale. Le trasformazioni base che si possono definire sono esattamente le stesse viste in
precedenza. Considereremo il caso di trasformazioni che riguardano le coordinate omogenee, tenendo conto che, nel caso di R3 , le coordinate omogenee
di un punto di coordinate cartesiane (x, y, z) sono (x, y, z, 1), poich`e valgono
tutte le considerazioni.

4.2.1

Traslazione

Definiamo la matrice

1
0
T (tx , ty , tz ) =
0
0

0
1
0
0

0
0
1
0

tx
ty

tz
1

e, al solito, indichiamo con P e P le coordinate omogenee del punto rispettivamente prima e dopo la trasformazione, cio`e


x1
x
y1
y

P
=
P =
z1 .
z
1
1

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

91

Calcoliamo ora

1
0
T (tx , ty , tz )P =
0
0

0
1
0
0

0
0
1
0

tx
x

ty y
tz z
1
1

x + tx
y + ty

=
z + tz = P .
1

La trasformazione inversa, cio`e quella che consente di trasformare il punto


P in P, sar`a ovviamente:

1 0 0 tx
0 1 0 ty

T 1 (tx , ty , tz ) = T (tx , ty , tz ) =
0 0 1 tz .
0 0 0 1

4.2.2

Rotazione

Per generare una rotazione di una figura nello spazio `e necessario specificare
una retta (detta asse di rotazione) intorno alla quale avviene la rotazione e
langolo di rotazione. Le rotazioni pi`
u facili da definire sono quelle che hanno
lasse coincidente (o parallelo) con uno degli assi del riferimento cartesiano.
Comunque come nel caso bidimensionale rotazioni pi`
u complesse possono
essere definite utilizzando apposite combinazioni di rotazioni rispetto agli assi
e traslazioni. Per convenzione gli angoli di rotazione sono positivi quando la
rotazione avviene in senso antiorario. Per comprendere meglio tale concetto
si pu`o ricorrere al seguente criterio: quando la rotazione avviene intorno ad
uno degli assi del riferimento per valutare il verso di tale movimento ci si
pone perpendicolarmente a tale asse e si valuta come verso positivo quello
antiorario. Vediamo ora di determinare la matrici di trasformazione nel caso
in cui la rotazione avvenga rispetto allasse x di un angolo pari a . Sia P
il punto di coordinate omogenee (x, y, z, 1) e sia P il punto ruotato, avente
coordinate omogenee (x1 , y1 , z1 , 1). La rotazione avviene in un piano parallelo
al piano yz e perpendicolare allasse delle ascisse quindi i punti H, P e P
hanno la stessa ascissa x (vedere Figura 4.2), abbiamo pertanto la prima

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

92

H
x

Px

Figura 4.2: Rotazione del punto P intorno allasse x.


relazione tra le coordinate omogenee dei due punti
x1 = x.
Per quello che riguarda la relazione tra ordinate e quote si pu`o ripetere il ragionamento gi`a fatto nel caso bidimensionale. Sia langolo che la semiretta
HP forma con il piano xy. Posto r pari alla lunghezza del segmento HP
lordinata di P sar`a:
y1 = r cos( + ) = r cos cos r sin sin
= y cos z sin .
Ricordiamo infatti che valgono le seguenti identit`a:
y = r cos
z = r sin .
In modo analogo possiamo procedere per la quota:
z1 = r sin( + ) = r cos sin + r sin cos
= y sin + z cos .

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI


Ricapitolando abbiamo ottenuto le seguenti relazioni

x1 = x
y1 = y cos z sin

z1 = y sin + z cos .

93

(4.2)

Se definiamo la matrice

1
0
0
0 cos sin
Rx () =
0 sin cos
0
0
0

`e immediato verificare che

0
0

0
1

P = Rx ()P.
Per determinare le matrici di rotazione rispetto agli altri assi del riferimento
possiamo utilizzare un opportuno cambio di variabile:
x y z x.
Con un primo cambio di variabile in (4.2) abbiamo

y1 = y
z1 = z cos x sin

x1 = z sin + x cos .
La matrice di trasformazione `e:

cos

0
Ry () =
sin
0

0 sin 0
1
0
0

0 cos 0
0
0
1

(4.3)

che definisce una rotazione intorno allasse y. Con un cambio di variabile in


(4.3) abbiamo

z1 = z
x1 = x cos y sin

y1 = x sin + y cos .
La matrice di trasformazione `e:

cos sin
sin cos
Rz () =
0
0
0
0

0
0
1
0

0
0

0
1

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

94

che definisce una rotazione intorno allasse z.


Se la rotazione avviene rispetto ad una retta parallela ad uno degli assi del
riferimento cartesiano allora pu`o essere interpretata come combinazione delle
seguenti trasformazioni base:
1. Traslazione della figura cosicch`e lasse di rotazione coincida con lasse
del riferimento a cui `e parallelo;
2. Rotazione della figura rispetto a tale asse;
3. Traslazione della figura in modo tale che lasse di rotazione torni nella
posizione originaria.
Giusto come esempio vediamo il caso in cui lasse di rotazione `e parallelo
allasse delle ascisse. Se una retta `e parallela a tale asse allora i suoi punti
hanno la stessa quota b e la stessa ordinata a, cio`e lequazione di tale retta
`e:

y =a
z = b.
La traslazione da applicare sar`a pertanto T (0, a, b), infatti il valore dellascissa deve restare invariato. La rotazione rispetto a tale retta avr`a la
seguente matrice di trasformazione:
R() = T 1 (0, a, b)Rx ()T (0, a, b)
Ancor pi`
u complesso `e il procedimento per la rotazione di una figura rispetto
ad una retta dello spazio generica:
1. Traslazione della figura in modo tale che lasse di rotazione passi per
lorigine del riferimento cartesiano;
2. Rotazione della figura in modo tale che lasse di rotazione coincida con
uno degli assi del riferimento;
3. Rotazione della figura rispetto a tale asse;
4. Applicazione della rotazione inversa che porti lasse del riferimento nella
posizione della retta passante per lorigine;
5. Traslazione della figura in modo tale che lasse di rotazione torni nella
posizione originaria.

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

95

Osserviamo che la rotazione descritta al punto 2. `e in realt`a una doppia


rotazione poich`e una retta passante per lorigine forma una angolo con
il piano xy e uno con il piano xz pertanto `e necessaria una rispetto ad
entrambi tali angoli.

4.2.3

Scaling, Riflessione e deformazione

Esaminiamo rapidamente queste tre trasformazioni il cui significato `e perfettamente analogo al caso bidimensionale. Per lo Scaling definiamo la matrice
di trasformazione

sx 0 0 0
0 sy 0 0

S(sx , sy , sz ) =
0 0 sz 0
0 0 0 1

che porta alle seguenti relazioni:


x1 = sx x,

y1 = sy y,

z1 = sz z.

La trasformazione inversa `e:


S 1 (sx , sy , sz ) = S(1/sx , 1/sy , 1/sz ).
La Riflessione tridimensionale pu`o essere effettuata rispetto ad un piano detto
appunto piano di riflessione. Se tale piano coincide con il piano yz allora
limmagine di un punto P di coordinate omogenee (x, y, z, 1) sar`a il punto
che avr`a stessa quota, stessa ordinata ed ascissa con il segno opposto. La
matrice di trasformazione sar`a pertanto:

1 0 0 0
0 1 0 0

RFx =
0 0 1 0 .
0 0 0 1
La trasformazione inversa `e:

RFx1 = RFx .
Lo deformazione rispetto a z `e definito dalla

1 0
0 1
SHz (a, b) =
0 0
0 0

matrice:

a 0
b 0

1 0
0 1

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

96

che porta alle seguenti relazioni:

x1 = x + az
y1 = y + bz

z1 = z.

Resta invariata la quota mentre ascissa e ordinata variano proporzionalmente


rispetto ad essa. La trasformazione inversa `e
SHz1 (a, b) = SHz (a, b).

4.2.4

Proiezioni assonometriche

Lultimo tipo di trasformazione `e la Proiezione assonometrica, cio`e su un


piano dello spazio. Sia P un punto dello spazio avente coordinate omogenee
(x, y, z, 1) e supponiamo di volerlo proiettare su un piano parallelo al piano
xy avente perci`o equazione:
z = a.
Il punto P proiezione di P si ottiene intersecando il piano z = a con la retta
passante per P e ad esso perpendicolare. Quindi P avr`a quota pari ad a
mentre ascissa e ordinata sono le stesse di P . Quindi la trasformazione opera
indipendentemente dal valore della quota di P . La matrice sar`a pertanto:

1 0 0 0
0 1 0 0

xy (a) =
0 0 0 a .
0 0 0 1

Verifichiamo che applicando x al punto P si ottiene il punto P di coordinate


omogenee (x, y, a, 1):


1 0 0 0
x
x
0 1 0 0 y y

xy (a)P =
0 0 0 a z = a .
1
0 0 0 1
1
Se a = 0 si ottiene la classica proiezione

1 0
0 1
xy =
0 0
0 0

ortogonale sul piano xy:

0 0
0 0
.
0 0
0 1

CAPITOLO 4. TRASFORMAZIONI IN TRE DIMENSIONI

97

y
P

z=a
x

Figura 4.3: Proiezione del punto P sul piano di equazione z = a.


Una caratteristica di questa trasformazione `e che non `e possibile definire
la trasformazione inversa che permetta di passare da P a P . Infatti la
matrice x non `e invertibile. Tale risultato non deve sorprendere poich`e la
trasformazione ha leffetto di annullare una delle dimensioni dello spazio ed
`e impossibile ricostruire il valore della terza coordinata usando le altre due.
Per quello che riguarda le altre trasformazioni, le matrici di proiezione sui
piani xz e yz sono rispettivamente:

1 0 0 0
0 0 0 0

xz =
0 0 1 0 .
0 0 0 1
e

yz

0
0
=
0
0

0
1
0
0

0
0
1
0

0
0
.
0
1

Capitolo 5
Approssimazione di Curve nello
Spazio
5.1

Elementi di Analisi Matematica

Abbiamo gi`a incontrato nei capitoli precedenti il concetto di funzione di


variabile reale e quello di grafico associato ad una funzione. Richiamiamo
brevemente in questo paragrafo alcuni altri concetti fondamentali dellanalisi matematica e in particolare il loro significato geometrico. Innanzitutto
il primo di tali concetti `e quello di dominio o insieme di definizione di una
funzione. Tale insieme non `e altro se non linsieme dei numeri reali x per i
quali risulta calcolabile il valore di f (x). Dora in poi supporremo sempre che
il dominio di una funzione sia un intervallo del tipo [, ], con , numeri
reali (eventualmente uguali anche a ). Se indichiamo con S il dominio
della funzione f (x) il secondo basilare concetto dellanalisi matematica `la
continuit`a della funzione f nei punti appartenenti a S. Dal punto di vista
matematico, scelto un punto a dellinsieme di definizione di f (x), la continuit`a della funzione in a vuol dire che calcolando i valori di f (x) quando x
si avvicina ad a si ottiene proprio il valore f (a) indipendentemente dal fatto
che x si avvicini al punto a da destra o da sinistra. Da un punto di vista pi`
u
pratico continuit`a di una funzione vuol dire che il grafico associato ad f pu`o
essere tracciato, in un intorno del punto, con continuit`a, cio`e senza staccare
la penna dal foglio. Infatti punti in cui una funzione non `e continua sono
solitamente i punti che non appartengono al suo insieme di definizione oppure quei punti in cui la funzione assume una determinata espressione g1 (x) a
98

CAPITOLO 5. CURVE NELLO SPAZIO

99

destra di x = a e una diversa espressione g2 (x) a sinistra del punto, in modo


` ovvio che in questo
tale che in x = a il grafico di f (x) presenti un salto. E
caso la continuit`a della funzione `e garantita se g1 (a) = g2 (a). Risulta anche
interessante vedere quali sono i punti nei quali una funzione pu`o non essere
continua. Un primo tipo di punti `e quella appena introdotta, cio`e sono i punti in cui una funzione ammette unespressione matematica diversa a destra e
a sinistra. Una seconda classe di punti sono quelli che si trovano
agli estremi
del dominio. Per esempio se consideriamo la funzione f (x) = x2 1 il suo
insieme di definizione `e il seguente:
[
S = {x R|x 1}
{x R|x 1} .

I punti 1 non garantiscono la continuit`a di f (x) cos` come `e stata definita poich`e la funzione non `e definita a destra o a sinistra. Per esempio se
consideriamo la funzione

x<0
x
f (x) =
2
x
x0

questa risulta essere continua in tutto il suo intervallo di definizione (che


coincide con linsieme dei numeri reali), in quanto il suo grafico non presenta
alcun salto in x = 0. Un ulteriore importante concetto `e quello di derivata
di una funzione. La derivata prima di una funzione permette di poter controllare landamento della funzione. Se x0 `e un punto del dominio definiamo
il seguente rapporto incrementale:
f (x0 + h) f (x0 )
,
(x0 + h) x0

essendo h un valore positivo. Geometricamente esso rappresenta il coefficiente angolare della retta congiungente i punti di coordinate (x0 , f (x0 )) e
(x0 + h, f (x0 + h)). Se il rapporto incrementale `e positivo (supponiamo h
sufficientemente piccolo) vuol dire che la funzione, a destra di x0 sta crescendo, se `e negativo invece sta decrescendo. Si pu`o ripetere lo stesso discorso
prendendo un valore di h negativo oppure calcolando il rapporto incrementale con h e si ottiene landamento della funzione a sinistra di x0 . Se il
valore che si ottiene per la derivata nei due casi `e diverso vuol dire che la
derivata prima di f in x0 , che solitamente si indica con f (x0 ), non `e continua

CAPITOLO 5. CURVE NELLO SPAZIO

100

in tale punto. Lo studio dellandamento della derivata prima della funzione


permette di identificare i punti di massimo e di minimo. Infatti tali punti
sono caratterizzati dal fatto che ammettono tangente parallela allasse x e
quindi con coefficiente angolare nullo e quindi vanno cercati tra i valori che
annullano la derivata prima della funzione. Per i punti di massimo la funzione `e crescente a destra, descrescente a sinistra, mentre nel caso dei punti di
minimo si ha invece un comportamento opposto.
La derivata seconda f (x) `e la pendenza della funzione f (x). Quando `e positiva vuol dire che la derivata prima di f sta crescendo, cio`e il coefficiente
angolare della tangente alla curva sta aumentando e quindi si pu`o facilmente
intuire che la funzione volge la concavit`a verso lalto. I punti in cui cambia
la concavit`a sono quelli in cui la derivata seconda `e uguale a zero e prendono
il nome di punti di flesso.

5.1.1

Approssimazione di curve nello spazio

Prima di descrivere le pi`


u interessanti tecniche per lapprossimazione (o linterpolazione) di curve nello spazio pu`o essere utile una breve introduzione
di tipo storico. Tale problema infatti `e stato affrontato per la prima volta
intorno alla fine degli anni 50 da Paul De Casteljau che era un progettista
della casa automobilistica francese Citroen. Esattamente del 1959 De Casteljau elabor`o un algoritmo, che prese il suo nome, per la costruzione di
curve approssimanti nello spazio. Sembra logico che la necessit`a di sviluppare dei metodi grafico-matematici fosse strettamente legata al tipo di lavoro
che svolgeva nellambito della progettazione industriale. Tale lavoro rimase
ignoto a tutti per ovvi motivi di concorrenza. Si pensi che una pubblicazione
completa dei rapporti tecnici di De Casteljau risale solo agli anni 70. Quasi
contemporaneamente al suo lavoro un ingegnere, Pierre Bezier, progettista
presso la Renault, svilupp`o, dal punto di vista matematico, la teoria per lapprossimazione di curve nello spazio. Il primo lavoro di Bezier fu pubblicato
nel 1964 e il suo nome, senzaltro pi`
u noto rispetto a De Casteljau, `e legato
allespressione matematica delle curve in oggetto.

5.2

Lalgoritmo di De Casteljau

` il metodo fondamentale nel campo del design di curve e superfici nello spaE
zio poich`e permette di costruire in modo semplice e algoritmico le curve nello

101

CAPITOLO 5. CURVE NELLO SPAZIO

spazio aventi rappresentazione parametrica di tipo polinomiale. Per descrivere lalgoritmo di De Casteljau consideriamo come esempio la costruzione di
una curva parabolica nello spazio avente quindi come equazioni parametriche
dei polinomi di secondo grado. Siano P0 , P1 e P2 tre punti dello spazio e sia
t un parametro reale compreso tra 0 e 1. Nellapprossimazione di curve nello
spazio tali punti prendono il nome di punti di controllo (o vertici). Definiamo
le seguenti espressioni:
P01 (t) = (1 t)P0 + tP1
P11 (t) = (1 t)P1 + tP2 .
Osserviamo che P01 (t) `e lespressione del segmento congiungente P0 e P1 e
analogamente P11 (t) `e lespressione del segmento congiungente P1 e P2 . Infatti
se t = 0 allora
P01 (0) = P0
P11 (0) = P1 ,
mentre se t = 1:

P01 (1) = P1
P11 (1) = P2 .

Se si effettua unaltra combinazione lineare si ottiene:


P02 (t) = (1 t)P01 (t) + tP11 (t) =
= (1 t)[(1 t)P0 + tP1 ] + t[(1 t)P1 + tP2 ] =
= (1 t)2 P0 + 2t(1 t)P1 + t2 P2 .
Osserviamo innanzitutto che lespressione ottenuta `e lequazione di una parabola nella variabile t. Tale parabola passa per i punti P0 e P2 ma non per
P1 , infatti si pu`o agevolmente verificare che
P02 (0) = P0 ,

P02 (1) = P2 .

Dallespressione ottenuta per P02 (t) si nota che il cambio del punto P1 (o di
uno degli altri punti di controllo), comporta un cambio globale della curva,
anche se i coefficienti della parabola (al variare di t) non devono essere ricalcolati.

102

CAPITOLO 5. CURVE NELLO SPAZIO

Tale algoritmo pu`o essere naturalmente generalizzato alla costruzione di approssimanti polinomiali di qualsiasi grado, purch`e si abbia a disposizione un
numero sufficiente di punti. Assegnati n + 1 punti P0 , P1 , . . . , Pn allora la
curva di grado n `e:
k1
Pik (t) = (1 t)Pik1 (t) + tPi+1
(t)

con k = 1, . . . , n, i = 0, . . . , n k, e avendo posto Pi0 (t) = Pi .

5.3

Le Curve di B
ezier

Come abbiamo visto nel precedente paragrafo lalgoritmo di De Casteljau


permette di costruire la curva approssimante passante per due punti dello
spazio in modo ricorsivo, cio`e partendo dalla curva di primo grado (funzione
lineare) e costruendo via via quelle di grado superiore fino al grado voluto.
La tecnica che ci apprestiamo a descrivere, al contrario, fornisce lequazione
esplicita della curva voluta. Alla base della rappresentazione di Bezier c`e la
scelta di di opportune funzioni base per rappresentare la curva voluta. Nel
caso specifico la scelta cade sui cosiddetti Polinomi di Bernstein. Si definisce
polinomio di Bernstein il seguente polinomio:
Jn,k (t) = C(n, k)tk (1 t)nk

(5.1)

dove C(n, k) `e il cosiddetto coefficiente binomiale:


C(n, k) =

n!
,
(n k)!k!

n `e il grado del polinomio e k `e un numero intero compreso tra 0 ed n. Supponendo quindi che siano stati assegnati n + 1 punti di controllo P0 , P1 , . . . , Pn ,
la Curva di Bezier assume la seguente espressione
P (t) =

n
X

Pk Jn,k (t)

k=0

0 t 1.

(5.2)

Le funzioni Jn,k (t) prendono anche il nome di funzioni base (blending functions nella terminologia inglese e tale definizione `e di tipo generale). I polinomi di Bernstein possono essere calcolati anche utilizzando la seguente
relazione di ricorrenza
Jn,k (t) = (1 t)Jn1,k (t) + tJn1,k1 (t),

1k n1

(5.3)

103

CAPITOLO 5. CURVE NELLO SPAZIO


con
Jn,n (t) = tn ,

Jn,0 (t) = (1 t)n .

(5.4)

Si pu`o osservare che la relazione (5.3) `e molto simile a quella definita dallalgoritmo di De Casteljau.
Lespressione (5.2) va intepretata come una relazione vettoriale, cio`e posto P (t) = (x(t), y(t), z(t)), si hanno le seguenti relazioni per le ascisse, le
ordinate e le quote dei punti appartenenti alla curva approssimante:
x(t) =

n
X

xk Jn,k (t)

k=0

y(t) =

n
X

yk Jn,k (t)

k=0

z(t) =

n
X

zk Jn,k (t),

k=0

essendo (xk , yk , zk ) le coordinate del punto di controllo Pk . Osserviamo che


le tre equazioni parametriche sono indipendenti tra loro, cio`e la variazione
di una delle quote di un punto di controllo modifica solo il valore delle quote
dei punti della curva.
Elenchiamo ora le principali propriet`a delle curve di Bezier.
1. La rappresentazione parametrica della curva avviene sempre nello stesso intervallo di variabilit`a del parametro t, cio`e [0, 1].
2. Il grado della curva di Bezier `e sempre di uno inferiore rispetto al
numero dei punti di controllo a disposizione.
3. La curva di Bezier passa sempre per il primo e per lultimo punto di
controllo. Calcoliamo infatti il valore di P (t) per t = 0 e t = 1.
Se t = 0
n
X
P (0) =
Pk Jn,k (0)
k=0

con Jn,0 (0) = 1, in conseguenza di (5.4), e


Jn,k (0) =

n!
0k (1 0)nk = 0,
(n k)!k!

k = 1, . . . , n,

104

CAPITOLO 5. CURVE NELLO SPAZIO


P1
b

P2

P0
b

P1
b

P2
b

P1
b

P0

P4

b
b

P3
b
b

P3
b

P0
b

P2
Figura 5.1: Esempi di curve di Bezier con 3, 4 e 5 punti di controllo.
quindi
P (0) = P0 .
Quando t = 1 invece
P (1) =

n
X

Pk Jn,k (1)

k=0

con Jn,n (1) = 1, da (5.4) e


Jn,k (1) =

n!
1k (1 1)nk = 0,
(n k)!k!

k = 0, . . . , n 1,

quindi
P (1) = Pn .
Dalla Figura 5.2 si pu`o osservare come la posizione dei punti di controllo
intermedi abbia il compito di definire la forma della curva cio`e il modo
con cui la curva deve congiungere i punti di controllo estremi.

105

CAPITOLO 5. CURVE NELLO SPAZIO


P1
b

P2
b

P1
b

P3

P0
b

P3

P0

P1
b

P2
P0

P3

P2
b

Figura 5.2: Esempi di curve di Bezier di terzo grado (4 punti di controllo).


4. La curva di Bezier `e sempre interna alla poligonale avente come vertici
i punti di controllo Pk . Questa propriet`a `e conseguenza del fatto che i
polinomi di Bernstein sono positivi nellintervallo [0, 1] ed inoltre
n
X

Jn,k (t) = 1.

k=0

Questa propriet`a garantisce inoltre che la curva non oscilla rispetto ai


punti di controllo.
5. Calcolando le derivate della curva agli estremi, cio`e per t = 0 e t = 1
si trova:
P (0) = n(P1 P0 )
P (1) = n(Pn Pn1 ).

In particolare si vede che la tangente agli estremi coincide con la retta congiungente rispettivamente i primi due e gli ultimi due punti di
controllo.

106

CAPITOLO 5. CURVE NELLO SPAZIO


P1

P2

P(t)
P0
b

Q3

P3 Q0

Q(t)
P1

P2

Q1
b

Q2

P(t)

P0

P3 Q0

Q3
b

Q(t)
b

Q1

Q2

Figura 5.3: Nella figura in alto `e tracciata una curva di Bezier a tratti, determinata dallunione delle due curve P (t) e Q(t). La condizione di allineamento
dei punti di controllo P2 , P3 (coincidente con Q0 ) e Q1 assicura la continuit`a
della derivata prima della curva. Nel grafico in basso tale condizione non `e
verificata, infatti il punto nel P3 la curva presenta una cuspide cio`e un punto
in cui la tangente a destra e quella a sinistra sono differenti.
6. Se si hanno a disposizione molti punti di controllo si potrebbe pensare
di calcolare una singola curva di Bezier. Tuttavia si dovrebbero valutare
polinomi di grado elevato. Per ovviare a questo problema si potrebbe
pensare allutilizzo di una serie di curve di Bezier di grado pi`
u basso.
Questa tecnica tuttavia presenta un altro problema. Le due curve si
toccano in un punto, quindi la curva P (t) `e sicuramente continua, ma
non `e detto che esse abbiano la stessa tangente. Per quanto osservato
al punto precedente la condizione di continuit`a della derivata prima
dipende solo dal fatto che il punto di contatto pi`
u il penultimo punto
della prima curva e il secondo punto di controllo della seconda siano
allineati (vedere Figura 5.3).

107

CAPITOLO 5. CURVE NELLO SPAZIO


P1

P2

P0

P3

P1 P2

P3

P0

P4

Figura 5.4: Esempio di curve di Bezier con punti coincidenti.


7. Una curva di Bezier pu`o essere fatta passare vicino ad un determinata posizione assegnando a tale vertice un punto di controllo multiplo
(vedere Figura 5.4).
8. Una curva chiusa di Bezier `e generata specificando il primo e lultimo
punto di controllo nella stessa posizione.
9. Il concetto (e il modo di costruzione) delle curve di Bezier possono essere utilizzati anche per tracciare delle superfici approssimanti,
cio`e delle funzioni in due variabili definite in opportuni domini di R2 .
Lespressione matematica di una superficie di Bezier `e la seguente:
P (u, v) =

m X
n
X

Pjk Jm,j (u)Jn,k (v)

j=0 k=0

0 u, v 1

con Pjk punti di controllo in R3 .


Esempio 5.3.1 Supponiamo siano assegnati i seguenti punti di controllo
P0 (1, 1), P1 (2, 3), P2 (4, 3) e P3 (3, 1) e di voler calcolare la curva di Bezier
che approssima la curva passante per P0 e P3 . Poich`e abbiamo a disposizione

108

CAPITOLO 5. CURVE NELLO SPAZIO

4 punti di controllo la curva avr`


a grado 3. Determiniamo quindi i polinomi
di Bernstein di grado 3. Il coefficiente binomiale in questo caso `e:
C(3, k) =
Quindi

6
(3 k)!k!

k = 0, 1, 2, 3.

C(3, 0) = C(3, 3) = 1
e

6
6
= 3,
C(3, 2) =
= 3.
(3 1)!1!
(3 2)!2!
I polinomi di Bernstein hanno quindi le seguenti espressioni:
C(3, 1) =

J3,0 (t) = (1 t)3

J3,1 (t) = 3t(1 t)2

J3,2 (t) = 3t2 (1 t)

J3,3 (t) = t3 .

La curva di Bezier `e:


P (t) = P0 J3,0 (t) + P1 J3,1 (t) + P2 J3,2 (t) + P3 J3,3 (t).

5.4

Le B-Spline

Da un punto di vista matematico una curva `e definita attraverso una poligonale che unisce una serie di vertici (o punti di controllo) e da un opportuno
schema di interpolazione (o di approssimazione) che associa a tale curva
unequazione. Luso delle curve di Bezier ha molti vantaggi ma anche alcuni
svantaggi:
1. Il numero dei punti di controllo fissa lordine del polinomio che definisce
la curva (per esempio 4 punti di controllo definiscono una poligonale di
grado 3, 5 punti di controllo una di grado 4 e cos` via). Lunico modo
per ridurre il grado della curva `e quello di diminuire il numero di punti
cos` come lunico modo per aumentarlo `e quello di aggiungere ulteriori
punti.
2. I polinomi di Bernstein, usati come base nelle curve di Bezier, sono definiti globalmente per ogni valore del parametro t nellintervallo [0, 1],
quindi il cambio di un punto di controllo provoca la variazione di tutta la curva. In determinate circostanze questa mancanza di controllo
locale pu`o essere dannosa.

CAPITOLO 5. CURVE NELLO SPAZIO

109

Supponiamo ora che uno dei punti di controllo, per esempio Pi venga modificato nel punto Pi pari a
Pi = Pi + v
Siamo interessati a vedere come varia la curva di Bezier. Definiamo quindi i
nuovi punti di controllo Qk tali che

se k 6= i
Pk
Qk =

Pi = Pi + v
se k = i.

Calcoliamo la nuova curva di Bezier Q(t).


Q(t) =

n
X

Qk Jn,k (t)

k=0

n
X

Qk Jn,k (t) + Qi Jn,i (t)

k=0,k6=i

n
X

Pk Jn,k (t) + (Pi + v)Jn,i (t)

k=0,k6=i

n
X

Pk Jn,k (t) + Pi Jn,i (t) + vJn,i (t)

k=0,k6=i

n
X

Pk Jn,k (t) + vJn,i (t) = P (t) + vJn,i (t).

k=0

Poich`e
Jn,i (t) 6= 0,

0<t<1

segue che
P (t) 6= Q(t),

0<t<1

e quindi le due curve sono sostanzialmente diverse per ogni t. Questo `e


il motivo principale che ha portato alluso di una classe di funzioni base
diverse dai polinomi, e che sono appunto, le B-Spline. Il loro uso consente di
evitare entrambi i problemi appena citati nonostante abbiano lo svantaggio

CAPITOLO 5. CURVE NELLO SPAZIO

110

di richiedere una maggiore complessit`a computazionale. Le B-Spline sono


definite come una combinazione di funzioni base non globali, cio`e non definite
in tutto lintervallo di variabilit`a del parametro t. Tale comportamento non
globale dipende dal fatto che ad ogni punto di controllo `e associata una
singola funzione della base. Ognuno di tali punti influisce sullandamento
della curva solo in uno determinato intervallo di variabilit`a del parametro t.
Unaltra caratteristica delle B-Spline `e che lordine della risultante curva pu`o
essere variato senza cambiare il numero dei punti di controllo (quindi fissati
tali punti si possono avere curve di ordine 2,3,4 e cos` via).
Prima di definire le funzioni base definiamo alcuni concetti preliminari. Sia
U un insieme di m + 1 numeri non descrescenti
U = {t0 , t1 , t2 , . . . , tm }
cio`e tali che:
t0 t1 t2 tm .
Tali valori ti sono detti nodi (in inglese knots), mentre il linsieme U `e detto
vettore dei nodi.
Si definisce dominio del nodo ti lintervallo [ti , ti+1 ). Ovviamente se i due
valori ti e ti+1 coincidono allora il dominio di ti non `e definito. Se il nodo ti
compare k volte, cio`e:
ti = ti+1 = = ti+k1
con k > 1, allora si dice che ti `e un nodo multiplo con molteplicit`a k. Al
contrario, se ti appare solo una volta allora `e un nodo semplice. Se i nodi
sono equispaziati, cio`e la differenza
ti ti1
`e costante per ogni i, 1 i m, allora il vettore dei nodi si dice uniforme,
altrimenti si dice non uniforme.
Per esempio il vettore dei nodi
U = {0, 1, 2, 3, 5, 6, 8, 8, 9, 9, 10, 10, 10}
non `e un vettore uniforme, inoltr i nodi 8 e 9 hanno molteplicit`a 2 mentre il
nodo 10 ha molteplicit`a 3, gli altri hanno molteplicit`a 1. Il vettore dei nodi
U = {0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11}

111

CAPITOLO 5. CURVE NELLO SPAZIO

`e un vettore uniforme. I nodi definiscono una partizione dellintervallo [t0 , tm ]


ce, di solito, coincide con lintervallo [0, 1]. In ogni modo `e sempre possibile
trasformarlo in [0, 1]. Infatti il vettore dei nodi
U = {0, 1, 2, 4, 5}
`e equivalente al vettore
U1 = {0, 0.2, 0.4, 0.8, 1}.
Prima di definire le funzioni base per le B-Spline si deve definire un ulteriore
parametro, che indichiamo con p, e che rappresenta il grado della B-Spline.

5.4.1

Funzioni B-Spline Base

La iesima funzione B-Spline base di grado p viee definita utilizzando la


seguente formula ricorsiva:

ti t ti+1
1
N0,i (t) =

0
altrimenti

Np,i (t) =

t ti
ti+p+1 t
Np1,i (t) +
Np1,i+1 (t),
ti+p ti
ti+p+1 ti+1

che viene detta Formula di Cox-de Boor. Se p = 0 allora le funzioni base


sono le cosiddette funzioni a gradino perch`e assumono valore uguale a 1 solo
in un intervallo [ti , ti+1 ] e zero in tutti gli altri.
Per capire meglio il senso della formula di Cox-de Boor consideriamo come
esempio il vettore dei nodi U = {0, 1, 2, 3, 4} cio`e
t0 = 0,

t1 = 1,

t2 = 2,

t3 = 3,

t4 = 4.

I grafico delle funzioni N0,0 (t), N0,1 (t), N0,2 (t) e N0,3 (t) sono piuttosto semplici da tracciare.

112

CAPITOLO 5. CURVE NELLO SPAZIO

N0,0 (t)

t0

t1

t2

t3

t4

t2

t3

t4

t3

t4

N0,1 (t)

t0

t1

N0,2 (t)

t0

t1

t2

113

CAPITOLO 5. CURVE NELLO SPAZIO

N0,3 (t)

t0

t1

t2

t3

t4

Per comprendere meglio come funziona la formula di Cox-de Boor si pu`o


utilizzate la seguente rappresentazione tabellare, che ha, nelle prime due
colonne, rispettivamente i domini dei nodi e le funzioni di grado 0.
[t0 , t1 ] N0,0 (t)
N1,0 (t)
[t1 , t2 ] N0,1 (t)

N2,0 (t)
N1,1 (t)

[t2 , t3 ] N0,2 (t)

N3,0 (t)
N2,1 (t)

N4,0 (t)
..
N1,2 (t)
N3,1 (t)
.
..
[t3 , t4 ] N0,3 (t)
N2,2 (t)
.
..
.
N1,3 (t)
..
[t4 , t5 ] N0,4 (t)
.
..
..
.
.

Per calcolare la funzione base N1,i (t) sono richieste N0,i (t) e N0,i+1 (t). In generale per valutare Np,i (t) si devono conoscere Np1,i (t) e Np1,i+1 (t). Inoltre
in ogni colonna dello schema sono riportate tutte le funzioni base aventi lo
stesso grado. Se il vettore dei nodi `e U = {0, 1, 2, 3, 4}, allora la tabella delle

114

CAPITOLO 5. CURVE NELLO SPAZIO


funzioni base da calcolare `e
[0, 1] N0,0 (t)
N1,0 (t)
[1, 2] N0,1 (t)

N2,0 (t)
N1,1 (t)

[2, 3] N0,2 (t)

N3,0 (t)
N2,1 (t)

N1,2 (t)
[3, 4] N0,3 (t)
Applicando la formula di Cox-de Boor:
N1,0 (t) =

t t0
t2 t
N0,0 (t) +
N0,1 (t),
t1 t0
t2 t1

poich`e t0 = 0, t1 = 1, t2 = 2, t3 = 3, si ha
N1,0 (t) = tN0,0 (t) + (2 t)N0,1 (t).
Poich`e le funzioni N0,0 (t) e N0,1 (t) sono definite rispettivamente negli intervalli [0, 1] e [1, 2], la funzione N1,0 (t) `e definita nellintervallo [0, 2] ed assume
la seguente espressione:

t [0, 1)
t
N1,0 (t) =

2t
t [1, 2].
Calcoliamo ora N1,1 (t):

N1,1 (t) =

t t1
t3 t
N0,1 (t) +
N0,2 (t),
t2 t1
t3 t2

cio`e
N1,1 (t) = (t 1)N0,1 (t) + (3 t)N0,2 (t),
da cui si ricava che
N1,1 (t) =

t1

3t

t [1, 2)
t [2, 3].

115

CAPITOLO 5. CURVE NELLO SPAZIO


Calcoliamo ora N1,2 (t):
N1,2 (t) =

t t2
t4 t
N0,2 (t) +
N0,3 (t),
t3 t2
t4 t3

cio`e
N1,2 (t) = (t 2)N0,2 (t) + (4 t)N0,3 (t),
da cui si ricava che
N1,2 (t) =

t2

t [2, 3)

4t

t [3, 4].

t2

t3

t4

t3

t4

N1,0 (t)

t0

t1

N1,1 (t)

t0

t1

t2

116

CAPITOLO 5. CURVE NELLO SPAZIO

N1,2 (t)

t0

t1

t2

t3

t4

Una volta calcolate N1,0 (t) e N1,1 (t) possiamo calcolare N2,0 (t) utilizzando
sempre la formula di Cox-de Boor:
N2,0 (t) =
=

t t0
t3 t
N1,0 (t) +
N1,1 (t)
t2 t0
t3 t1
3t
t0
N1,0 (t) +
N1,1 (t)
20
31

t
3t
= N1,0 (t) +
N1,1 (t).
2
2
Per esplicitare lespressione di N2,0 (t) dobbiamo distinguere quattro casi:
1o caso: t [0, 1) :
In questo caso solo N1,0 (t) `e diversa da zero e contribuisce allespressione di
N2,0 (t), infatti si ha N1,0 (t) = t, quindi
1
N2,0 (t) = t2 ;
2

117

CAPITOLO 5. CURVE NELLO SPAZIO


2o caso: t [1, 2)
In questo caso sia N1,0 (t) che N1,1 (t) sono diverse da zero quindi
N2,0 (t) = 2t N1,0 (t) +

3t
N1,1 (t)
2

1
1
= t(2 t) + (3 t)(t 1)
2
2
=
=


1
2t t2 + 3t t2 3 + t
2

1
3 + 6t 2t2
2

3o caso: t [2, 3)
In questo caso solo N1,1 (t) contribuisce allespressione di N2,0 (t), infatti N1,1 (t) =
3 t, quindi
1
N2,0 (t) = (3 t)2 .
2
o
4 caso: t [3, 4]
In questo caso sia N1,0 (t) che N1,1 (t) sono nulli quindi
N2,0 (t) = 0.
Riassumendo, la funzione N2,0 (t) `e:

1 2

(3 + 6t 2t2 )
2
N2,0 (t) =

(3 t)2

t [0, 1)
t [1, 2)
t [2, 3)
t [3, 4).

118

CAPITOLO 5. CURVE NELLO SPAZIO


Ripetendo analoghi calcoli per N2,1 (t) si trova:

1
2

2 (t 1)

N2,1 (t) =
1

(11 + 10t 2t2 )

1 (4 t)2
2

t [0, 1)
t [1, 2)
t [2, 3)
t [3, 4)

N2,0 (t)

t0

t1

t2

t3

t4

t3

t4

N2,1 (t)

t0

t1

t2

Procedendo nello stesso modo si pu`o calcolare lultima funzione che manca,
cio`e N3,0 (t):
4t
t4 t
t
t t0
N2,1 (t)
N2,0 (t) +
N2,1 (t) = N2,0 (t) +
N3,0 (t) =
t3 t0
t4 t1
3
3

119

CAPITOLO 5. CURVE NELLO SPAZIO


e ottenendo

N3,0 (t) =

1 3
t
6

t [0, 1)

1
(4 12t + 12t2 3t3 )
6

t [1, 2)

(44 + 60t 24t2 + 3t3 )

1 (4 t)3
6

t [2, 3)
t [3, 4)

N3,0 (t)

t0

t1

t2

t3

t4

Riassumiamo ora due propriet`a che le funzioni base delle B-Spline posseggono
e che si possono facilmente dedurre dallesempio fatto.
1. La funzione base Np,i (t) `e diversa da zero solo nellintervallo [ti , ti+p+1 ];
2. In ogni intervallo [ti , ti+1 ] ci sono al pi`
u p + 1 funzioni base diverse da
zero, cio`e
Np,ip (t), Np,ip+1 (t), . . . , Np,i (t).
Adesso possiamo definire formalmente la B-Spline che approssima una curva
nello spazio.
Assegnati n + 1 punti di controllo P0 , P1 , . . . , Pn ed il vettore dei nodi
U = {t0 , t1 , t2 , . . . , tm }

CAPITOLO 5. CURVE NELLO SPAZIO

120

si definisce B-Spline di grado p la curva


C(t) =

n
X

Np,i (t)Pi

i=0

dove Np,i (t) sono le funzioni base di grado p. Lespressione formale della BSpline di grado p `e solo formalmente molto simile a quella che abbiamo visto
per le curve di Bezier. Tuttavia essa ha, in s`e, una maggiore informazione,
che si traduce in un numero superiore di gradi di libert`a, in particolare, oltre
ai punti di controllo, si devono scegliere i nodi ti ed il grado p (indipendente
da n). In particolare poich`e se abbiamo n + 1 punti di controllo dobbiamo
anche poter definire n + 1 funzioni base `e necessario che tra n, p ed m ci sia
la seguente relazione:
m = n + p + 1.
Elenchiamo ora le principali differenze tra le B-Spline e le curve di Bezier:
1. Il grado p `e indipendente dal numero di punti di controllo;
` possibile costruire una B-Spline che non passa per il primo e lultimo
2. E
punto di controllo (B-Spline aperta);
3. Il vettore dei nodi definisce un insieme di punti sulla curva, in particolare quelli di coordinata C(ti ), i = 0, . . . , m, detti punti nodo (knot
points).
Ricapitoliamo ora le principali propriet`a delle B-Spline:
Np,i (t) `e un polinomio di grado p in t;
Np,i (t) 0 per ogni i, p, t;
Fissato un dominio [ti , ti+1 ] per sapere quali sono le funzioni definite
in tale intervallo (cio`e diverse da zero in tale intervallo) si considera
il solito schema tabulare e si tracciano due rette che partono da tale
dominio e vanno in diagonale verso destra, una verso lalto e laltra verso
il basso. Per esempio nel seguente schema, considerando il dominio
[t2 , t3 ], le funzioni diverse da zero sono evidenziate nella figura 5.5. In
definitiva nellintervallo [ti , ti+1 ] ci sono al pi`
u p+1 funzioni base diverse
da zero;

121

CAPITOLO 5. CURVE NELLO SPAZIO


[t0 , t1 ]

N0,0 (t)

[t1 , t2 ]

N0,1 (t)

[t2 , t3 ]

N0,2 (t)

[t3 , t4 ]

N0,3 (t)

[t4 , t5 ]

N0,4 (t)

[t5 , t6 ]

N0,5 (t)

[t6 , t7 ]

N0,6 (t)

N1,0 (t)
N1,1 (t)
N1,2 (t)
N1,3 (t)
N1,4 (t)

N2,0 (t)
N2,1 (t)
N2,2 (t)
N2,3 (t)

N3,0 (t)
N3,1 (t)
N3,2 (t)

N4,0 (t)
N4,1 (t)

N5,0 (t)

N6,0 (t)

N5,1 (t)

N4,2 (t)

N3,3 (t)

N2,4 (t)

N1,5 (t)

Figura 5.5:
Al contrario fissata una funzione base Np,i (t) per sapere in quali domini `e definita si considera la stessa tabella e si tracciano due rette
che partono da tale dominio e vanno in diagonale verso sinistra, una
verso lalto e laltra verso il basso. Per esempio nel seguente schema,
considerando la funzione N3,2 (t): Quind la funzione Np,i (t) `e diversa da
zero solo nellintervallo [ti , ti+p+1 ];
La somma di tutte le funzioni base di grado p non nulle nel dominio
[ti , ti+1 ] `e 1;
Se il numero di punti di controllo `e n+1 e p `e il grado della curva allora
il numero m deve essere n + p + 1.
Se il kesimo punto di controllo cambia, cio`e Pk diventa Pk + v allora
vogliamo calcolare la nuova B-Spline avente come punti di controllo Qk
tali che

se i 6= k
Pi
Qi =

Pk = Pk + v
se i = k.

122

CAPITOLO 5. CURVE NELLO SPAZIO


[t0 , t1 ]

N0,0 (t)

[t1 , t2 ]

N0,1 (t)

[t2 , t3 ]

N0,2 (t)

[t3 , t4 ]

N0,3 (t)

[t4 , t5 ]

N0,4 (t)

[t5 , t6 ]

N0,5 (t)

[t6 , t7 ]

N0,6 (t)

N1,0 (t)
N1,1 (t)
N1,2 (t)
N1,3 (t)
N1,4 (t)

N2,0 (t)
N2,1 (t)
N2,2 (t)
N2,3 (t)

N3,0 (t)
N3,1 (t)
N3,2 (t)

N4,0 (t)
N4,1 (t)

N5,0 (t)

N6,0 (t)

N5,1 (t)

N4,2 (t)

N3,3 (t)

N2,4 (t)

N1,5 (t)

Figura 5.6:
La nuova B-Spline D(t) di grado p `e:
D(t) =

n
X

Qi Np,i (t) =

Qi Np,i (t) + Qk Np,k (t)

i=0,i6=k

i=0

n
X

n
X

Pi Np,i (t) + (Pk + v)Np,k (t)

i=0,i6=k

n
X

Pi Np,i (t) + Pk Np,k (t) + vNp,k (t)

i=0,i6=k

n
X

Pi Np,i (t) + vNp,k (t) = C(t) + vNp,k (t).

i=0

Poich`e la funzione Np,k (t) `e diversa da zero solo nellintervallo [tk , tk+p+1 ]
allora le curve C(t) e D(t) differiscono solo nella parte di curva compresa tra i punti nodo C(tk ) e C(tk+p+1 ).
Per evidenziare questultima propriet`a, che `e probabilmente il vantaggio pi`
u
grande nelluso delle B-Spline rispetto alle curve di Bezier, nella Figura 5.7 `e

123

CAPITOLO 5. CURVE NELLO SPAZIO


P2

P1

P3

P4

C(t4 )

C(t5 )

C(t3 )

C(t6 )

C(t2 )

C(t7 )

C(t1 )

C(t8 )

P0

P5

Figura 5.7:
rappresentata una B-spline cubica (p = 3) con n = 5 (ovvero 6 punti di controllo), che richiede m + 1 = 9 (ovvero m = 8) nodi. Nelle Figure successive
sono evidenziate le parti della curva influenzate dai punti di controllo.

124

CAPITOLO 5. CURVE NELLO SPAZIO


P2

P1

P3

P4

C(t4 )

C(t5 )

C(t3 )

C(t6 )

C(t2 )

C(t7 )

C(t1 )

C(t8 )

P0

P5
P2

P1

P4

C(t4 )
C(t3 )
C(t2 )

C(t1 )

P0

P3

C(t5 )
C(t6 )
C(t7 )

C(t8 )

P5

125

CAPITOLO 5. CURVE NELLO SPAZIO


P2

P1

P3

P4

C(t4 )

C(t5 )

C(t3 )

C(t6 )

C(t2 )

C(t7 )

C(t1 )

C(t8 )

P0

P5
P2

P1

P4

C(t4 )
C(t3 )
C(t2 )

C(t1 )

P0

P3

C(t5 )
C(t6 )
C(t7 )

C(t8 )

P5

Spostando il quarto punto di controllo nella posizione P3 , cambia anche la


curva (grafico verde nella Figura 5.8). Tuttavia sovrapponendo le due curve
(Figura 5.9) si osserva che queste sono differenti solo in una parte (ovvero
nel dominio in cui `e definita la funzione N3,3 (t)).

126

CAPITOLO 5. CURVE NELLO SPAZIO


P2

P1

P3

P4

P3

C(t4 )
C(t3 )

C(t5 )
C(t6 )
C(t7 )

C(t2 )

C(t8 )

C(t1 )

P0

P5

Figura 5.8:
P2

P1

P3

P4

P3

C(t4 )
C(t3 )

C(t5 )
C(t6 )

C(t2 )

C(t7 )

C(t1 )

C(t8 )

P0

P5

Figura 5.9:

127

CAPITOLO 5. CURVE NELLO SPAZIO

5.4.2

Funzioni B-Spline Razionali

Le B-spline hanno il vantaggio di fornire un controllo locale sulla curva approssimante ma sono pur sempre delle funzioni polinomiali a tratti e consentono quindi una buona approssimazione solo per curve di questo tipo.
Si possono ottenere approssimazioni migliori utilizzando come funzioni base
quelle di tipo razionale, dette NURBS (acronimo di Non-Uniform Rational
B-Spline), ovvero funzioni base razionali costruite su insiemi di nodi non
uniformi.
Una NURBS di grado p `e definito da

C(t) =

n
X

Np,i (t)i Pi

i=0
n
X

(5.5)

Np,i (t)i

i=0

dove i Pi sono i punti di controllo, i valori i sono i pesi mentre le funzioni Np,i (t) sono le funzioni basedi grado p definite sullinsieme di nodi non
uniforme
U = {t0 , t1 , t2 , . . . , tm }

con m = n + p (anche se, al solito, si pu`o supporre t0 = 0 e tm = 1), e i > 0


per ogni i. Ponendo
Np,i (t)i
,
Rp,i (t) = n
X
Np,i (t)i
i=0

allora la relazione (5.5) si pu`o scrivere come


C(t) =

n
X

Rp,i (t)Pi

i=0

in cui le funzioni Rp,i (t) sono funzioni razionali, che godono delle seguenti
propriet`a:
1. Rp,i (t) 0 per ogni i, p e t [0, 1];
2.

n
X
i=0

Rp,i (t) = 1,

t [0, 1];

CAPITOLO 5. CURVE NELLO SPAZIO

128

3. Rp,0 (0) = Rp,n (1) = 1;


4. Rp,i (t) `e diversa da zero solo nellintervallo [ti , ti+p+1 ];
5. Se i = 1 per ogni i allora Rp,i (t) = Np,i (t) per ogni i. Quindi le B-spline
sono un caso particolare di NURBS;
6. C(0) = P0 e C(1) = Pn ;
7. Se viene spostato il punto di controllo Pi , oppure se cambia solo liesimo
nodo i , allora cambia solo la porzione di curva nllintervallo [ti , ti+p+1 ].
Il valore dei pesi consente un maggiore controllo sulla curva C(t). Infatti
incrementando il valore del peso i la curva si avvicina al punto di controllo
Pi , associato a tale peso. Alo contrario decrementando il valore di i la curva
si allontana dallo stesso punto. Se il peso i fosse uguale a zero allora il punto
di controllo Pi non ha alcuna influenza sulla curva.