Sei sulla pagina 1di 104

Curve e superfici

per il design
A.A. 2020-2021

Anna Scotti
anna.scotti@polimi.it

Alessio Fumagalli
alessio.fumagalli@polimi.it
. Lezione I

Introduzione

Insiemi numerici
Abbiamo diversi insiemi numerici i quali contengono diverse categorie di numeri, in particolare:

• numeri naturali, il cui insieme è indicato con N, e sono i numeri interi positivi con lo zero.
• numeri relativi, il cui insieme è indicato con Z, e sono i numeri interi sia positivi che negativi
con lo zero.
• numeri razionali, il cui insieme è indicato con Q, e sono i numeri che si possono esprimere
come rapporto di due numeri interi.
• numeri reali, il cui insieme è indicato con R, e includono anche i numeri irrazionali come π.

Anche se tutti questi insiemi contengono un numero infinito di elementi, abbiamo una gerarchia
tra loro data da

R Q Z N

In formula abbiamo che N ⊂ Z ⊂ Q ⊂ R.

Sistemi di riferimento
Per individuare la posizione di punti lungo una retta, su un piano o nello spazio abbiamo bisogno
di un sistema di riferimento. Ovvero di un sistema di coordinate che può essere:
Monodimensionale

Bidimensionale
Lezione I Introduzione

Tridimensionale

Sistema monodimensionale
Il caso monodimensionale è costituito da una retta orientata su cui fisso il verso positivo, un punto
O detto origine e un’unità di misura. Una rappresentazione è data da

O semiretta positiva
semiretta negativa
In questo caso per individuare la posizione di un punto basta una sola coordinata, l’ascissa x che
è la distanza con segno dall’origine O.

Esempio 1.1

Consideriamo i due punti P e Q sulla retta

Q O P

Abbiamo che l’ascissa di entrambi i punti risulta rispettivamente xQ = − 32 e xP = 2.

Notiamo che l’ascissa può essere un qualsiasi numero reale, x ∈ R.


Distanza fra punti
Dati A e B con ascissa xA e xB , indico la loro distanza con AB e calcolata come

AB = |xB − xA | , (1.1)

chiaramente abbiamo che AB = BA.

Esempio 1.2

Consideriamo il seguente esempio

B O A

Dove il punto A e B hanno ascissa rispettivamente xA = 2 e xB = −1. La loro distanza risulta


quindi AB = |xB − xA | = |−1 − 2| = |−3| = 3.

È possibile anche definire la distanza con segno data da

dA→B = xB − xA ,

mentre in questo caso abbiamo che dA→B = −dB→A

–3–
Lezione I Introduzione

Esempio 1.3

Considerando i punti dell’esempio precedente abbiamo che

dA→B = −1 − 2 = −3 e dB→A = 2 + 1 = 3.

Punto medio fra due punti


Dati due punti A e B, indichiamo generalmente con M il punto medio tra A e B se

AM = M B

e la corrispettiva ascissa xM si trova come media delle ascisse di A e B, ovvero


xA + xB
xM =
2

Esempio 1.4

Considerando i punti dell’esempio precedente abbiamo che


xA + xB 2−1 1
xM = = = .
2 2 2

Sistema bidimensionale
Tale sistema serve per posizionale punti nel piano, vi sono diverse possibilità, ma qui consideriamo
un sistema Cartesiano, formato da rette orientate perpendicolari. Gli assi Cartesiani sono due
rette orientate dette: asse delle ascisse x e asse delle ordinate y. Tali assi si intersecano nel punto
O detto origine degli assi. Abbiamo quindi

y
ordinate

ascisse
O x

Ad ogni punto P associo una coppia di numeri xP e yP tale che P = (xP , yP ) dove xP si trova
intersecando l’asse delle ascisse con una retta parallela all’asse delle ordinate e passante per P .
Analogamente per yP , abbiamo

–4–
Lezione I Introduzione

P
yP

O xP x

Gli assi Cartesiani dividono il piano in quattro quadranti dati dal segno delle ascisse e ordinate
rispettive per ognuno di esse, risulta

y y

II I x<0ey>0 x>0ey>0

O x 0 x
III IV x<0ey<0 x>0ey<0

Distanza tra punti


La distanza del punto P dall’origine degli assi O è calcolata usando il teorema di Pitagora, abbiamo
q
OP = x2P + yP2 ,

e graficamente otteniamo che la lunghezza del segmento rosso è OP

OP

O x

La distanza tra due punti generici A e B è invece data da una generalizzazione del caso precedente,
in cui abbiamo
p
AB = (xA − xB )2 + (yA − yB )2 ,

e graficamente risulta

–5–
Lezione I Introduzione

y
A
yA
AB

B
yB

O xB xA x

Punto medio
Definiamo M come il punto medio del segmento AB tale che AM = M B, ed anche in questo caso
si calcola come media delle coordinate di A e B. Ovvero
xA + xB yA + yB
xM = e yM = .
2 2
Graficamente otteniamo

y
A
yA

yM M

yB B

O xB xM xA x

Sistema tridimensionale
Consideriamo tre rette orientate perpendicolari tra loro ed orientate secondo la regola della mano
destra: l’ascissa x sul pollice, l’ordinata y sull’indice e la quota z sul medio della mano destra.

z
quota

ordinata
O y
a
c iss
as
x

Ogni punto è individuato da una terna di numeri P = (xP , yP , zP ) ed indichiamo con

P 0 = (xP , yP , 0) e P 00 = (xP , 0, zP ) e P 000 = (0, yP , zP )

rispettivamente la proiezione di P sul piano xy, xz e yz. Graficamente

–6–
Lezione I Introduzione

P 000

P 00 P
zP

O yP y
xP

P0
x

Indichiamo con xy, xz e yz i piano coordinati definiti da coppie di assi

yz
xz

O y

xy

Distanza tra punti


Per calcolare la distanza tra il generico punto P e l’origine degli assi O, applico due volte il teorema
di Pitagora, ovvero

P
zP

O yP y
xP

P0
x

ed ottengo
q q q
dove e OP 0 =
2 2
OP = P P 0 + OP 0 P P 0 = zP x2P + yP2 ⇒ OP = x2P + yP2 + zP2

Generalizzando la formula tra due punti generici A e B otteniamo la seguente espressione


p
AB = (xA − xB )2 + (yA − yB )2 + (zA − zB )2

Trigonometria
Vogliamo misurare gli angoli, la convenzione è che si misurano in senso positivo seguendo il senso
antiorario

–7–
Lezione I Introduzione

Alcuni angoli notevoli sono: l’angolo retto θ = 90◦ , l’angolo piatto θ = 180◦ e l’angolo giro
θ = 360◦
y

90◦

180◦
0 360◦ x

Gli angoli, invece di essere misurati in gradi, spesso si misurano in radianti. Abbiamo che 1 rad
(ovvero, un radiante) è la misura di un angolo tale per cui la lunghezza dell’arco è uguale al raggio.
In un angolo giro ho 2π radianti, infatti l’intero perimetro della circonferenza risulta 2πr. Dove r
è il raggio della circonferenza stessa. In generale abbiamo che

arco di circonferenza

raggio

dove θ è l’angolo misurato in radianti. La conversione tra angolo in gradi e radianti è data da

θgradi : 360◦ = θrad : 2π

Esempio 1.5

Abbiamo i seguenti angoli da convertire


π
θgradi = 90◦ ⇒ θrad = (90◦ : 360◦ )2π =
2
1
θrad = 1 ⇒ θgradi = 360◦ ≈ 57◦

Alcune conversioni notevoli sono date dalla seguente tabella

gradi 0◦ 30◦ 45◦ 60◦ 90◦ 180◦ 360◦


radianti 0 π
6
π
4
π
3
π
2 π 2π

Seno, coseno e tangente


Due triangoli sono simili se hanno gli angoli uguali, ovvero i lati corrispondenti sono proporzionali.
Consideriamo un triangolo rettangolo ABC ed il triangolo simile AB 0 C 0

–8–
Lezione I Introduzione

C
C0
a
us

cateto opposto
ten
o
ip

θ θ θ
A B A B 0
cateto adiacente
Definiamo il seno dell’angolo il rapporto tra cateto opposto e ipotenusa
BC
sin θ = .
AC
Inoltre vale anche che
B0C 0
sin θ = ,
AC 0
infatti il rapporto tra il cateto opposto e l’ipotenusa non dipende dalla lunghezza dei lati ma
solamente dall’angolo. Definiamo il coseno dell’angolo θ il rapporto tra il cateto adiacente e
l’ipotenusa
AB AB 0
cos θ = = .
AC AC 0
Per il teorema di Pitagora abbiamo che
(
AB = AC cos θ
e inoltre
2 2 2 2 2 2
AC = AB + BC ⇒ AC = AC sin2 θ + AC cos2 θ
BC = AC sin θ
ottenendo dunque l’importante relazione che vale sempre per ogni angolo θ
1 = sin2 θ + cos2 θ.
Definisco anche la tangente di θ come il rapporto tra il cateto opposto e il cateto adiacente, ovvero
BC BC AC sin θ
tan θ = = · =
AB AC AB cos θ
Notiamo che le funzioni seno, coseno e tangente prendono in ingresso un angolo e ritornano un
valore. Esistono le funzioni inverse definite come arcoseno, arcocoseno e arcotangente ed indicate
come arcsin, arccos e arctan e date da
arcsin(sin θ) = θ e arccos(cos θ) = θ e arctan(tan θ) = θ

Esempio 1.6

Del triangolo in figura sappiamo che AB = 1 e θ = π/6


C B
f Vogliamo calcolare la misura degli altri lati.
AB AB
Sappiamo che cos θ = , quindi AC = . Dalla tabella 1.1
√AC cos θ√
f 3 2 2 3
ricaviamo che cos θ = , quindi AC = √ = . Inoltre BC =
√ √ 2 3 3
θ 2 31 3
AC sin θ = = .
3 2 3
A

–9–
Lezione I Introduzione

α sin(α) cos(α) tan(α)




6− 2
√ √ √
6+ 2

π/12 = 15 4 4 2− 3
√ p √ q √
10+2 5
π/10 = 18◦ 5−1
4 4
5−2 5
√ √5
π/6 = 30◦ 1
√2 √2
3
3
3

π/4 = 45◦ √2
2
2
2
1

π/3 = 60◦ 2
3 1
2 3
π/2 = 90◦ 1 0 non esiste
π = 180◦ 0 −1 0
3π/2 = 270◦ −1 0 non esiste
2π = 360◦ 0 1 0

Tabella 1.1: Seno, coseno e tangente di angoli notevoli.

Seno, coseno e tangente per angoli maggiori di π/2


La definizione data precedentemente si basa sulla costruzione di un triangolo rettangolo di angoli
θ, π/2 e π/2 − θ

π/2 − θ

π/2
θ

come estendere la definizione per angoli maggiori di π/2? Per questo dobbiamo usare la circonfe-
renza goniometrica centrata nell’origine e di raggio unitario.

yP

θ
0 xP

L’ipotenusa del triangolo OP = 1 dato che il raggio è unitario, e definisco


yP xP
sin θ = = yP e cos θ = = xP
1 1
Tale approccio funziona anche per angoli maggiori di π/2, infatti per il secondo quadrante abbiamo

– 10 –
Lezione I Introduzione

yP
θ
xP
0

In questo caso otteniamo che

sin θ = yP > 0 e cos θ = xP < 0.

Così come funziona anche per angoli del terzo quadrante

θ
xP
0
yP

Infatti abbiamo che

sin θ = yP < 0 e cos θ = xP < 0.

Infine anche nel quarto quadrante possiamo applicare l’approccio proposto ed ottenere

θ
xP
0

yP

Avendo che

sin θ = yP < 0 e cos θ = xP > 0.

Riduzione al primo quadrante


Come possiamo quindi calcolare seno e coseno di angoli non acuti, supponendo di conoscerli per
tutti gli angoli minori di 90◦ ? Consideriamo le costruzioni in figura 1.1.

a) Se α ∈ ( π2 , π] il punto P individuato da α sulla circonferenza unitaria si trova nel secondo


quadrante. Si deduce che, essendo seno e coseno definiti rispettivamente come sin α = yP
e cos α = xP l’angolo α avrà seno positivo e coseno negativo. Per ricavarne il valore è
conveniente ricondurre α ad un angolo acuto β ∈ (0, π2 ) noto con la costruzione geometrica
in figura 1.1-b. Si osservi che i triangoli OP H e OP 0 H 0 sono congruenti perché hanno due lati

– 11 –
Lezione II Introduzione

e l’angolo compreso uguali: l’ipotenusa, pari a 1, P H = P 0 H 0 per costruzione e β = π − α,


quindi OH = OH 0 . Quindi i due angoli hanno seno e coseno uguali fra loro in modulo, in
particolare
cos(α) = − cos(β)
(1.2)
sin(α) = sin(β)
Si consideri ad esempio l’angolo α = 2π
3 . Otteniamo l’angolo acuto corrispondente, β =

π − α = 3 . Sappiamo che cos( 3 ) = 2 e sin( 3 ) = 2 , quindi sfruttando le relazioni (1.2)
π π 1 π 3

otteniamo che
    √
2π 1 2π 3
cos =− , sin = .
3 2 3 2

b) Se α ∈ (π, 3π2 ] il punto P individuato da α sulla circonferenza unitaria si trova nel terzo
quadrante, quindi in questo caso l’angolo α avrà seno e coseno negativi. Per ricavarne
il valore troviamo un angolo acuto β ∈ (0, π2 )) noto con la costruzione in figura 1.1-c. I
triangoli OP H e OP 0 H 0 sono congruenti perché hanno due angoli e il lato compreso uguali:
β = α − π, OP\ H = OP \ 0 H 0 in quanto angoli alterni interni per costruzione, e l’ipotenusa

pari a 1. Di conseguenza OH = OH 0 e P H = P 0 H. Quindi i due angoli hanno seno e coseno


uguali fra loro in modulo, in particolare

cos(α) = − cos(β)
(1.3)
sin(α) = − sin(β)

Si consideri ad esempio l’angolo α = 5π


4 . Otteniamo l’angolo acuto corrispondente, β =

α − π = π4 . Sappiamo che cos( π4 ) = sin π4 = 22 , quindi sfruttando le relazioni (1.3)
otteniamo che
  √   √
5π 2 5π 2
cos =− , sin = .
4 2 4 2

c) Infine se α ∈ ( 3π
2 , 2π] il punto P si trova nel quarto quadrante quindi l’angolo α avrà
seno negativo e coseno positivo. L’angolo acuto β ∈ (0, π2 )) di riferimento si ottiene come
β = 2π − α. Si osservi in figura 1.1-d che i triangoli OP H e OP 0 H 0 sono congruenti perché
hanno due lati e l’angolo compreso uguali: l’ipotenusa, pari a 1, OH = OH 0 per costruzione
e β = π − α, quindi P H = P H 0 . Quindi i due angoli hanno seno e coseno uguali fra loro in
modulo, in particolare
cos(α) = cos(β)
(1.4)
sin(α) = − sin(β)

Si consideri ad esempio l’angolo α = 11π


. Otteniamo l’angolo acuto corrispondente, β =
√6
2π − α = π6 . Sappiamo che cos( π6 ) = 2 e
3
sin( π3 ) = 12 , quindi sfruttando le relazioni (1.2)
otteniamo che
  √  
11π 3 11π 1
cos = , sin =− .
6 2 6 2

– 12 –
Lezione II Introduzione

P P0 P0

yP
α α
β β
xP H xP
H 0 H0 0 H0

yP

a) b)

P0

α
β H0 = H
0 xP

yP

c)

Figura 1.1: Riduzione al primo quadrante di angoli α ∈ (0, 2π]

– 13 –
. Lezione II

Vettori e operazioni vettoriali

Vettori
Esistono grandezze che possono essere completamente descritte da un solo numero, insieme all’uni-
tà di misura associata. Per esempio la temperatura, massa, pressione. Tale grandezze si chiamano
grandezze scalari. Altre grandezze più complesse come: lo spostamento, la velocità e la forza sono
caratterizzate da un modulo (o intensità), una direzione e un verso. Tali grandezze sono anche
definite come grandezze vettoriali.
Esistono molte definizioni di vettore, alcune più astratte di altre, secondo l’ambito di interesse.
Da un punto di vita geometrico un vettore è un’entità definita tramite un modulo, una direzione
e un verso. Solitamente i vettori si rappresentano con una freccia e sono indipendenti dalla loro
collocazione nello spazio, a meno di specificare il punto di applicazione (“di partenza”).

Nella prima coppia i vettori hanno la stessa direzione e verso ma diverso modulo. Nella seconda
coppia hanno stessa direzione ma verso opposto e modulo diverso, mentre nell’ultima coppia i due
vettori hanno direzioni diverse.
Notazione: i vettori generalmente si indicano con lettere minuscole in grassetto, con una freccia o
sottolineati

v oppure ~v oppure v.

Indichiamo con il termine modulo la lunghezza del vettore, indicata con |v| o con kvk. Il vettore
nullo v è tale per cui kvk = 0, mentre il vettore opposto a v è il vettore −v tale per cui ha la
direzione e modulo di v ma il verso opposto.

−v

Somma e differenza di vettori


I vettori vengono sommati, da un punto di vista geometrico, con la regola del parallelogramma
Lezione II Vettori e operazioni vettoriali

a+b

a
Si costruisce quindi un parallelogramma a partire da a e b, e il vettore somma a + b è la diagonale.
La differenza di vettori a − b può essere scritta come a + (−b). Graficamente risulta

b
a

−b a−b

Ora consideriamo un sistema di riferimento, per il momento bidimensionale, e il vettore v applicato


all’origine. Indichiamo con vx la proiezione di v sull’asse delle ascisse e vy la proiezione di v sull’asse
delle ordinate.

vy v

O vx x

Sia vx sia vy sono numeri reali e sono detti componenti del vettore v lungo gli assi. Un vettore dal
punto di vista algebrico è semplicemente la coppia (in 2D) di valori vx e vy . È possibile scrivere
un vettore come (vettore) riga o come (vettore) colonna, rispettivamente abbiamo
 
v
vriga = [vx , vy ] oppure vcolonna = x
vy

tuttavia la scelta consueta è considerare i vettori come vettori colonna. Nel seguito indicheremo i
vettori come vettori colonna senza doverlo esplicitare ogni volta. Esiste un’operazione che permette
di trasformare un vettore riga in vettore colonna, è la trasposizione, indicata dall’apice > e definita
come
 
v
[vx , vy ] = x
>
vy

In tre dimensioni ho analogamente tre componenti vx , vy e vz rappresentate come

– 15 –
Lezione II Vettori e operazioni vettoriali

vz
O y
vx
vy
x
In questo modo la rappresentazione algebrica del vettore risulta v = [vx , vy , vz ]> . La forma
algebrica dei vettori facilita notevolmente molti calcoli, infatti il modulo (o norma) del vettore v
è dato dal teorema di Pitagora come
q q
kvk = vx2 + vy2 oppure kvk = vx2 + vy2 + vz2 .

Il vettore opposto si ottiene cambiando di segno alle componenti, ovvero


 
−vx
−v = −vy 
−vz

Il vettore nullo ha tutte le componenti nulle.


La somma è ottenuta sommando le componenti, ovvero
     
ax bx ax + bx
a= e b= ⇒ a+b=
ay by ay + by
Tale espressione è equivalente alla regola del parallelogramma, ma non richiede costruzioni geo-
metriche.

by
b

ay a bx
ax x

Esempio 2.1

Dati i vettori
     
2 0 2
a= e b= ⇒ a+b=
1 1 2

– 16 –
Lezione II Vettori e operazioni vettoriali

Punti e vettori
Per ogni punto del piano o dello spazio P posso scrivere il vettore p che, spiccato dall’origine
O, indica il punto P . Alternativamente, posso vedere il vettore p come congiungente l’origine al
punto P . Le componenti di questo vettore sono uguali alle coordinate di P
 
x
p= p
yp

y
P

Consideriamo ora due punti A e B, puntati da vettori a e b


   
x x
a= a e b= b .
ya yb

Allora il vettore differenza a − b è il vettore che va dal punto B al punto A, mentre il vettore
differenza b − a è il vettore che va dal punto A al punto B. Avendo
   
xa − xb xb − xa
a−b= inoltre b − a =
ya − yb yb − ya

Versori
Il versore associato ad un vettore v si indica di solito con v̂ ed è un vettore con direzione uguale a
v, verso uguale a v e modulo (o norma) unitario kv̂k = 1. Tale vettore viene calcolato, partendo
da v, dividendo ogni componente per il modulo, come
v 
x
kvk  >
 vy  vx vy vz
v̂ =  kvk  = , , ,
vz kvk kvk kvk
kvk

infatti risulta che


s
vx2 vy2 vz2
kv̂k = 2 + 2 + 2 = 1.
kvk kvk kvk

I versori vengono comunemente utilizzati per indicare una direzione. Come caso notevole abbiamo
i vettori che identificano gli assi cartesiani, essi sono
     
1 0 0
i = 0 j = 1 k = 0
0 0 1

il primo per indicare l’asse delle ascisse x, il secondo per l’asse delle ordinate y e l’ultimo per
indicare l’asse delle quote z. A volte tali vettori vengono indicati anche con i simboli e1 , e2 e e3
al posto di i, j e k rispettivamente. Graficamente abbiamo

– 17 –
Lezione II Vettori e operazioni vettoriali

j y
i

Prodotto tra un vettore e uno scalare


Consideriamo uno scalare, ovvero un numero reale, λ ∈ R e il vettore v = [vx , vy ]> . Vogliamo
calcolare il prodotto tra λ e v. Esso risulta
   
vx λvx
ω = λv = λ =
vy λvy

ossia moltiplico tutte le componenti del vettore per λ. Notiamo che tale approccio è valido anche
nello spazio tridimensionale, dove le componenti del vettore sono 3.

Esempio 2.2

Consideriamo il seguente vettore v = [1, 2]> e differenti valori di λ, ovvero λ1 = 1, λ2 = 2, λ3 = −1


e λ4 = 0. Il prodotto risulta

ω1 = λ1 v = v
   
1 2
ω2 = λ2 v = 2 =
2 4
ω3 = λ3 v = −v
ω4 = λ4 v = 0

Il terzo vettore ω3 è il vettore opposto a v mentre l’ultimo ω4 è il vettore nullo. Graficamente


abbiamo

2v

v
x
−v

Notiamo dell’esempio precedente che tutti i vettori ω ottenuti come prodotto tra λ e v sono
paralleli fra loro, ovvero hanno la stessa direzione. Infatti, possiamo dire che due vettori a e b
sono paralleli fra loro se posso trovare un λ tale che

a = λb

– 18 –
Lezione III Vettori e operazioni vettoriali

Esempio 2.3

Consideriamo i due vettori a e b dati da


 1  
−2 1
a= e b=
−1 2

tali vettori sono paralleli, ovvero soddisfano a = λb, considerando λ = − 12 .

Osserviamo che un qualsiasi vettore v = [vx , vy , vz ]> si può scrivere usando i versori degli assi
cartesiani insieme al prodotto per scalari e alla somma tra vettori, infatti sussiste la seguente
decomposizione
             
1 0 0 vx 0 0 vx
v = vx i + vy j + v z k = vx 0 + vy 1  + vz 0 =  0  v
+ y +   0  = vy  = v.

0 0 1 0 0 vz vz

– 19 –
. Lezione III

Prodotto scalare e proiezioni

Prodotto scalare
Abbiamo visto precedentemente come moltiplicare un vettore per uno scalare. Il prodotto scalare
è un’operazione che coinvolge due vettori e dà come risultato uno scalare. Si indica come a · b e,
ad esempio in fisica, si usa per calcolare il lavoro di una forza: ovvero forza per spostamento. Il
prodotto scalare è un numero reale positivo o negativo. Esso viene calcolato nel seguente modo

a · b = kak kbk cos θ,

dove θ è l’angolo compreso tra i due vettori.

θ
a
Il prodotto scalare soddisfa le seguenti proprietà notevoli

• commutativa a · b = b · a

• modulo a · a = kak
2

• distributiva a · (b + c) = a · b + a · c ed inoltre (αa) · b = α(a · b)

In base all’angolo tra i due vettori possiamo determinare se il loro prodotto scalare risulta positivo,
negativo oppure nullo. Abbiamo
b
θ
π
θ< angolo acuto cos θ > 0 a·b>0 a
2 b
π
θ > angolo ottuso cos θ < 0 a·b<0 θ
2 a
π
θ = angolo retto cos θ = 0 a · b = 0. b
θ
2 a

Il calcolo del prodotto scalare per vettori in forma algebrica risulta


   
a b
a · b = x · x = ax bx + ay by ,
ay by

dove osserviamo che il risultato è uno scalare. Per vettori di tre componenti, in 3D, abbiamo
   
ax bx
a · b = ay  · by  = ax bx + ay by + az bz .
az bz
Lezione III Prodotto scalare e proiezioni

Una possibile applicazione del prodotto scalare è per capire se due vettori sono perpendicolari (o
ortogonali) o meno, infatti

a·b=0 ⇐⇒ a ⊥ b.

Infatti sappiamo che a · b = kak kbk cos θ = 0 questo implica che se a e b non sono il vettore nullo,
allora abbiamo necessariamente che cos θ = 0 cioè i vettori sono ortogonali, ovvero formano un
angolo di π/2.

Esempio 3.1

Dati i vettori a = [1, 1]> e b = [1, −1]> determinare se sono perpendicolari. Utilizzando il prodotto
scalare abbiamo

a·b=1·1−1·1=0

e quindi i vettori sono perpendicolari.

x
b

In generale, sfruttando il prodotto scalare possiamo calcolare l’angolo θ compreso tra due vettori,
sfruttando la formula
a·b
a · b = kak kbk cos θ ⇒ cos θ =
kak kbk

dato che siamo in grado di calcolare il valore del prodotto scalare (a partire dalle componenti dei
vettori) e dei moduli (con il teorema di Pitagora). Per calcolare l’angolo possiamo quindi invertire
la funzione cos ed ottenere
a·b
θ = arccos
kak kbk

Ricordiamo che arccos(cos(θ)) = θ!

Esempio 3.2

Consideriamo i due vettori a = [2, 0]> e b = [−1, 1]> , calcolare l’angolo che essi formano.
Calcoliamo quindi il loro prodotto scalare e i moduli, abbiamo

a · b = −2 kak = 2 kbk = 2,

otteniamo che

−2 2
cos θ = √ = − .
2 2 2

– 21 –
Lezione III Prodotto scalare e proiezioni

L’angolo risulta quindi


√ !
2 3
θ = arccos − ⇒ θ= π
2 4

√ √
Infatti sappiamo che cos π4 = 22 ; nel nostro caso il coseno risulta − 22 quindi l’angolo è π− π4 = 34 π.
Perché non 54 π? In realtà i due vettori formano due angoli la cui somma è 2π: indichiamo, fra i
due, quello < π.
y

b
θ
a
x

Proiezioni
Un’altra applicazione del prodotto scalare è il calcolo delle proiezioni di vettori. Supponiamo di
voler calcolare la proiezione di b sulla direzione definita dal vettore a, indicata da ba . Notiamo
che quest’ultimo è un numero scalare ed identifica la lunghezza con segno della proiezione.

b
b θ a
a
θ
ba ba
ba risulta positivo se l’angolo θ < π/2 mentre negativo se θ > π/2, e viene calcolato nel seguente
modo. Noi sappiamo che
a·b
ba = kbk cos θ inoltre cos θ =
kak kbk
e quindi otteniamo che
a·b a·b
ba = kbk = .
kak kbk kak
Notiamo inoltre che dato il versore â associato ad a abbiamo che
a
â = ⇒ ba = b · â,
kak
quindi per calcolare la proiezione basta fare il prodotto scalare con il versore della direzione voluta.
Analogamente possiamo quindi calcolare anche la proiezione di a sulla direzione individuata dal
vettore b, ovvero

ab = a · b̂.

– 22 –
Lezione IV Prodotto scalare e proiezioni

Esempio 3.3

Consideriamo i vettori a = [1, 1]> e b = [0, 1]> , calcolare le proiezioni di a su b e viceversa.

Per la proiezione di b su a calcoliamo


√   √     √
a a 2 1 2 0 1 2
â = =√ = ⇒ ba = · =
kak 2 2 1 2 1 1 2

b
a
ba
x

Mentre la proiezione di a su b risulta


   
b 1 0
b̂ = =b ⇒ ab = · =1
kbk 1 1

b
a
ab

Nel caso in cui volessi ottenere un vettore che abbia la stessa direzione di a ma lunghezza pari ad
ba , posso semplicemente ottenerlo come

ba â

– 23 –
Lezione IV Prodotto scalare e proiezioni

b a


ba baâ

– 24 –
. Lezione IV

Prodotto vettore

Prodotto vettore
Fino ad ora abbiamo definito il prodotto di uno scalare per un vettore b = λa e del prodotto
scalare tra due vettori a · b = α. Il prodotto vettore è definito tra due vettori e restituisce come
risultato un vettore, si indica

a × b = c.

Tale operazione è valida solo nello spazio e non nel piano, dato che il vettore risultate c è perpen-
dicolare sia al vettore a che a b.

b
θ
a

Quindi avrò le seguenti relazioni

a · c = a · (a × b) = 0 e b · c = b · (a × b) = 0

Come accennato la direzione è perpendicolare al piano formato dai due vettori a e b, il verso
segue la regola della mano destra in cui a è sul pollice, b sull’indice e risulta che c è sul medio.
Graficamente

c medio

b indice

a pollice
Infine, il modulo del vettore c risulta dato da

kck = kak kbk sin θ,


Lezione IV Prodotto vettore

dove θ è l’angolo compreso tra a e b. Notiamo che sussiste la seguente relazione, come conseguenza
del verso di c dato dalla regola della mano destra
a × b = −b × a,
ovvero il prodotto vettoriale è anti-simmetrico. Una conseguenza immediata di tale relazione è
che a × a = 0.
Il prodotto vettore risulta nullo nel caso in cui kak = 0 oppure se kbk = 0, inoltre se l’angolo
compreso risulta θ = 0, π, 2π, mentre risulta massimo se i vettori sono ortogonali, ovvero se θ = π/2
e quindi sin θ = 1.

Esempio 4.1

Vediamo il seguente esempio che viene dalla fisica, il momento di una forza, ovvero la capacità di
una forza di imprimere una rotazione.

b
dove f rappresenta la forza e b il braccio della forza. Abbiamo che il momento si calcola come

m=b×f

e risulta un vettore uscente dal foglio (ortogonale a f e b). Maggiore è il braccio b e maggiore è
l’effetto a pari forza f . Se consideriamo la configurazione

b
infatti non abbiamo nessuna rotazione possibile.

L’interpretazione geometrica del prodotto vettore è che l’area del parallelogramma formato dai
due vettori a e b risulta essere pari al modulo del vettore c.

A b
kbk sin θ

a a

Infatti l’area di un parallelogramma è data da A = base × altezza, ed in questo caso risulta che la
base è data da kak mentre l’altezza è data da kbk sin θ. Otteniamo quindi che
A = ka × bk .
Analogamente l’area del triangolo formato dai due vettori risulta pari a
ka × bk
A= .
2

– 26 –
Lezione V Prodotto vettore

A
b

Calcolo del prodotto vettore usando la scomposizione sulla base


Per la base canonica i, j e k, abbiamo le seguenti relazioni notevoli

i×j =k e j×k =i e k × i = j.

Inoltre dati due vettori a e b possiamo scomporli sulla base canonica come

a = ax i + ay j + az k e b = bx i + by j + bz k.

Il prodotto vettore tra a e b risulta quindi dato da

a × b = (ax i + ay j + az k) × (bx i + by j + bz k)
= ax bx i × i + ax by i × j + ax bz i × k+
ay bx j × i + ay by j × j + ay bz j × k+
az bx k × i + az by k × j + az bz k × k
= ax by i × j − ax bz k × i − ay bx i × j+
ay bz j × k + az bx k × i − az by j × k
= ax by k − ax bz j − ay bx k + ay bz i + az bx j − az by i
 
ay bz − az by
= (ay bz − az by )i − (ax bz − az bx )j + (ax by − ay bx )k =  az bx − ax bz  .
ax by − ay bx

Nota: esiste un altro metodo per il calcolo del prodotto vettore che si basa sulle matrici, e sarà
introdotto in seguito.

– 27 –
. Lezione V

Matrici e operazioni matriciali

Matrici
La matrice è un insieme di numeri scalari organizzati in una tabella. Le matrici solitamente
vengono indicate con lettere maiuscole: A, M ...

Esempio 5.1

Un esempio di matrice è dato da


 
1 2 3
A= .
4 π 6

La matrice in esempio ha due righe e tre colonne. La posizione di ogni elemento è identificata da
due indici: indice riga e indice colonna. In generale consideriamo una matrice con m righe ed n
colonne e affermiamo che A è m × n, o detto in maniera più formale abbiamo che A ∈ Rm×n . Se
m = n allora matrice è detta quadrata, altrimenti è detta rettangolare. Abbiamo che
 
a11 a12 . . . a1n
 a21 a22 . . . a2n 
A= . .. ..  .
 ..
 
. ... . 
am1 am2 ... amn

L’elemento aij è un singolo elemento della matrice A, dove indichiamo con i l’indice di riga, con
1 ≤ i ≤ m, e con j l’indice di colonna, con 1 ≤ j ≤ n.
La trasposta di A si indica con A> e si ottiene scambiando righe e colonne, abbiamo A è m × n e
quindi A> è n × m.

Esempio 5.2

Consideriamo la matrice data da


 
7 22 3.3
A= .
4 π −2.1

La sua trasposta è data dalla matrice


 
7 4
A> =  22 π .
3.3 −2.1

Se A = A> la matrice si dice simmetrica, naturalmente tale matrice deve essere quadrata.
Lezione V Matrici e operazioni matriciali

Esempio 5.3

Consideriamo la matrice data da


 
2 1 0 0
1 2 1 0
A=
0
.
1 2 1
0 0 1 2

Tale matrice è simmetrica in quanto A = A> .

Nel caso di matrici quadrate possiamo definire la diagonale principale, formata da tutti gli aii ,
ossia da tutti gli elementi il cui indice riga è uguale all’indice colonna. Inoltre una matrice si dice
diagonale se, al di fuori della diagonale principale, tutti gli elementi sono nulli.

Esempio 5.4

Data la matrice A la sua diagonale principale è data da tutti gli elementi colorati in rosso
 
1 2 3
A = 4 5 6
7 8 9

Inoltre le seguenti matrici sono diagonali


   
1 0 0 7 0 0
B = 0 −1 0  e C = 0 0 0 .
1
0 0 2 0 0 11

Un caso particolare di matrice diagonale è la matrice identità, si indica con I ed è diagonale con
tutti gli elementi pari ad 1.

Esempio 5.5

Le seguenti matrici sono identità


 
  1 0 0
1 0
I2 = e I3 = 0 1 0
0 1
0 0 1

dove abbiamo indicato col numero a pedice la dimensione della matrice.

La matrice nulla è quella matrice in cui tutti gli elementi sono nulli, ovvero aij = 0 per ogni i e j.
Le matrici triangolari sono un altro caso particolare di matrice, ed hanno elementi non nulli sopra
o sotto la diagonale principale. Nel primo caso si parla di matrice triangolare superiore e inferiore
nel secondo caso. Rispettivamente, abbiamo
   
a11 0 ... 0 a11 a12 . . . a1n
 a21 a22 . . . 0   0 a22 . . . a2n 
 .. .. ..  e  .. .. ..  .
   
 . . ... .   . . ... . 
am1 am2 ... amn 0 0 ... amn

– 29 –
Lezione V Matrici e operazioni matriciali

Operazioni tra matrici


Si può fare la somma o la sottrazione tra matrici solo se A e B hanno le stesse dimensioni, ovvero
se il numero di righe e colonne della prima è uguale al numero di righe e colonne della seconda.
In questo caso si ha S = A + B oppure D = A − B, in cui ogni elemento di S (rispettivamente D)
è la somma (differenza) dei corrispondenti elementi di A e di B. Abbiamo che

sij = aij + bij e dij = aij − bij .

Esempio 5.6

Date le matrici A e B
   
1 4 0 −2
A = −2 0 e B = 1 1
5 3 1 0

Le matrici somma S e differenza D sono date da


   
1 2 1 6
S = −1 1 e D = −3 −1
6 3 4 3

La somma e la sottrazione di matrici hanno le seguenti proprietà:

• commutativa cioè A + B = B + A
• associativa cioè (A + B) + C = A + (B + C).

Possiamo moltiplicare uno scalare per una matrice, il risultato è dato da una nuova matrice, delle
stesse dimensioni di quella di partenza, in cui tutti gli elementi sono moltiplicati per quello scalare.
Ovvero kA equivale a moltiplicare per k gli elementi aij di A.

Esempio 5.7

La moltiplicazione per lo scalare k = 2 della matrice risulta


   
1 2 2 4
2 = .
2 4 4 8

Prodotto fra matrici


Il prodotto tra due matrici è ancora una matrice P data da P = AB. Tale operazione si può fare
solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda matrice.
Se abbiamo A ∈ Rm×n e B ∈ Rp×q allora

• l’operazione si può fare se n = p


• la matrice prodotto risulterà P ∈ Rm×q .

Tale prodotto è comunemente chiamato anche righe per colonne, infatti per trovare l’elemento pij
devo moltiplicare la riga i-esima di A con la colonna j-esima di B.

– 30 –
Lezione V Matrici e operazioni matriciali

Esempio 5.8

Consideriamo le seguenti matrici


 
  1 0
1 2 3
A= e B = 3 5
0 −1 0
0 −4

La matrice A è 2 × 3 mentre la matrice B è 3 × 2, e quindi è possibile farne il prodotto. Tale


risulta
 
  1 0  
1 2 3  7 −2
P = 3 5 = 
0 −1 0 −3 −5
0 −4

In quanto ogni elemento è dato da


   
  1   0
p11 = 1 2 3 3 = 1 + 6 = 7 p12 = 1 2 3  5  = 10 − 12 = −2
0 −4
   
  1   0
p21 = 0 −1 0 3 = −3 p22 = 0 −1 0  5  = −5
0 −4

È importante notare che AB 6= BA, cioè il prodotto fra matrici non è commutativo.

Esempio 5.9

Se consideriamo le matrici del precedente esempio abbiamo che


   
1 0   1 2 3
1 2 3
P = 3 5  = 3 1 9 .
0 −1 0
0 −4 0 4 0

Vettori come matrici


I vettori si possono vedere come particolari matrici con una riga o una colonna, infatti abbiamo

vettore riga → a = 1 2 3
 
 
1
vettore colonna → b = 2
3

Vediamo con il seguente esempio cosa ottengo se moltiplico una matrice per un vettore, con il
prodotto righe per colonne,
        
2 0 −1 0 −1 2 −1
v= e A= ⇒ Av = = .
1 1 0 1 0 1 2

– 31 –
Lezione V Matrici e operazioni matriciali

Av

v
x

In questo caso particolare abbiamo una rotazione di π/2 del vettore v. Le matrici possono quindi
rappresentare delle trasformazioni geometriche, in questo caso una rotazione. Nel caso particolare
in cui considerassi la matrice identità avrei che
      
1 0 1 0 2 2
I= ⇒ Iv = = ,
0 1 0 1 1 1
ovvero il vettore v rimane invariato, da qui il nome identità della matrice.
Si indica con A−1 la matrice inversa di A: essa, se esiste, è la matrice tale per cui A−1 A = AA−1 =
I.
Determinante di una matrice
Il determinante di una matrice det(A) è una funzione che associa ad ogni matrice quadrata un
numero scalare. Se abbiamo che det(A) = 0 allora la matrice A si dice singolare, ed in questo caso
non esiste A−1 . Se la matrice A è 1 × 1 allora otteniamo

A = [a11 ] ⇒ det(A) = a11 ,

mentre se è 2 × 2 abbiamo
 
a a12
A = 11 ⇒ det(A) = a11 a22 − a12 a21 .
a21 a22

In generale, per matrici quadrate di dimensione generica, si una una definizione ricorsiva data dal
teorema di Laplace. Sia A una matrice n × n, allora scelta una qualsiasi riga i di A abbiamo
n
X
det(A) = (−1)i+j aij det(Aij )
j=1

dove Aij è la sotto-matrice che ottengo di volta in volta eliminando la riga i e la colonna j. Tale
matrice ha dimensione (n − 1) × (n − 1) e quindi l’idea è di ripetere il procedimento finchè ho
Aij come 2 × 2 e così calcolare il determinante con la formula sopra fornita. Il termine (−1)i+j fa
cambiare di segno i vari contributi secondo una precisa regola,
(−1)2 (−1)3 (−1)4 . . . (−1)n+1 + − + . . . (−1)n+1
   
(−1)3 (−1)4 (−1)5 . . . (−1)n+2  =  − + − . . . (−1)n+2 
... ... ... ... ... ... ... ... ... ...

Esempio 5.10

Consideriamo la seguente matrice


 
2 −1 0
A = 1 0 1
0 1 3

– 32 –
Lezione V Matrici e operazioni matriciali

Per il calcolo del determinante con il teorema di Laplace considero la riga i = 1. Devo sommare
tre contributi per j = 1, 2, 3. Abbiamo per j = 1
   
0 1 0 1
a11 = 2 (−1)2 = 1 A11 = ⇒ 1 · 2 · det = 2(0 · 3 − 1 · 1) = −2,
1 3 1 3

per la seconda colonna, ovvero per j = 2 otteniamo


   
1 1 1 1
a12 = −1 (−1)3 = −1 A12 = ⇒ −1 · (−1) · det = 1(1 · 3 − 1 · 0) = 3,
0 3 0 3

ed infine per la terza colonna j = 3 abbiamo


   
4 1 0 1 0
a13 = 0 (−1) = 1 A13 = ⇒ 1 · 0 · det = 0.
0 1 0 1

Il determinante di A risulta quindi

det(A) = −2 + 3 + 0 = 1.

Alcune proprietà del determinante:

• Se la matrice A ha una riga o una colonna tutta nulla allora det(A) = 0.


• Se due righe o colonne sono uguali o proporzionali allora det(A) = 0.
• Se A è diagonale o triangolare allora il determinante si calcola
Y
det(A) = aii = a11 a22 a33 . . . ,

ovvero risulta il prodotto della diagonale.


• det(A) = det(A> ): come conseguenza posso usare il teorema di Laplace anche partendo da
una colonna della matrice invece che da una riga.
• Infine abbiamo il teorema di Binet che fornisce la seguente relazione

det(AB) = det(A) det(B).

Sfruttando il teorema di Binet posso calcolare il determinante di A−1 , infatti


1
det(AA−1 ) = det(I) ⇒ det(A) det(A−1 ) = 1 ⇒ det(A−1 ) = .
det(A)

Esiste inoltre una formula per calcolare il determinante di matrici 3 × 3, utilizzando la formula di
Sarrus o espansione dei cofattori. Consideriamo la matrice A
 
a11 a12 a13
A = a21 a22 a23  .
a31 a32 a33

La regola di Sarrus orla la matrice A a destra con le prime due colonne di A per ottenere
a11 a12 a13 a11 a12
a21 a22 a23 a21 a22 ,
a31 a32 a33 a31 a32

– 33 –
Lezione VI Matrici e operazioni matriciali

il calcolo quindi del determinante divene quindi la moltiplicazione tra i termini associati a ciascuna
linea e sommati o sottratti secondo la seguente regola: blu sommati per le linee blu e sottratti per
quelle rosse. Abbiamo quindi
a11 a12 a13 a11 a12
det(A) = a21 a22 a23 a21 a22
a31 a32 a33 a31 a32

ossia se sviluppiamo i termini abbiamo che

det(A) = a11 a22 a33 + a12 a23 a31 + a13 a21 a32 − a13 a22 a31 − a11 a23 a32 − a12 a21 a33

Prodotto vettore
Il prodotto vettore tra due vettori a e b può essere calcolato tramite il determinante (formale)
della matrice seguente
 
i j k
a × b = det a1 a2 a3 
b1 b2 b3

Il calcolo proposto è solo formale in quanto gli elementi di una matrice possono essere solo numeri
e non vettori. Tuttavia, procedendo solo formalmente ed usando la regola di Sarrus otteniamo il
risultato già noto dato da
 
i j k
a × b = det a1 a2 a3  = a2 b3 i + a3 b1 j + a1 b2 k − a2 b1 k − a1 b3 j − a3 b2 i =
b1 b2 b3
 
a2 b3 − a3 b2
= (a2 b3 − a3 b2 )i + (a1 b3 − a3 b1 )j + (a1 b2 − a2 b1 )k = a1 b3 − a3 b1  .
a1 b2 − a2 b1

– 34 –
. Lezione VI

Trasformazioni geometriche

Trasformazioni geometriche
Una trasformazione è una corrispondenza che associa ad un punto P del piano o dello spazio un
punto trasformato P 0 . Graficamente abbiamo che

y y P0
P
−−→
ω = OP 0
−→
v = OP

O x O x
I vettori v e w hanno due o tre componenti e possono essere visti anche come matrici 2 × 1 o 3 × 1.
Consideriamo inizialmente trasformazioni che si possono scrivere come

w = Av

dove A è la matrice che rappresenta la trasformazione, è 2 × 2 se siamo nel piano mentre è 3 × 3


se siamo nello spazio.
Il vettore spostamento del punto P al punto P 0 è dato da
−−→0 −−→0 −−→
P P = OP − OP = w − v = Av − v = (A − I)v.

Se un punto ha spostamento nullo durante la trasformazione è detto punto unito.


Vediamo ora come costruire la matrice A che rappresenta la trasformazione. Ogni vettore si può
scrivere scomposto sulla base. Avendo i, j e k i versori degli assi cartesiani, otteniamo che

v = vx i + vy j oppure v = vx i + vy j + vz k.

Sia A una generica matrice di trasformazione nello spazio


 
a11 a12 a13
A = a21 a22 a23 
a31 a32 a33

L’effetto della trasformazione data dalla matrice A sui versori degli assi cartesiani risulta
    
a11 a12 a13 1 a11
i∗ = a21 a22 a23  0 = a21 
a31 a32 a33 0 a31
Lezione VI Trasformazioni geometriche

per il secondo versore otteniamo


    
a11 a12 a13 0 a12
j ∗ = a21 a22 a23  1 = a22 
a31 a32 a33 0 a32
ed infine per il terzo abbiamo che
    
a11 a12 a13 0 a13
k∗ = a21 a22 a23  0 = a23  .
a31 a32 a33 1 a33
Posso scrivere quindi che la matrice A è data da
A = i∗ j ∗ k∗ ,
 

ovvero se riesco a determinare come i versori degli assi cartesiani vengono trasformati posso
determinare anche la matrice stessa di trasformazione A.
Trasformazione identità
Consideriamo ora il caso più semplice, ossia la trasformazione che lascia tutto invariato.

j j∗

i i∗
I versori degli assi trasformati sono quindi uguali ai versori degli assi originali, ovvero
     
1 0 0
i = i∗ = 0 e j = j ∗ = 1 e k = k∗ = 0 .
0 0 1
La matrice che realizza tale trasformazione è data quindi dalla matrice identità
 
1 0 0
A = i j ∗ k∗ = 0 1
 ∗ 
0 ⇒ w = Av = v,
0 0 1
ed in questo caso tutti i punti sono punti uniti.
Scaling di centro nell’origine
Lo scaling è una trasformazione che dilata o riduce le coordinate secondo fattori di scala. Il caso
più semplice è quello uniforme, in cui il fattore di scala è lo stesso in tutte le direzioni.

j∗

i i∗

– 36 –
Lezione VI Trasformazioni geometriche

La trasformazione per i versori cartesiani risulta quindi

i∗ = k 0 e j∗ = 0
   
k ,

dove k è il fattore di scala. La matrice S (nel piano) che realizza tale trasformazione è data da
      
k 0 k 0 vx kvx
S= ⇒ w = Sv = = .
0 k 0 k vy kvy

Il vettore trasformato w risulta parallelo al vettore originale v ed l’unico punto unito di questa
trasformazione è l’origine degli assi. Notiamo che la direzione di w è la stessa di v se k > 0 mentre
è opposta a v se k < 0.

Esempio 6.1

Consideriamo il quadrato ABCD di vertici A = 1, 1, B = (2, 1), C = (2, 2), D = (1, 2) a cui
vogliamo applicare lo scaling S dato da
 
2 0
S= .
0 2
−→
Tale trasformazione viene applicata su tutti i punti A, B, C e D (ai corrispondenti vettori OA
ecc.) che definiscono il quadrato per ottenere la figura trasformata. Abbiamo

y y

D0 C0
4

2 D C 2 A0 B0
1 A B

1 2 x 2 4 x
Osservazione: notiamo che la misura dei lati della figura raddoppia e che nessuno dei vertici
”resta al suo posto”, infatti anche la distanza dei punti dall’origine raddoppia.

Scaling non uniforme


A differenza dello scaling uniforme, lo scaling non uniforme ha un fattore di scalatura diverso per
ogni direzione.

j∗

i i∗
Le matrici di trasformazioni, nel piano e nello spazio, sono date da
 
  kx 0 0
kx 0
S= e S=0 ky 0 
0 ky
0 0 kz

– 37 –
Lezione VI Trasformazioni geometriche

Esempio 6.2

Considero un quadrato di lato 1 con un vertice pari all’origine degli assi

D C

A B x
Voglio trasformare tale figura con uno scaling non uniforme dato dalla matrice
 
3 0
S= .
0 12

I vertici del quadrato trasformato sono dati da


−−→0 −−→0
         
3 0 0 0 3 0 1 3
OA = = OB = =
0 12 0 0 0 12 0 0
−−→0 −−→0
         
3 0 1 3 3 0 0 0
OC = = 1 OB = = 1 .
0 12 1 2 0 12 1 2

Ottenendo così la seguente figura trasformata

D0 C0

A0 B0 x
L’area del rettangolo trasformato risulta quindi data da
1 3
Afinale = b · h = 3 · = mentre Ainiziale = b · h = 1 · 1 = 1.
2 2
Osserviamo che il det(S) = 32 .

Quanto osservato nel precedente esempio è valido in generale, infatti abbiamo che
Afinale Vfinale
|det(A)| = , nel piano |det(A)| = , nello spazio.
Ainiziale Viniziale
L’inversa della matrice di scaling S, ovvero quella matrice che riporta i punti trasformati da S ai
punti originali è data da
1
0 0
" # 
1 kx
0
S −1 = kx e nello spazio S −1 =  0 k1y 0 
0 k1y
0 0 k1z

– 38 –
Lezione VI Trasformazioni geometriche

y y

D C
S −1
D0 C0

A B x A0 B0 x

Rotazioni nel piano


Consideriamo inizialmente le rotazioni nel piano, i versori degli assi trasformati risultano
   
cos θ − sin θ
i∗ = e j∗ = ,
sin θ cos θ

ottenendo quindi che la matrice di trasformazione R che realizza la rotazione è data da


 
 ∗ ∗
 cos θ − sin θ
R= i j =
sin θ cos θ

j j∗

θ
+

i∗
θ
i

Esempio 6.3

Consideriamo il triangolo ABC con cateti unitari dato da

y C

A B x

e la rotazione di θ = π, ovvero
 
−1 0
S= .
0 −1

– 39 –
Lezione VI Trasformazioni geometriche

I vertici del triangolo trasformato A0 B 0 C 0 sono dati da


−−→0 −−→0
         
−1 0 0 0 −1 0 1 −1
OA = = OB = =
0 −1 0 0 0 −1 0 0
−−→0
    
−1 0 0 0
OC = =
0 −1 1 −1

Notiamo che il punto A è punto unito della trasformazione perché coincide con l’origine. Grafica-
mente otteniamo che

y C

B0
A = A0 B x

C0

La matrice che realizza la trasformazione inversa, cioè, nel caso dell’esempio, trasforma il triangolo
A0 B 0 C 0 nel triangolo ABC è data da una rotazione di angolo −θ, ovvero
   
cos(−θ) − sin(−θ) cos θ sin θ
R−1 (θ) = R(−θ) = =
sin(−θ) cos(−θ) − sin θ cos θ

dato che cos(−θ) = cos θ e che sin(−θ) = − sin θ. Notiamo che R−1 = R> : in questo caso si parla
di matrice ortogonale. Il determinante della matrice di rotazione è dato da

det(R) = cos2 θ + sin2 θ = 1,

ossia la rotazione mantiene le aree invariate.


Rotazioni nello spazio
Consideriamo le rotazioni intorno agli assi cartesiani x, y e z. La convenzione per il verso positivo
delle rotazioni seguono la regola della mano destra, graficamente

Consideriamo la rotazione Rx che realizza la seguente trasformazione sui versori degli assi cartesiani
     
1 0 0
i∗ = 0 e j ∗ = cos θ e k∗ = − sin θ .
0 sin θ cos θ

– 40 –
Lezione VI Trasformazioni geometriche

k
k∗

j
θ
j

i = i∗

Andando quindi a creare la matrice otteniamo


 
1 0 0
Rx = 0 cos θ − sin θ
0 sin θ cos θ

Per questa trasformazione i punti uniti sono tutti quelli appartenenti all’asse delle ascisse. La
seconda rotazione possibile nello spazio è data da Ry che ruota vettori intorno all’asse delle ordinate
y. Infatti abbiamo che

k
k∗

j = j∗

θ
i
i∗

Consideriamo la rotazione Ry che realizza la seguente trasformazione sui versori degli assi cartesiani
     
cos θ 0 sin θ
i∗ =  0  e j ∗ = 1 e k∗ =  0  .
− sin θ 0 cos θ

Andando quindi a creare la matrice otteniamo


 
cos θ 0 sin θ
Ry =  0 1 0 
− sin θ 0 cos θ

Per questa trasformazione i punti uniti sono tutti quelli appartenenti all’asse delle ordinate. Infine,
la terza rotazione possibile nello spazio è data da Rz che ruota vettori intorno all’asse delle quote
z. Infatti abbiamo che

– 41 –
Lezione VII Trasformazioni geometriche

k = k∗

j∗

θ
j

θ
i
i∗

Consideriamo la rotazione Rz che realizza la seguente trasformazione sui versori degli assi cartesiani
     
cos θ − sin θ 0
i∗ =  sin θ  e j ∗ =  cos θ  e k∗ = 0 .
0 0 1

Andando quindi a creare la matrice otteniamo


 
cos θ − sin θ 0
Rz =  sin θ cos θ 0
0 0 1

Per questa trasformazione i punti uniti sono tutti quelli appartenenti all’asse delle quote.

Osservazione: per rappresentare rotazioni intorno a assi diversi da x, y e z dobbiamo utilizzare


la composizione di più rotazioni, argomento che sarà illustrato in seguito.

– 42 –
. Lezione VII

Trasformazioni geometriche

Trasformazioni geometriche
Vi sono ulteriori trasformazioni geometriche che posso essere descritte tramite l’applicazione di
una matrice. Vediamone alcune.
Taglio o shear
Immaginiamo di applicare una forza di taglio che deforma un quadrato in un parallelogramma fino
a formare un angolo θ con l’asse delle y, come rappresentato nella figura seguente.

y y

x x
La matrice T di taglio può essere genericamente espressa come
 
t11 t12
T =
t21 t22

per capire come sono i vari coefficienti osservo cosa accade ai versori i e j, ovvero

j
j∗

i i∗
abbiamo quindi che i = [1, 0]
∗ >
e j = [tan θ, 1] e quindi la matrice di taglio T risulta

 
1 tan θ
T = .
0 1

Notiamo che il determinante della matrice è unitario, infatti è una matrice triangolare superiore
(ha elementi nulli sotto la diagonale) quindi il determinante è il prodotto degli elementi della
diagonale. Abbiamo quindi det T = 1 e quindi la trasformazione conserva l’area.
Lezione VII Trasformazioni geometriche

Esempio 7.1

Consideriamo il caso in cui l’angolo è dato da θ = π/4, la matrice di taglio in questo caso viene
 
1 1
T =
0 1

Riflessione
La riflessione si definisce rispetto ad una linea (in 2d) o rispetto ad un piano (in 3d), entrambi
passanti per l’origine degli assi.

P
n

P0

Consideriamo il punto P nel piano e calcoliamone il punto riflesso corrispondente P 0 tale che
−−→0
P H = P 0H e con P P ⊥ alla retta

Per caratterizzare il piano (o la linea) uso il vettore normale (ossia perpendicolare ad essi) n ed il
corrispondente versore n̂ dato da
n
n̂ = = [n̂x , n̂y ]> .
knk

Metodo 1
−−→
Calcoliamo la posizione del punto riflesso P 0 , ovvero il vettore OP 0 . Come step intermedio capiamo
−−→
la posizione di H, o il vettore OH:
−−→ −−→ −−→
OH = OP + P H.
−−→ −−→
Il vettore P H ha direzione perpendicolare al piano, verso opposto al versore n̂ e modulo |P H| =
−−→ −−→
OP · n̂ (dato dalla proiezione in direzione normale di OP ), quindi
−−→ −−→
P H = −(OP · n̂)n̂

quindi
−−→ −−→ −−→
OH = OP − (OP · n̂)n̂.

– 44 –
Lezione VII Trasformazioni geometriche


−→ P
OP

−−→
PH
H

P0
Per raggiungere il punto riflesso, dato che H è quello proiettato, devo sommare invece il doppio
−−→
di P H, ossa
−−→0 −−→ −−→ −−→ −−→
OP = OP + 2P H = OP − 2(OP · n̂)n̂.
A questo punto vorremmo “raccogliere” e ottenere un’espressione del tipo
−−→0 −−→
OP = ROP
dove R è la matrice cercata. Sfruttiamo il fatto che il prodotto scalare è commutativo:
−−→0 −−→ −−→ −−→ −−→ −−→ −−→
OP = OP − 2(OP · n̂)n̂ = OP − 2n̂(OP · n̂) = OP − 2n̂(n̂ · OP )
−−→ −−→
inoltre, visto che consideriamo vettori colonna, n̂ · OP = n̂> OP cioè il prodotto scalare equivale
al prodotto riga per colonna, quindi
−−→0 −−→ −−→ −−→ −−→ −−→
OP = OP − 2n̂(n̂> OP ) = OP − 2n̂n̂> OP = (I − 2n̂n̂> )OP

Abbiamo quindi trovato l’espressione della matrice di riflessione:


R = I − 2n̂n̂> ,
dove I è la matrice identità. Nel caso 2D otteniamo quindi
 2
1 − 2n̂2x
        
1 0   n̂x 1 0 n̂x n̂y n̂x −2n̂y n̂x
R= − 2 n̂x n̂y = −2 = .
0 1 n̂y 0 1 n̂x n̂y n̂2y −2n̂x n̂y 1 − 2n̂2y

Metodo 2

Un metodo alternativo per capire come è fatta la matrice di riflessione R consiste, come visto per
la rotazione, nell’osservare come si comportano i versori i, j (e k in 3D). Consideriamo il versore
i e cerco v tale che i∗ = i + v

n̂ n̂

j∗ i
i

i · n̂
i∗

i v

– 45 –
Lezione VII Trasformazioni geometriche

Il modulo di v è il doppio della lunghezza della proiezione i · n̂, ovvero 2i · n̂. La direzione di v è
data dal versore n̂ ed il verso è opposto a quello di n̂. Abbiamo quindi che
       2 
∗ 1 n̂x 1 n̂x
v = −2(i · n̂)n̂ ⇒ i = i − 2(i · n̂)n̂ = − 2n̂x = −2
0 n̂y 0 n̂x n̂y

abbiamo quindi determinato la prima colonna di R. Con ragionamenti analoghi possiamo deter-
minare la seconda colonna data dal vettore trasformato j ∗ , che risulta
       
0 n̂ 0 n̂ n̂
j ∗ = j − 2(j · n̂)n̂ = − 2n̂y x = − 2 x2 y .
1 n̂y 1 n̂y

La matrice di riflessione R risulta infine data da


 2
1 − 2n̂2x
  
∗ ∗ n̂x n̂x n̂y −2n̂x n̂y
R = [i , j ] = [i, j] − 2 2 = = I − 2n̂n̂> .
n̂x n̂y n̂y −2n̂x n̂y 1 − 2n̂2y

Calcolo del determinante

Calcoliamo il determinante della matrice di riflessione


2
det R = 1 − 2n̂2x − 2n̂2y + 4n̂2x n̂2y − 4n̂2x n̂2y = 1 − 2(n̂2x + n̂2y ) = 1 − 2 kn̂k = 1 − 2 = −1

E quindi otteniamo che il valore è sempre pari a -1, questo significa che l’area è conservata dopo
la trasformazione dato che
area finale
|det R| = .
area iniziale
Cerchiamo di capire con il seguente esempio il significato del valore negativo.

Esempio 7.2

Consideriamo la riflessione rispetto alla linea di normale n = [1, 1]> , abbiamo


"√ √ #>
n 1 2 2
n̂ = = √ [1, 1]> = , .
knk 2 2 2

La matrice di riflessione risulta quindi data da


"√ #
2 h√
    1 1
  
1 0 √ i 1 0 0 −1
R = I − 2n̂n̂> = − 2 √22 2 2 = − 2 21 2
1 =
0 1 2 2 0 1 2 2 −1 0
2

Consideriamo il quadrato seguente

y
D = (0, 1) C = (1, 1)

A B = (1, 0)
x

– 46 –
Lezione VII Trasformazioni geometriche

ed applichiamo la matrice di riflessione R a tutti i suoi punti. Otteniamo che


−−→0
    
0 −1 1 0
OB = =
−1 0 0 −1
−−→0
    
0 −1 1 −1
OC = =
−1 0 1 −1
−−→0
    
0 −1 0 −1
OD = =
−1 0 1 0

Il quadrato riflesso risulta quindi dato da

y
D C

D0
A = A0 B x

C0 B0

Ma che differenza c’è tra la riflessione che abbiamo appena visto ed una rotazione di π? Abbiamo
che una rotazione di π e una riflessione applicate al quadrato risultano rispettivamente

y y
D C D C

B0 D0
A = A0 B x A = A0 B x

C0 D0 C0 B0

Nel caso della rotazione abbiamo una isometria diretta mentre nel caso della riflessione una iso-
metria inversa, in quanto per quest’ultima l’orientazione della figura viene cambiata rispetto alla
figura originale. Questo risulta il significato del -1 nel determinante della riflessione.

La trasformazione inversa R−1 della riflessione risulta uguale alla stessa matrice

R−1
Risulta inoltre che R è sempre simmetrica ed quindi otteniamo che R> = R−1 , ovvero è una
matrice ortogonale (come le matrici di rotazione).
Proiezione ortogonale
La proiezione ortogonale, rappresentata dalla matrice P si definisce su in piano o su una retta
passanti per l’origine degli assi, consideriamo la figura

– 47 –
Lezione VII Trasformazioni geometriche

r n

Il punto H è il proiettato di A (cambiamo nome per evitare confusione con la matrice!) tale per
−−→
cui H appartiene al piano (o alla retta) e il vettore AH è ortogonale al piano o alla retta.

Metodo 1

Per calcolare la matrice di proiezione possiamo seguire gli stessi passaggi visti per la matrice di
riflessione, sapendo che il punto trasformato coinciderà con H, quindi
−−→ −→ −−→ −→ −−→ −→ −→
OH = OA − (OP · n̂)n̂ = OA − n̂(OP · n̂) = OA − n̂(n̂ · OA)
−→ −−→
inoltre, visto che consideriamo vettori colonna, n̂ · OA = n̂> OP cioè il prodotto scalare equivale
al prodotto riga per colonna, quindi
−−→ −→ −→ −→ −→ −→
OH = OA − n̂(n̂> OA) = OA − n̂n̂> OA = (I − n̂n̂> )OA.

Otteniamo quindi che l’espressione della matrice di proiezione è

P = I − n̂n̂> ,

in pratica la stessa espressione della riflessione a meno del “per due”. In dettaglio abbiamo
  2
1 − n̂2x −n̂y n̂x
       
1 0   n̂x 1 0 n̂x n̂y n̂x
P = − n̂x n̂y = − = .
0 1 n̂y 0 1 n̂x n̂y n̂2y −n̂x n̂y 1 − n̂2y

Metodo 2

Osserviamo come vengono modificati i versori i e j


j
i

j∗
i∗

I vettori trasformati i∗ e j ∗ risultano


       
1 n̂ 0 n̂

i = i − i · n̂n̂ = − n̂x x e j = j − j · n̂n̂ =

− n̂y x .
0 n̂y 1 n̂y

La matrice di proiezione ortogonale P risulta quindi data da


  2
1 − n̂2x
   
> 1 0 n̂x n̂x n̂y −n̂x n̂y
P = I − nn = − = .
0 1 n̂x n̂y n̂2y −n̂x n̂y 1 − n̂2y

– 48 –
Lezione VII Trasformazioni geometriche

Calcolo del determinante

Il determinante di tale matrice risulta dato da


2
det P = 1 − n̂2x − n̂2y + n̂2x n̂2y − n̂2x n̂2y = 1 − (n̂2x + n̂2y ) = 1 − kn̂k = 0

ovvero il determinante della matrice di proiezione è sempre nullo, quindi la matrice risulta singolare
il che implica the l’inversa P −1 non esiste. Inoltre abbiamo che
area finale volume finale
det P = ed anche det P =
area iniziale volume iniziale
e notiamo che

per le figure proiettate l’area o il volume risulta nullo, inoltre una volta che le figure sono state
proiettate non riusciamo a determinare come tornare alla figura di partenza, dato che la stessa
proiezione corrisponde a diverse figure iniziali. Infatti, come abbiamo notato precedentemente non
esiste l’inversa per tale matrice.

Esempio 7.3
√ √
Consideriamo la matrice di proiezione ortogonale P in cui la normale è data da n̂ = [ 2
2
, 2 ] ,
2 >

abbiamo
 1 1  1
− 12
 
1 0
P = − 21 21 = 21 1
0 1 2 2 −2 2

Voglio proiettare il punto P = (2, 0) ed ottengo


 1
− 12 2
   
2 1
=
− 12 1
2 0 −1

Graficamente ottengo che

P
x
H

– 49 –
Lezione VII Trasformazioni geometriche

Classificazione delle trasformazioni


Le trasformazioni che abbiamo visto, in generale si possono scrivere come w = Av. Se voglio
aggiungere la traslazione allora considero il vettore traslazione t ed ottengo che

w = Av + t.

Chiamiamo trasformazioni affini, tutte quelle trasformazioni che so possono scrivere come

w = Av + t con det A 6= 0.

Ovvero tutte le trasformazioni viste tranne la proiezione. Per le trasformazioni affini abbiamo
che esiste la trasformazione inversa, che trasforma rette in rette e che conserva il parallelismo.
Graficamente abbiamo

Un sotto-insieme delle trasfromazioni affine è quello delle isometrie. Ovvero sono quelle trasfor-
mazioni che conservano le distanze e gli angoli. Nelle isometrie abbiamo le rotazioni e le riflessioni.
Vengono dette isometrie dirette se det A = 1 e inverse se det A = −1. Abbiamo

trasformazioni affini
isometrie
taglio proiezioni
riflessione
scaling rotazione

Composizione di trasformazioni
Voglio determinare la trasformazione che prima fa una proiezione di matrice P e successivamente
una rotazione di π/2 con R.
 1
− 12
  
0 −1
P = 21 1 e R = .
−2 2 1 0

Vogliamo applicare in successione due trasformazioni P e R


P R R◦P
→ A0 −
A− → A00 ⇒ A −−−→ A00

Voglio determinare la trasformazione che fa la composizione delle due trasformazioni, indicata con
R ◦ P . Ovvero prima applico la trasformata P e poi la trasformata R.
Con riferimento alle matrici presentate, consideriamo il punto A = (1, 0) ed abbiamo
 1
− 12 1
   1 
vA = P vA =
0 2 = 21
− 12 1
2 0 −
 1 1
   21
− 12 1
    1
0 −1 2 −2 1 2
vA = RvA = RP vA =
00 0 = 1 = 21
1 0 − 12 1
2 0 2 − 12 0 2

– 50 –
Lezione VII Trasformazioni geometriche

A00

A x

A0

La matrice RP rappresenta la composizione delle due trasformazioni R ◦ P . Abbiamo quindi che


la matrice composta è data da
 1
− 12
  1 1

0 −1 2 2 2
RP = =
1 0 −1 1 1
−1
 1 2 1 2   2 1  2
1
(RP )vA = 21 2
1 = 21
2 − 2 0 2
Se invece voglio P ◦ R, ossia prima la rotazione e poi la proiezione

A0

A00
A x

    
0 −1 1 0
vA0 = RvA = =
1 0 0 1
 1 1
   1
− 12
     1
− 2 0 −1 1 0 −
vA00 = P vA0 = P RvA = 21 1 = 21 1 = 12 .
−2 2 1 0 0 −2 2 1 2
Notiamo che la composizione di trasformazioni, così come il prodotto di matrici, non è commuta-
tiva.
Rotazione di asse generico
Voglio calcolare la matrice che effettua la rotazione di π intorno all’asse definito dal vettore v =
[1, 1, 0]> . Utilizzo le matrici Rx , Ry e Rz componendole per ottenere la trasformazione volute,
portando quindi uno degli assi su v. Vediamo passo a passo come poter procedere

1. Ruoto fino a portare v sull’asse x, ovvero considero Rz per θ = −π/4.

Rz − π4 v
 y
− π4 v

– 51 –
Lezione VIII Trasformazioni geometriche

La matrice che realizza tale trasformazione è data da


cos − π4  − sin − π4 0
   
 π
Rz − =  sin − π4 cos − π4 0
4
0 0 1

2. Ruoto quindi intorno ad x dato che ora coincide con v.

+ y0

v0

La matrice che realizza tale trasformazione è data da


 
1 0 0
Rx (π) = 0 cos (π) − sin (π)
0 sin (π) cos (π)

3. Ruoto intorno all’asse z per mettere v a posto, ovvero Rz con θ = π/4.

cos π4  − sin π4 0


   
π
Rz =  sin π4 cos π4 0
4
0 0 1

La matrice complessiva risulta quindi


π  π
Rz Rx (π)Rz − .
4 4

– 52 –
. Lezione VIII

Traslazione

Classificazione delle trasformazioni


Le trasformazioni geometriche viste finora possono essere espresse nella forma

w = Av

dove v è il vettore che corrisponde al punto iniziale P mentre w indica il punto trasformato P 0 .
La matrice A può rappresentare ad esempio

• scaling
• rotazione
• taglio
• riflessione
• proiezione
• ...

Se vogliamo generalizzare e includere la possibilità di rappresentare una traslazione di vettore


t = [tx , ty , tz ] possiamo scrivere
>

w = Av + t.
Le trasformazioni che possono essere scritte in questo modo si dicono affini se det(A) 6= 0. In
pratica tutte le trasformazioni viste tranne la proiezione ortogonale sono affini. Hanno le seguenti
proprietà:

• sono invertibili, esiste A−1


• trasformano rette in rette
• conservano il parallelismo, come riportato in figura

Nel taglio (o shear) gli angoli cambiano ma i lati paralleli restano paralleli.

All’interno di questa ampia categoria si trova il sottoinsieme delle trasformazioni isometriche o


isometrie. Come suggerito dal nome queste trasformazioni mantengono invariate
Lezione VIII Traslazione

• le distanze fra punti (ad esempio la misura dei lati)


• la misura degli angoli.

Sono quindi isometrie ad esempio le rotazioni e la riflessione. Inoltre, chiamiamo isometrie dirette
le rotazioni, isometrie inverse le riflessioni. Queste ultime infatti “invertono” l’orientazione delle
figure (nel caso di un poligono il senso di percorrenza dei vertici). Matematicamente questo si
riflette nel determinante che è pari a -1, mentre è 1 per le rotazioni. Si veda la figura seguente in
cui vengono confrontate isometrie dirette e inverse

Esiste la matrice di traslazione?


Perché la traslazione deve essere gestita diversamente rispetto alle altre trasformazioni? Conside-
riamo il vettore v = [xp , yp ]> e il vettore w = [xp + tx , yp + ty ]> che indica il punto traslato P 0 .
Sarebbe possibile ottenere w come prodotto di v per un’opportuna matrice?
    
? ? xp xp + t x
=
? ? yp yp + ty

Osserviamo che non riusciamo a scrivere una matrice che “funzioni” per un punto P qualsiasi. O
almeno, osserviamo che non è possibile in un sistema di coordinate cartesiano classico. Per questo
motivo vogliamo introdurre le coordinate omogenee.

Geometria proiettiva
Per un approfondimento sul contesto storico, motivazioni e più dettagli sull’argomento del-
la geometria proiettiva facciamo riferimento alla lezione online del prof. N.J. Wildberger,
https://www.youtube.com/watch?v=NYK0GBQVngs&t=3381s.
La geometria proiettiva si sviluppa nel 1800 con il contributo, fra gli altri, di A.F.Möbius. Dal
nostro punto di vista è rilevante per questi motivi:

• ha un legame con il problema della prospettiva e dei punti all’infinito


• l’uso delle coordinate omogenee permette di costruire la matrice di traslazione, facilitando
la composizione di trasformazioni.
• le coordinate omogenee sono utilizzate all’interno dei principali software di computer
graphics.

– 54 –
Lezione VIII Traslazione

Prospettiva e punti all’infinito


Gli artisti, dal Rinascimento in avanti, affrontano il problema della rappresentazione del mondo
3D in prospettiva. È ad esempio ben noto il problema della rappresentazione del “pavimento a
scacchi”: per ottenere un effetto realistico non solo le mattonelle più lontane devono apparire
più piccole, ma soprattutto le linee parallele appaiono convergenti e si intersecano in un punto
all’orizzonte. Si vedano le foto in figura, dove è presentato il problema della prospettiva nell’arte
rinascimentale.

Lo stesso si osserva ad esempio fotografando i binari del treno, che sembrano convergere in un
punto infinitamente lontano.
Grazie alle coordinate omogenee sarà semplice definire matematicamente i punti all’infinito e
comprendere in che senso due linee possono essere parallele eppure intersecarsi “all’infinito”, come
mostrato in figura

Coordinate omogenee
Per semplicità consideriamo per iniziare il caso delle coordinate cartesiane in 1D, ossia il caso
della retta orientata. In questo caso la posizione di un punto P è definita da un numero reale
xP , l’ascissa del punto. Come mostrato nella figura seguente possiamo considerare uno spazio
bidimensionale di assi x0 e w, in cui si presentano le coordinate omogenee di un punto P in un
sistema di riferimento monodimensionale: il punto con ascissa xp = 2 corrisponde a una linea nel
piano x0 w.

– 55 –
Lezione VIII Traslazione

La dimensione aggiuntiva che si introduce si indica spesso con la lettera w (come “weight”) e
si può chiamare peso delle coordinate omogenee. In questo spazio bidimensionale il punto P di
ascissa 2 diventa una linea retta passante per l’origine formata da tutti i punti del tipo (2w, w),
ad esempio (2, 1), (4, 2), (1, 1/2) e così via. In coordinate omogenee un punto in 1D corrisponde
quindi a infinite coppie di valori nel piano x0 w.
Osserviamo nella figura seguente che linee di pendenza diversa corrispondono a punti di ascissa
diversa, vengono presentati punti-linee nel piano x0 w in cui le rette di pendenza minore intersecano
la linea w = 1 ad ascisse via via maggiori. Infine, la retta orizzontale (viola) non interseca mai
w = 1 e corrisponde al punto all’infinito.

Se intersechiamo queste linee con la retta orizzontale posta ad altezza w = 1 il punto di intersezione
ha x0 uguale all’ascissa del punto. Questo per tutte le linee tranne una: la linea orizzontale, in
viola in figura, non intersecherà mai (o “all’infinito”) la linea w = 1. I punti della linea viola hanno
coordinate omogenee (x0 , 0).
In due dimensioni un punto P è identificato da ascissa e ordinata: (xP , yP ). Per passare in
coordinate omogenee ci dobbiamo immergere in uno spazio 2+1 dimensionale, ossia 3D, di assi
x0 , y 0 , w. Come mostrato in figura i punti appartenenti alla linea rossa corrispondono al punto di
coordinate cartesiane (2, 1); infatti la linea interseca il piano a quota w = 1 nel punto (2, 1, 1).

– 56 –
Lezione VIII Traslazione

Quindi un punto di coordinate cartesiane (2, 1) corrisponde a una linea nello spazio 3D, formata
da tutti i punti del tipo (2w, w, w), ad esempio (2, 1, 1) per w = 1, (4, 2, 2) per w = 2 e così via.
Come ottenere ascissa e ordinata a partire dalle coordinate omogenee:
0
(
x = xw
0
y = yw

Se immaginiamo che l’osservatore sia posto nell’origine degli assi e il piano a quota w = 1 sia un
vetro (una tela, o lastra fotografica) su cui proiettare, i punti proiettati si ottengono collegando i
punti 3D con l’osservatore e intersecando questa linea con il piano, come mostrato in figura in cui
punti (oggetti) allineati con l’osservatore vengono proiettati sul piano w = 1 nello stesso punto.

Oggetti allineati con l’osservatore, cioè appartenenti alla stessa linea, sono lo stesso punto nel piano
w = 1. Riprendiamo l’osservazione fatta inizialmente: due rette parallele sembrano intersecarsi
”all’infinito”. Consideriamo due rette parallele, rappresentate in rosso in figura in cui due rette
parallele (rosse) nel piano w = 1 sono due piani nello spazio x0 , y 0 , w. Questi piani si intersecano
nella retta (blu) che rappresenta un punto all’infinito.

– 57 –
Lezione VIII Traslazione

Ogni punto di tali rette è una linea nello spazio x0 y 0 w, ossia ogni linea del piano diventa un piano
in 3D. Questi due piani, passanti per le rette e per l’origine (l’osservatore) si intersecano lungo una
linea (rappresentata in blu) che indica il punto all’infinito in cui si intersecano le rette parallele.
Infine, gli stessi concetti si possono applicare alle coordinate tridimensionali. Un punto in 3D è
identificato da ascissa, ordinata, quota (xp , yp , zp ). Questo punto si può esprimere in coordinate
omogenee tramite 4 coordinate x0 , y 0 , z 0 , e il peso w in infiniti modi, scegliendo (wxp , wyp , wzp , w).
In questo caso l’interpretazione geometrica non è più così immediata data la difficoltà di imma-
ginare la quarta dimensione, tuttavia il procedimento è identico: posso ottenere le coordinate
“tradizionali” a partire da quelle omogenee come segue:
x0

x = w0

y = yw
0
z = zw .

Matrice di traslazione
Riprendiamo il problema visto inizialmente: possiamo scrivere una matrice di traslazione che porti
il punto P , indicato dal vettore [xp , yp ]> nel punto P 0 indicato dal vettore [xp + tx , yp + ty ]> ?
Esprimiamo i punti in coordinate omogenee, scegliendo, fra tutte le infinite possibilità, la terna
di coordinate corrispondente a w = 1. Otteniamo P = (xp , yp , 1) e P 0 = (xp + tx , yp + ty, 1) e
−−→ −−→
cerchiamo una matrice T tale per cui OP 0 = T OP .
    
? ? ? xp xp + t x
 ? ? ?   yp  =  yp + ty 
? ? ? 1 1

Con semplici ragionamenti ricaviamo la struttura della matrice di traslazione:


 
1 0 tx  
I2X2 t
T = 0 1 ty
  =
00 1
0 0 1

in cui riconosciamo la matrice identità e, nell’ultima colonna, il vettore traslazione prescritto.


Osserviamo che la matrice di traslazione nel piano è 3 × 3 perché è necessario operare con punti/-
vettori in coordinate omogenee. Allo stesso modo, in 3D la matrice di traslazione sarà 4 × 4, con

– 58 –
Lezione VIII Traslazione

la seguente struttura:  
1 0 0 tx  
 0 1 0 ty 
T =
  = I3X3 t
0 0 1 tz  000 1
0 0 0 1

Esempio 8.1

Scriviamo la matrice di traslazione di vettore t = [1, 2, 3]> e applichiamola al vettore che


corrisponde al punto P = (4, 5, 6). In coordinate omogenee il punto si può esprimere come
P = (4, 5, 6, 1).     
1 0 0 1 4 5
 0 1 0 2   5   7 
  = 
 0 0 1 3  6   9 
0 0 0 1 1 1

Sfruttando il fatto che la matrice di traslazione è triangolare superiore si può calcolare facilmente
il determinante come prodotto degli elementi della diagonale. Otteniamo che det(T ) = 1. Si
possono dedurre due cose:

• la trasformazione è invertibile perché det(T ) 6= 0


• la traslazione conserva le aree/volumi delle figure (ovvio! In realtà fa molto di più, conserva
invariate anche le distanze e gli angoli).

La trasformazione inversa è semplicemente una traslazione opposta, ossia caratterizzata da un


vettore −t. Otteniamo quindi che
 
1 0 0 −tx
 0 1 0 −ty 
T −1 = 
 0 0 1 −tz 

0 0 0 1

. È facile verificare che T T −1 = I :


      
1 0 0 −tx 1 0 0 tx 1 0 0 −tx + tx 1 0 0 0
 0 1 0 −ty  0 1 0 ty   0 1 0 −ty + ty   0 1 0 0 
  = = 
 0 0 1 −tz  0 0 1 tz   0 0 1 −tz + tz   0 0 1 0 
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

Composizione in coordinate omogenee


Come possiamo comporre la traslazione con altre trasformazioni? Consideriamo per esempio il
punto A = (2, 0) e supponiamo di voler eseguire:

• prima una rotazione di π/2


• poi una traslazione di vettore t = [1, 1]> .

Indichiamo con R la matrice di rotazione, con T la matrice di traslazione. Sappiamo che, per
eseguire le due trasformazioni dobbiamo eseguire i seguenti step

• a0 = Ra ottenendo il punto ruotato A0

– 59 –
Lezione VIII Traslazione

• a00 = T a0 ottenendo il punto ruotato e poi traslato A00 .

Oppure, in un unico passaggio, possiamo ottenere a00 = (T R)a dove la matrice ottenuta dal
prodotto T R rappresenta la trasformazione composta. Consideriamo però le due matrici:
 
  1 0 tx
cos(θ) − sin(θ)
R= T =  0 1 ty  .
sin(θ) cos(θ)
0 0 1
Le due matrici non possono essere moltiplicate così perché le dimensioni non sono compatibili!
Dobbiamo esprimere anche la matrice di rotazione come matrice 3 × 3 in modo che possa lavorare
in coordinate omogenee. Definiamo quindi R̃:
 
cos(θ) − sin(θ) 0
R̃ =  sin(θ) cos(θ) 0 
0 0 1
estesa con l’aggiunta di una riga e colonna nulle, con l’eccezione dell’elemento in posizione 3-3.
Ora moltiplichiamo T R̃:
    
1 0 tx cos(θ) − sin(θ) 0 cos(θ) − sin(θ) tx
 0 1 ty   sin(θ) cos(θ) 0  =  sin(θ) cos(θ) ty  .
0 0 1 0 0 1 0 0 1
Osserviamo che la matrice ottenuta conserva una struttura ben precisa: un blocco 2×2 che contiene
la matrice di rotazione, e nell’ultima colonna il vettore traslazione. Questa struttura si osserva
ogni volta che vogliamo eseguire una trasformazione (scaling, rotazione, riflessione, ecc) seguita da
una traslazione. Ritroveremo la matrice corrispondente alla prima trasformazione affiancata dal
vettore traslazione nell’ultima colonna.
Diverso il risultato se vogliamo eseguire prima la traslazione. Proviamo per esempio a calcolare
R̃T :
    
cos(θ) − sin(θ) 0 1 0 tx cos(θ) − sin(θ) tx cos(θ) − ty sin(θ)
 sin(θ) cos(θ) 0   0 1 ty  =  sin(θ) cos(θ) tx sin(θ) + ty cos(θ)  .
0 0 1 0 0 1 0 0 1
In questo caso otteniamo una matrice con un vettore traslazione diverso che risente della rotazione.
In questo caso la struttura non è prevedibile a priori, ma va calcolata eseguendo il prodotto.
Scaling di centro C 6= O
Vediamo ora come possiamo applicare i concetti della composizione di trasformazioni per calcolare
la matrice che realizza lo scaling di centro C, dove C non è l’origine degli assi. La matrice di scaling
con centro O è data da
 
S 0
S= x .
0 Sy
Se applichiamo tale scaling al quadrato ABCS otteniamo

y y

D C D C

A B x A B x

– 60 –
Lezione VIII Traslazione

in cui risulta A il punto unito della trasformazione. Lo stesso scaling, ma con centro C, darebbe
la seguente trasformazione

D C

A B x
Calcoliamo ora la matrice che realizza tale trasformazione. L’idea è quella di portare C all’origine
degli assi, usare uno scaling di centro in O e successivamente portare C nella posizione di partenza.
Vediamo passo per passo.

1. Devo traslare tutto in modo da portare C sull’origine degli assi. Il vettore di traslazione è
dato da t = [−cx , −cy ]> .

La matrice associata alla traslazione è la seguente


 
1 0 −cx
T −1 = 0 1 −cy  .
0 0 1

2. Fare lo scaling di centro O in cui ora C (traslato) è il punto unito

D0 C0
x

A0 B0

La matrice di scaling associata è data da


 
2 0 0
S = 0 1 0 .
0 0 1

3. Riportare il punto C alla posizione iniziale

– 61 –
Lezione IX Traslazione

y
D00 C 00

A00 B 00 x

La matrice è di trasformazione in questo caso è da T


 
1 0 cx
T = 0 1 cy  .
0 0 1

Complessivamente la trasformazione composta per fare lo scaling centrato in C abbiamo la matrice


T ST −1 data da
     
1 0 cx 2 0 0 1 0 −cx 2 0 −cx
T ST −1 = 0 1 cy  0 1 0 0 1 −cy  = 0 1 0 
0 0 1 0 0 1 0 0 1 0 0 1

– 62 –
. Lezione IX

Rette

Rette in forma parametrica


La retta è uno dei tre enti fondamentali della geometria euclidea, insieme al punto e al piano.
Come tale non si definisce se non per analogia. La retta è un oggetto con una sola dimensione,
senza spessore e infinita in entrambe le direzioni. Si indica con lettere minuscole r, w, s, ecc…
Retta nel piano
È l’insieme di punti (x, y) che soddisfano l’equazione
y = mx + q,
m viene detto coefficiente angolare ed esprime la pendenza della retta. Esso risulta pari a tan θ =
m.

Dipendentemente dal segno di m abbiamo che la retta è orientata diversamente, in particolare


abbiamo

y y

m<0
m>0

x x

y y

m=0 m=∞

x x

Rette parallele hanno lo stesso coefficiente angolare.


Lezione IX Rette

Esempio 9.1

Consideriamo la seguente retta con coefficiente angolare m = 2 e q = 1

y = 2x + 1.

Per rappresentare graficamente la retta nel piano cartesiano ci avvaliamo della proprietà che per
due punti passa una e una sola retta. E quindi basta che prendiamo due valori di x, calcoliamo i
corrispondenti y e quindi tracciamo la retta.

x y
0 1
1 3
y

Il coefficiente q viene detto intercetta all’origine ed indica l’intersezione con l’asse delle ordinate
y. La forma y = mx + q è la generale equazione della retta in forma cartesiana. Nello spazio non
ha un’espressione altrettanto semplice, infatti una retta nello spazio è definita come l’intersezione
fra due piani, come mostrato in figura

Un modo alternativo per esprimere tramite equazioni rette, e altre curve, nel piano e nello spazio,
è la forma parametrica.
La forma cartesiana esprime un legame tra x e y, mentre la forma parametrica esprime x come
una funzione fx (t), y come fy (t) e z (se presente) come una funzione fz (t). Le funzioni fx , fy
e fy sono date e dipendono dal tipo di curva e dalle sue caratteristiche, mentre t rappresenta
un parametro indipendente. Il parametro t si può interpretare come tempo, al variare del quale
otteniamo la posizione dei punti lungo le curve. Abbiamo

x = fx (t)
 
fx (t) 
OP = x = f (t) = fy (t) o scritta come y = fy (t)
fz (t)

z = fz (t)

– 64 –
Lezione IX Rette

Secondo l’espressione di f otteniamo curve diverse, ad ogni valore di t corrisponde un punto nel
piano o nello spazio.
Consideriamo una retta passante per l’origine degli assi, vogliamo determinarne l’espressione pa-
rametrica. Individuiamo un vettore d = [dx , dy ]> o d = [dx , dy , dz ]> se nello spazio. Il vettore d
è detto vettore direzione, e caratterizza la direzione della retta. È l’analogo del coefficiente ango-
lare in forma cartesiana. Posso esprimere un qualsiasi punto della retta basandomi su d, infatti
moltiplicando per uno scalare t ∈ R ottengo un generico punto della retta

x = dt con t ∈ R.

Possiamo pensare, per analogia, che d rappresenti un vettore velocità e t il tempo. A t = 0


identifichiamo l’origine degli assi, mentre per t crescenti il punto si allontana nella direzione di d.

Esempio 9.2

Consideriamo il seguente vettore direzione d = [1, 2]>

y
t=2

t=1
d
t=0 x
t = −1

t = −2

Ad ogni t corrisponde un punto


 
2
t=2 ⇒ x=
4

Se considero un altro vettore d̂ proporzionale a d, ottengo sempre la stessa retta ma con una
parametrizzazione diversa, cioè la stessa retta viene percorsa a velocità diversa.
Nel caso in cui la retta non passi per l’origine degli assi procediamo come descritto in seguito.
Consideriamo prima una retta r0 con lo stesso vettore direzione di r (e quindi parallela) ma passante
per l’origine degli assi O.

– 65 –
Lezione IX Rette

y
Q

r r0
x

Abbiamo quindi che la retta r0 è identificata da

r0 : x = dt,
−−→
per ottenere r traslo la retta r0 di un vettore OQ = Q − O = [xQ , yQ , zQ ]> . Abbiamo quindi che

r: x = dt + Q.

Esempio 9.3

Consideriamo la retta di direzione d = [1, 2]> e passante per il punto Q = (1, 3), otteniamo
          (
1 1 x 1 1 x=t+1
x= t+ = t+
2 3 y 2 3 y = 2t + 3

In questo caso le espressioni di fx e di fy sono semplici, infatti abbiamo che

fx (t) = t + 1 e fy (t) = 2t + 3.

È importante notare che, per determinare la retta precedente, avrei potuto considerare altre infinite
traslazioni ottenendo diverse parametrizzazioni della stessa retta.
Per determinare la retta passante per due punti P e Q

r
x

possiamo calcolare d in modo che sia diretto come la linea che congiunge P e Q, per esempio come
−−→ −−→ −−→ −−→ −−→ −−→
d = OP − OQ oppure d = OQ − OP oppure d = 2(OQ − OP ) ecc…

Infatti ottengo diversi vettori direzione paralleli e quindi usabili per definire la stessa retta.
Imponendo il passaggio per un punto abbiamo che la retta può essere scritta come
−−→ −−→ −−→ −−→ −−→ −−→
x = (OP − OQ)t + OQ oppure x = (OP − OQ)t + OP

infatti, come già accennato, la forma parametrica della retta non è unica.

– 66 –
Lezione IX Rette

Immaginiamo ora di avere una retta in forma parametrica, e di voler capire se passa o meno per
un punto dato P . Analizziamo tale richiesta con il seguente esempio.

Esempio 9.4

Consideriamo la retta nello spazio r e il punto P definiti da


   
1 0
r : x = 2 t + 1 e P = [−1, −1, −1].
3 2

Il punto P appartiene alla retta r? Per verificare tale richiesta sostituiamo il punto P a sinistra
dell’espressione parametrica

t = −1
         
1 0 −1 1 0 
P = 2 t+ 1
    ⇒  −1 = 2 t + 1
     ⇒ 2t = −2 ⇒ t = −1.
3 2 −1 3 2

3t = −3

Dato che t = −1 soddisfa tutte e tre le equazioni allora la retta r passa per il punto P .

Vediamo ora come determinare la posizione reciproca di due rette. Nel piano due rette possono
essere: coincidenti, ovvero sono geometricamente la stessa retta. Possono essere parallele ma
distinte ed infine possono essere incidenti, ossia avere un punto in comune.

y y y

s s s

r x r x x
r

Nello spazio, oltre ai casi precedenti, due rette possono essere sghembe ossia non avere nessun
punto in comune e non essere parallele (nè coincidenti).

z z

s s

r r

y y

x x

– 67 –
Lezione IX Rette

z z

s s

P punto di intersezione

y y
r
r

x x

Due rette sono parallele, ed utilizziamo il simbolo r k w, se i vettori direzione sono paralleli
dr k dw , ovvero se esiste un λ tale che dr = λdw (i due vettori sono dunque proporzionali).

Esempio 9.5

Consideriamo i seguenti vettori direzione associati alle rette r e w, rispettivamente abbiamo


   
1 2
dr = 2 and dw = 4
3 6

In questo caso abbiamo che dr = 12 dw . Tuttavia, se consideriamo


 
0
dw = 4
6

allora non esiste nessun λ tale che dr = λdw . Infatti



1 = 0
   
1 0 
2 = λ 4 ⇒ 2 = 4λ .
3 6

3 = 6λ

Per capire se due rette sono perpendicolari, nel qual caso utilizziamo il simbolo r ⊥ w, verifichiamo
invece se il prodotto scalare tra i vettori direzione è nullo. Infatti questo implica che cos θ = 0,
dove θ è l’angolo compreso, da cui otteniamo che θ = π/2 e quindi i vettori sono perpendicolari.

r⊥w ⇒ dr · dw = 0.

r
dw

dr x

– 68 –
Lezione IX Rette

Esempio 9.6

Determiniamo come trovare il punto di intersezione tra le due rette


( (
x=t+2 x=1+s
r: e w:
y = 3t y=1

Notiamo che abbiamo utilizzato due nomi differenti per indicare il parametro (rispettivamente t
ed s), tale accorgimento risulta fondamentale in quanto ora per trovare l’intersezione tra r e w
dobbiamo trovare il valore di t e s in modo tale che l’ascissa del punto che soddisfa l’equazione di
r si uguale all’ascissa del punto che soddisfa l’equazione di w. Analogamente per le ordinate (e le
quote nel caso dello spazio). Mettiamo quindi a sistema l’uguaglianza tra t e w
( (
t+2=1+s t = 13

3t = 1 s = 43

Andando a sostituire otteniamo che


( (
x = t + 2 = 13 + 2 = 7
x=1+s=1+ 4
= 7
3 e 3 3
y = 3t = 13 3 = 1 y=1

Chiaramente il punto trovato usando la retta r o la retta w è lo stesso.

Notiamo che nella risoluzione del sistema lineare precedente abbiamo tre possibili casi: 1) il
sistema è possibile, ossia la soluzione esiste ed è unica e quindi otteniamo il punto di intersezione,
2) il sistema è indeterminato, abbiamo infinite soluzioni allora le rette sono parallele e coincidenti
oppure 3) il sistema è impossibile, non abbiamo nessuna soluzione allora le rette sono parallele e
distinte.

Esempio 9.7

Consideriamo le due rette date da


( (
x=t+2 x = 2s
r: e w:
y = 3t y = 6s + 1

Notiamo che i vettori direzione dr = [1, 3]> e dw = [2, 6]> sono paralleli. Possiamo quindi avere che
o le rette sono parallele ma distinte o geometricamente coincidenti. Calcoliamo quindi eventuali
punti di intersezione
( ( (
t + 2 = 2s t = 2s − 2 t = 2s − 2
⇒ ⇒
3t = 6s + 1 6s − 6 = 6s + 1 −6 = 1

la seconda equazione è falsa e quindi non esistono punti di intersezione tra le due rette. Le rette
sono parallele e non geometricamente coincidenti.

– 69 –
Lezione IX Rette

x
w

Esempio 9.8

Consideriamo il caso in cui le rette siano date da


( (
x=t+2 x = 2s + 3
r: e w:
y = 3t y = 6s + 3

Mettiamo a sistema l’uguaglianza tra le due rette per ottenere


( ( (
t + 2 = 2s + 3 t = 2s + 1 t = 2s + 1
⇒ ⇒
3t = 6s + 3 6s + 3 = 6s + 3 0=0

E quindi le equazioni sono soddisfatte per un qualsiasi s, ovvero abbiamo infinite soluzioni ed,
essendo nel piano, le rette sono geometricamente coincidenti.

Nello spazio due rette anche se non parallele possono non incrociarsi, essendo sghembe.

Esempio 9.9

Consideriamo le due rette seguenti


 
x = 2t
 x = −s

r: y=t e w: y=s
 
z=2 z=1
 

Mettiamo a sistema le due rette per determinare eventuali punti di intersezione.



2t = −s

t=s

2=1

Notiamo che l’ultima equazione è sempre falsa, inoltre i due vettori direzione dr = [2, 1, 0]> e
dw = [−1, 1, 0]> non sono paralleli. Otteniamo che le due rette sono sghembe.

– 70 –
Lezione X Rette

– 71 –
. Lezione X

Curve parametriche

Generazione di curve parametriche


Un caso particolare di curva parametrica già affrontato è la retta, la cui forma parametrica si può
scrivere come

x = dx t + Qx = fx (t)
     
x dx Qx 
x = dt + Q ⇒  y = dy t + Qy
     ⇒ y = dy t + Qy = fy (t) ⇒ x = f (t).
z dz Qz

z = dz t + Qz = fz (t)

Tale approccio si può generalizzare a diverse curve.


Circonferenza
Consideriamo infatti la circonferenza, ossia il luogo di punti equidistanti dal centro. Se conside-
riamo, per semplicità, il centro nell’origine degli assi abbiamo che l’equazione in forma Cartesiana
della circonferenza è

x2 + y 2 = r 2

dove r è il raggio della circonferenza e x2 + y 2 è la distanza dall’origine (al quadrato).

(x, y)

Tutti i punti (x, y) che soddisfano l’equazione Cartesiana appartengono alla circonferenza. Notia-
mo che l’equazione cartesiana esprime una relazione fra le coordinate dei punti. Noi preferiamo
però lavorare con le equazioni in forma parametrica, più facile da generalizzare al caso 3D. Per la
circonferenza si può ricavare la forma parametrica sfruttando la trasformazione di rotazione.

Infatti, devo ottenere una curva formata da tutti i punti che distano r dall’origine, a ogni angolo
Lezione X Curve parametriche

0 ≤ t ≤ 2π. Considero il punto di partenza (r, 0) sull’asse x. Al variare di t lo faccio ruotare


tramite la matrice di rotazione per il generico angolo t
 
cos t − sin t
R=
sin t cos t
Otteniamo quindi, ruotando il punto (r, 0) di un angolo pari a t, il seguente nuovo punto che
dipende dal parametro t!
      
r cos t − sin t r r cos t
R = =
0 sin t cos t 0 r sin t
Ovvero, dato che ho ottenuto un punto generico, dipendente da t, ho ricavato l’equazione della
circonferenza in forma parametrica data da
(
x = r cos t
per 0 ≤ t ≤ 2π.
y = r sin t
Il valore di t = 0 corrisponde al punto iniziale, mentre per altri valori di t otteniamo per esempio
( (
x=0 x = −r
t = π/2 ⇒ t=π ⇒ ...
y=r y=0

Verifichiamo che tale forma parametrica della circonferenza corrisponde alla sua forma cartesiana.
Abbiamo
(
x = r cos t
e x2 + y 2 = r2 ⇒ r2 cos2 t + r2 sin2 t = r2 ⇒ r2 (cos2 t + sin2 t) = r2
y = r sin t

che risulta vero essendo cos2 t + sin2 t = 1 per qualsiasi t. Nel caso in cui volessimo la circonferenza
centrata in un punto diverso dall’origine degli assi possiamo aggiungere una traslazione ottenendo
(
x = r cos t + cx
.
y = r sin t + cy
y

In forma parametrica risulta più naturale descrivere circonferenze nello spazio. Consideriamo le
circonferenze nei piani coordinati (casi più generali si possono ricavare ruotando questi ”casi base”)

z z z

O y O y O y

x x x

– 73 –
Lezione X Curve parametriche

Rispettivamente nel piano xy, xz e yz l’equazione della circonferenza (centrata nell’origine) risulta
  
x = r cos t
 x = r cos t
 x = 0

y = r sin t y=0 y = r cos t .
  
z=0 z = r sin t z = r sin t
  

Se considerassi, sia ne piano che nello spazio, per t un intervallo diverso da 0, 2π otterrei un arco
di circonferenza, come ad esempio

y π π
≤t≤
4 2

Ellisse
Possiamo generalizzare quanto visto finora per introdurre la forma parametrica dell’ellisse che è il
luogo dei punti tali per cui la somma delle distanze da 2 punti detti fuochi F1 e F2 è costante.

F1 F2 x
a

Se i fuochi sono vicini allora l’ellisse risulterà simile ad una circonferenza, mentre se i fuochi
risultano lontani allora l’ellisse è più schiacciata (eccentrica). I valori di a e b sono detti semiassi
dell’ellisse ed hanno un significato analogo al raggio della circonferenza. La forma cartesiana
dell’ellisse risulta
x2 y2
2
+ 2 = 1.
a b
Come posso quindi ottenere l’equazione dell’ellisse in forma parametrica? Si può partire da
una circonferenza di raggio 1 e fare uno scaling non uniforme. Consideriamo l’equazione della
circonferenza e la matrice di scaling
(  
x = sin t a 0
per 0 ≤ t ≤ 2π e S =
y = cos t 0 b

Se applichiamo la matrice a tutti i punti della circonferenza, otteniamo quindi la seguente


     (
a 0 cos t a cos t x = a cos t
= ⇒ per 0 ≤ t ≤ 2π.
0 b sin t b sin t y = b sin t

– 74 –
Lezione X Curve parametriche

Possiamo quindi verificare che l’equazione parametrica risulta equivalente a quella cartesiana,
abbiamo
(
x = a cos t x2 y2 a2 cos2 t b2 sin2 t
e + = 1. ⇒ + = 1. ⇒ cos2 t + sin2 t = 1.
y = b sin t a2 b2 a2 b2

Anche in questo caso se volessimo spostare il centro dell’ellisse otteniamo


(
x = a cos t + cx
.
y = b sin t + cy

Spirale di Archimede
La spirale di Archimede è un altro esempio di curva parametrica nel piano, si può vedere come la
composizione di una rotazione R con uno scaling S che dipende dall’angolo, per ottenere un punto
che ruota intorno all’origine e contemporaneamente si allontana.

Le matrici sono
   
cos t − sin t t 0
R= e S=
sin t cos t 0 t

otteniamo quindi che partendo dal vettore v = [1, 0]> , che corrisponde al punto P = (1, 0) sull’asse
x,
        
t 0 cos t − sin t 1 t cos t −t sin t 1 t cos t
SRv = = =
0 t sin t cos t 0 t sin t t cos t 0 t sin t

ovvero ottengo per una spirale, che fa sei giri se limito il parametro t ∈ [0, 6π].
(
x = t cos t
per 0 ≤ t ≤ 6π.
y = t sin t

Tale spirale può essere generalizzata introducendo un fattore a a moltiplicare il ”raggio” variabile
t, in cui per a grande le spire sono lontane tra loro mentre per a piccolo le spire sono vicine.
Abbiamo
(
x = at cos t
y = at sin t

Curve nello spazio


Con la stessa modalità è possibile definire curve nello spazio, aggiungendo un’opportuna funzione
per la coordinata z.

– 75 –
Lezione X Curve parametriche

Elica cilindrica
Un esempio notevole di curva nello spazio è l’elica cilindrica, che rappresenta schematicamente la
forma di una scala a chiocciola, del DNA o la filettatura di una vite.

O y

L’elica cilindrica ha la proprietà che la tangente alla curva forma sempre lo stesso angolo con
l’asse: questo significa, intuitivamente, che la curva ”sale” sempre con la stessa pendenza. Tale
curva si ottiene come un avvolgimento intorno ad un cilindro di raggio r. Consideriamo quindi
il punto (r, 0, 0): se lo ruotiamo di un angolo t otteniamo una circonferenza di raggio r. Se
contemporaneamente traslo in direzione dell’asse allora ottengo un’elica, perché il punto, dopo un
giro, ritorna nella stessa posizione in x e y, ma ad una z maggiore

O y

Le matrici coinvolte sono quindi la rotazione rispetto a z e una traslazione di un fattore ct,
entrambe in coordinate omogenee. Abbiamo
   
cos t − sin t 0 0 1 0 0 0
 sin t cos t 0 0 0 1 0 0
Rz =   e T = 
 0 0 1 0 0 0 1 ct
0 0 0 1 0 0 0 1

Quindi applicando le matrici al punto iniziale V = (r, 0, 0) ottengo l’equazione dell’elica cilindrica
come
        
1 0 0 0 cos t − sin t 0 0 r cos t − sin t 0 0 r r cos t
0 1 0 0  sin t cos t 0 0 0  sin t cos t 0 0 0 =  r sin t  .
   
T Rz v = 
0 0 1
   = 
ct  0 0 1 0 0  0 0 1 ct 0  ct 
0 0 0 1 0 0 0 1 1 0 0 0 1 1 1

– 76 –
Lezione X Curve parametriche

La forma parametrica dell’elica cilindrica di asse z e raggio r risulta quindi



x = r cos t

y = r sin t

z = ct

Possiamo quindi introdurre il concetto di passo dell’elica, ovvero di quanto “avanzo” in un giro.
Abbiamo che un giro completo è per ∆t = 2π e questo mi fa avanzare nella direzione delle quote
di ∆z = c2π. Quindi se c è grande allora le spire sono lontane tra loro, mentre se c è piccolo allora
le spire sono vicine. Si veda la figura seguente

z z

O y O y

x x

Elica conica
Partendo dal caso dell’elica cilindrica posso ora considerare un’elica si avvolge lungo un cono al
posto che un cilindro. Ottengo quindi l’elica conica in cui il raggio è variabile. Un modo di
ottenerla è applicare all’elica cilindrica di raggio unitario uno scaling S dipendente dallo stesso
parametro t, abbiamo quindi
      
at 0 0 at 0 0 cos t at cos t
S =  0 at 0 ⇒  0 at 0  sin t  =  at sin t 
0 0 1 0 0 1 ct ct
E quindi la forma parametrica dell’elica conica risulta data da

x = at cos t

y = at sin t

z = ct

Notiamo che lo scaling dipendente da t fa sì che il raggio sia minimo a t = 0, quindi al centro, in
z = 0, e cresca andando verso l’alto e verso il basso. Graficamente, otteniamo la figura seguente

O y

– 77 –
Lezione XI Curve parametriche

Alternativamente possiamo ottenere l’elica conica partendo da una spirale nel piano ed applicando
ai suoi punti quindi una traslazione T uscente dal piano e variabile con t.

O y

La spirale nel piano e la traslazione sono date da


 
1 0 0 0

x = at cos t

0 1 0 0
y = at sin t e T =
0

 0 1 ct
z=0

0 0 0 1

Otteniamo quindi la stessa espressione di prima per l’elica conica


    
1 0 0 0 at cos t at cos t

0 1 0 0   at sin t   at sin t  x = at cos t

  =  ⇒ y = at sin t
0 0 1 ct  0   ct  
z = ct

0 0 0 1 1 1

– 78 –
. Lezione XI

Piano

Piano
Il piano è un ente fondamentale nella geometria euclidea insieme al punto ed alla retta. Si
può descrivere come una superficie piatta infinita, e si indica solitamente con lettere minuscole
dell’alfabeto greco, per esempio

α, β, γ, δ, π, . . .

O y

Un piano nello spazio è individuato da tre punti non allineati. Se i punti sono allineati, ovvero
sulla stessa retta, allora otteniamo infiniti piani che passano per tale retta.

z z

P1 P1
P3
P2
P2
P3

O y O y

x x

Per tre punti non allineati passa uno e un sol piano. Alternativamente possiamo definire un piano
dati una retta ed un punto esterno ad essa, oppure date due rette non sghembe (ossia parallele
ma distinte, oppure incidenti). Infine, possiamo descrivere un piano con un punto e la normale
(vettore perpendicolare) al piano. Una rappresentazione grafica di questi casi è la seguente
Lezione XI Piano

z z

P r s r

Punto di intersezione

O y O y

x x
z z

s r P
n

O y O y

x x

Equazione parametrica del piano


Nel caso della retta l’equazione parametrica era

r : x = dt + q

dove osserviamo che la retta, che è un oggetto con una sola dimensione, dipende dal vettore
direzione d e da un singolo parametro t. Nel caso di un piano α invece abbiamo la necessità di
usare due vettori che possiamo chiamare d1 e d2 associati a due parametri, ad esempio t e s.
Infatti, sappiamo che per due rette incidenti passa un solo piano. Consideriamo quindi

r1 : x = d1 t + q1 r2 : x = d2 s + q2

Considero quindi i vettori direzione non paralleli di queste due rette d1 e d2 , che ora vengono detti
vettori giacitura del piano. Essi definiscono la giacitura del piano, ovvero la sua inclinazione nello
spazio.
Partiamo anzitutto dalla discussione del caso di un piano passante per l’origine: in questo caso, per
”raggiungere” un punto qualsiasi mi posso muovere lungo le direzioni d1 e d2 , con un meccanismo
simile a quello visto per la retta ma in due direzioni non parallele.

d1

O d2 y

Un punto generico del piano dipenderà quindi dai due parametri t, s ∈ R, come

x = d1 t + d2 s,

– 80 –
Lezione XI Piano

e quindi dato il valore di t e s abbiamo un punto preciso appartenente al piano. Ad esempio

t = 0, s = 0 ⇒ x = d1 · 0 + d2 · 0
t = 1, s = 1 ⇒ x = d1 · 1 + d2 · 1 = d1 + d2
t = 1, s = 0 ⇒ x = d1 · 1 + d2 · 0 = d1

Graficamente otteniamo
z

d1
O d2
x
y

Vediamo alcuni casi particolari e semplici di piano. Il piano xy ha i vettori giacitura d1 = i e


d2 = j. L’equazione parametrica di questo piano è quindi data da

x = t
   
1 0 
x = 0 t + 1 s ⇒ y=s .
0 0

z=0

O y

Il piano yz ha vettori giacitura d1 = j e d2 = k. L’equazione parametrica di questo piano è data


da

x = 0
   
0 0 
x = 1 t + 0 s ⇒ y=t .
0 1

z=s

O y

– 81 –
Lezione XI Piano

Il piano zx ha vettori giacitura d1 = i e d2 = k. L’equazione parametrica di questo piano è data


da

x = t
   
1 0 
x = 0 t + 0 s ⇒ y=0 .
0 1

z=s

O y

Notiamo che nella scelta dei vettori giacitura avremmo potuto scegliere anche −i, 2i, ecc. cioè la
forma parametrica del piano, come quella della retta, non è unica.

Esempio 11.1

Sia dato il piano π di equazione



x = t

π : y = −t con t, s ∈ R.

z=s

I vettori giacitura sono dati da d1 le cui componenti sono i coefficienti di t e d2 di componenti i


coefficienti di s:
   
1 0
d1 = −1 e d2 = 0 .
0 1

Otteniamo quindi l’equazione in forma vettoriale

x = d1 t + d2 s.

d2

O y
d1

Per calcolare la normale n al piano posso calcolare il vettore che risulta normale (ortogonale) sia

– 82 –
Lezione XI Piano

a d1 e d2 , ovvero
 
i j k
n = d1 × d2 = det d1x d1y d1z 
d2x d2y d2z

Esempio 11.2

Per calcolare la normale del piano visto nell’esempio precedente abbiamo


   
i j k   −1
i j
n = d1 × d2 = det 1 −1 0  = 1 · det = −i − j = −1
1 −1
0 0 1 0

d2

O y
d1

L’equazione cartesiana del piano passante per l’origine è data da

ax + by + cz = 0

P = (xP , yP , zP )
π
α= 2

O y

Che legame esiste con i vettori giacitura e la normae? Ogni punto P del piano soddisfa la condizione
~ =0
n · OP ⇒ nx xp + ny yp + nz zp = 0

Quindi i coefficienti a, b e c nell’equazione cartesiana sono proprio le componenti della normale, a


meno di un coefficiente (non importa, infatti, il modulo della normale ma solo la sua direzione!)

Piani non passanti per l’origine


Procediamo come fatto con le rette, studiando il seguente esempio.

– 83 –
Lezione XI Piano

Esempio 11.3

Cercare il piano α con vettori giacitura d1 e d2 dati da


   
1 0
d1 = 1 e d2 = 0
0 1
e passante per il punto Q = (1, 0, 0)

d2

O y
d1
Q

Costruisco anzitutto il piano β k α, ossia con gli stessi vettori giacitura, ma passante per l’origine
O. Tale piano è dato da

x = t

β: y=t

z=s

d2

O y
d1
Q

Successivamente traslo il piano β portando il punto O su Q. Risulta



−−→ x = t + 1

α : x = d1 t + d2 s + OQ ⇒ y=t

z=s

d2

O y
d1
Q

– 84 –
Lezione XI Piano

Quindi il piano passante per il punto Q è dato da


−−→
α : x = d1 t + d2 s + OQ

Distanza di un piano dall’origine



La distanza di un punto P dall’origine O è data da OP . Un piano contiene infiniti punti,
~

quale quindi considero per valutare la distanza del piano dall’origine? Voglio prendere la minima
distanza, dato che quella massima è chiaramente infinita. La distanza minima è quella misurata
in direzione normale al piano

dist

O y

x
−−→
Dobbiamo quindi proiettare il vettore OP nella direzione di n e la distanza viene calcolata come

~ ·n
OP
dist = ~ · n̂
= OP
knk

Costruzione del piano dati tre punti


Siano dati i tre punti A, B e C non allineati tra loro: allora essi definiscono un solo piano.

B
A

O y

Per costruire l’equazione del piano, costruiamo i vettori giacitura congiungendo i punti due a due.
Successivamente imponiamo che il piano passi per uno dei tre punti (uno qualsiasi!).

Esempio 11.4

Siano dati i tre punti A = (1, 0, 0), B = (0, 1, 0) e C = (0, 0, 1)

– 85 –
Lezione XII Piano

O B y

A
x

I vettori giacitura sono calcolabili, per esempio, come


           
0 1 −1 0 1 −1
d1 = B − A = 1 − 0 =  1  e d2 = C − A = 0 − 0 =  0 
0 0 0 1 0 1

Questo implica che l’equazione del piano è data da


   
−1 −1
−→
x =  1  t +  0  s + OA
0 1

In alternativa avrei potuto calcolare i vettori giacitura come una diversa combinazione dei punti,
così come avrei potuto imporre il passaggio per B o C al posto di A.

Posizione reciproca retta-piano


Discutiamo ora come capire se, data una retta r ed un piano α, essi sono paralleli o ortogonali
(oppure nessuna delle precedenti). Per fare ciò devo confrontare il vettore direzione d della retta
con il vettore n normale al piano.

z z

n n
d d

r
α α

O y O y

x x

La retta è ortogonale al piano se il suo vettore direzione è parallelo al vettore normale, ovvero se
esiste λ tale che

d = λn ⇒ r ⊥ α.

La retta è invece parallela al piano se il vettore direzione è ortogonale al vettore normale, ovvero
se

d⊥n ⇒ d·n=0 ⇒ r k α.

– 86 –
. Lezione XII

Superfici parametriche

Generazioni di superfici parametriche


Un esempio di superficie parametrica è il piano, definito come
       
x d1x d2x xP
~
π : x = d1 t + d2 s + OP scritto anche come y  = d1y  t + d2y  s +  yP 
z d1z d2z zP

che può essere scritto anche come



x = d1x t + d2x s + xP

y = d1y t + d2y s + yP

z = d1z t + d2z s + zP

Il piano è una superficie, un oggetto a due dimensioni e definita da due parametri t ∈ R e s ∈ R.


Generalizzando ogni superficie parametrica può essere scritta come

x = fx (t, s)

y = fy (t, s)

z = fz (t, s)

Vogliamo ora capire come ottenere superfici parametriche con l’applicazione di trasformazioni a
curve.

Cilindro
Il cilindro si può ottenere come trasformazione di una circonferenza C, traslata lungo l’asse passante
per il centro della circonferenza.

z z z

t≥0 t≥0 t≥0

r r r
y y y

x x x

L’equazione della circonferenza passante per l’origine degli assi è data da



x = r cos θ

C : y = r sin θ con 0 ≤ θ ≤ 2π.

z=0

Lezione XII Superfici parametriche

La traslazione T lungo l’asse delle quote z con vettore traslazione [0, 0, t]> è data da
 
1 0 0 0
0 1 0 0
T =  con t ∈ R
0 0 1 t
0 0 0 1

Applichiamo quindi ad ogni punto della circonferenza C, in coordinate omogenee, la matrice T per
ottenere
    
1 0 0 0 r cos θ r cos θ
0 1 0 0  r sin θ   r sin θ 
0 0 1 t   0  =  t 
    

0 0 0 1 1 1

Otteniamo che l’equazione del cilindro c con asse passante per l’origine degli assi è dato da

x = r cos θ

c : y = r sin θ con 0 ≤ θ ≤ 2π e t ∈ R

z=t

L’equazione parametrica del cilindro è definita quindi da due parametri θ e t. A t fissato con θ mi
muovo lungo una circonferenza a z costante, come mostrato in figura

r
y

Mentre a θ fissato con t mi muovo su o giù ad angolo costante, in figura risulta

r
y

Ad ogni punto corrisponde una coppia (θ, t) e viceversa.

– 88 –
Lezione XII Superfici parametriche

Esempio 12.1

Il punto P = ( 2r , 3 2r , 1) appartiene al cilindro? Per determinarlo inseriamo le coordinate di P
nell’equazione del cilindro
 
r 1
√
 2 = r cos θ cos θ = √
 2
π
r
3 2 = r sin θ sin θ = 23 ⇒ θ= et=1
  3
1=t t=1
 

Quindi il punto P appartiene al cilindro. Il punto Q = (r, r, −1) appartiene al cilindro?


Procediamo come prima, ottenendo
 
r = r cos θ
 cos θ = 1

r = r sin θ sin θ = 1
 
−1 = t t = −1
 

ma risulta impossible ottenere un angolo θ che contemporaneamente soddisfi le prime due


equazioni. Quindi il punto Q non appartiene al cilindro.

Esiste un modo alternativo per ottenere un cilindro. Possiamo usare come curva generatrice una
retta, che deve essere parallela ad un asse e quindi ruotare intorno a tale asse. Graficamente
otteniamo

z z

O y O y
r r

x x

L’equazione della retta r in forma parametrica, ad esempio parallela all’asse delle quote, e della
matrice di rotazione Rz sono date da

x = r
 
 cos θ − sin θ 0
r: y=0 con t ∈ R Rz =  sin θ cos θ 0 con 0 ≤ θ ≤ 2π
0 0 1

z=t

Applicando quindi la rotazione Rz a tutti i punti della retta abbiamo


    
cos θ − sin θ 0 r r cos θ
 sin θ cos θ 0 0 =  r sin θ 
0 0 1 t t

Che risulta uguale a quanto derivato precedentemente.

Cono
Usando l’approccio appena visto con il cilindro ma applicato ad una retta inclinata otteniamo una
superficie conica.

– 89 –
Lezione XII Superfici parametriche

z z

O y O y

x x

L’equazione della retta r e della matrice di rotazione Rz sono dati da



x = at
 
 cos θ − sin θ 0
r: y=0 con t ∈ R Rz =  sin θ cos θ 0 con 0 ≤ θ ≤ 2π
0 0 1

z = bt

dove a e b sono due numeri reali che determinano l’inclinazione della retta. Applicando la rotazione
Rz a tutti i punti della retta inclinata r otteniamo
    
cos θ − sin θ 0 at at cos θ
 sin θ cos θ 0  0  =  at sin θ 
0 0 1 bt bt
Che risulta l’equazione del cono. Il valore β dato da tan β = a/b è detto semi-apertura del cono.
L’equazione del cono c risulta quindi data da

x = at cos θ

c : y = at sin θ con 0 ≤ θ ≤ 2π e t ∈ R

z = bt

Un modo alternativo di ottenere un cono è utilizzando una traslazione e un successivo scaling di


una circonferenza.

z z

O y O y

x x

Infatti, l’equazione della circonferenza (unitaria) C, la matrice di scaling S in coordinate omogenee


e quella di traslazione sono dati da
 
at 0 0 0

 x = cos θ
  0 at 0 0
C : y = sin θ con 0 ≤ θ ≤ 2π S=  0 0 1 0 con t ∈ R


z=0

0 0 0 1
 
1 0 0 0
0 1 0 0 
T = 0 0 1 bt con t ∈ R

0 0 0 1

– 90 –
Lezione XII Superfici parametriche

Dove i parametri sono θ e t mentre gli altri sono valori dati. Applicando lo scaling S e
successivamente la traslazione T ad ogni punto della circonferenza C otteniamo
          
cos θ 1 0 0 0 at 0 0 0 cos θ 1 0 0 0 at cos θ at cos θ
 sin θ  0 1 0 0  0 at 0 0  sin θ  0 1 0 0  at sin θ  =  at sin θ 
   
TS 
 0  = 0
    =
0 1 bt  0 0 1 0  0  0 0 1 bt   0   bt 
0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 1

Che fornisce la stessa parametrizzazione vista precedentemente del cono.

Sfera
Per ottenere una sfera partiamo da una circonferenza C e la ruotiamo

O y

L’equazione della circonferenza C e della matrice di rotazione Rx sono dati da



x = r cos θ
 
 1 0 0
C : y = r sin θ con 0 ≤ θ ≤ 2π Rx = 0 cos φ − sin φ con 0 ≤ φ ≤ π
0 sin φ cos φ

z=0

Applicando la rotazione Rx ad ogni punto della circonferenza C otteniamo


    
1 0 0 r cos θ r cos θ
0 cos φ − sin φ  r sin θ  = r sin θ cos φ
0 sin φ cos φ 0 r sin θ sin φ

E quindi la sfera s è descritta dalla seguente equazione parametrica



x = r cos θ

s : y = r sin θ cos φ con 0 ≤ θ ≤ 2π e 0 ≤ φ ≤ π

z = r sin θ sin φ

O y

Ruotando intorno all’asse delle ordinate y avrei ottenuto un’altra parametrizzazione della stessa
sfera.

– 91 –
Lezione XIII Superfici parametriche

Toro
Utilizzando la stessa strategia vista per la generazione della sfera ma partendo da una circonferenza
non centrata nell’origine otteniamo il toro. Consideriamo l’equazione della circonferenza C e della
matrice di rotazione Rz

x = r cos θ + k
 
 cos φ − sin φ 0
C: y=0 con 0 ≤ θ ≤ 2π Rz =  sin φ cos φ 0 con 0 ≤ φ ≤ 2π
0 0 1

z = r sin θ

y
r
k

Applicando ad ogni punto della circonferenza C la matrice di rotazione Rz otteniamo


    
cos φ − sin φ 0 r cos θ + k r cos θ cos φ + k cos φ
 sin φ cos φ 0  0  =  r cos θ sin φ + k sin φ 
0 0 1 r sin θ r sin θ

L’equazione parametrica del toro t risulta quindi data da



x = r cos θ cos φ + k cos φ

t : y = r cos θ sin φ + k sin φ con 0 ≤ θ ≤ 2π e 0 ≤ φ ≤ 2π

z = r sin θ

O y

– 92 –
. Lezione XIII

Curve di Bézier

Curve di Bézier
Per poter descrivere le forme tramite curve parametriche in modo più naturale ed intuitivo, in-
troduciamo le curve dette “freeform”, ossia curve parametriche polinomiali definite da un insieme
di punti detti punti di controllo. Sono curve che vengono comunemente utilizzate nei software di
grafica. Una classe importante sono le curve di Bézier, inventate nel 1959 da due matematici e
ingegneri francesi Pierre Bézier e Paul de Casteljau.
Queste curve sono definite da un set di punti Pi numerati a partire da 0 come P0 , P1 , . . . , Pn e
indicati dai corrispondenti vettori pi . I punti Pi vengono detti punti di controllo e determinano
l’andamento della curva.

y P3

P1

P2
P0
x
La spezzata che li unisce è detta poligono o reticolo di controllo. I casi più comuni sono quelli delle
curve con 3 o 4 punti di controllo, ma si possono definire anche con un numero qualsiasi (n + 1)
di punti.
Partiamo dal caso più semplice.

Curva di Bézier a due punti


La curva di Bézier a due punti è semplicemente il segmento che congiunge P0 a P1 .

y P1

P0
x
Tale segmento di retta si può scrivere come porzione di retta,

x(t) = (p1 − p0 )t + p0 con 0 ≤ t ≤ 1

limitando l’intervallo del parametro t.


Lezione XIII Curve di Bézier

Ri-ordinando i termini l’equazione precedente si può scrivere anche come

x(t) = (1 − t)p0 + tp1

ossia come media pesata di p0 e p1 , dove i pesi sono funzione di t. Definisco le cosiddette funzioni
di base

B0 (t) = 1 − t e B1 (t) = t

Ottenendo quindi che x si può scrivere anche come

x(t) = B0 (t)p0 + B1 (t)p1

Notiamo che B0 e B1 sono polinomi di primo grado, in cui B0 diminuisce e B1 cresce all’aumentare
di t, come mostrato in figura

y
1
B0
B1

1 x
B0 rappresenta l’“importanza” o il peso del punto p0 al variare di t. È quindi massimo all’inizio
per poi decrescere e diventare nullo alla fine. Un discorso analogo (opposto) si applica a B1 . Infatti
abbiamo
t=0: B0 (0) = 1 B1 (0) = 0 x(0) = p0
t=1: B0 (1) = 0 B1 (1) = 1 x(1) = p1
     
1 1 1 1 1 1 1
t = : B0 = B1 = x = (p0 + p1 )
2 2 2 2 2 2 2

quest’ultimo è appunto il punto medio tra p0 e p1 .


Notiamo che nel caso di una curva con 2 punti di controllo le funzioni di base sono di grado 1 ossia
la variabile t compare al massimo alla prima potenza.

Curva di Bézier a tre punti


In questo caso P0 è il punto iniziale della curva, P2 il punto finale e P1 un punto di controllo che
non appartiene alla curva ma ne influenza la forma.

P1

P2
P0
x
L’espressione di tale curva è data da

x(t) = B0 (t)p0 + B1 (t)p1 + B2 (t)p2 con 0 ≤ t ≤ 1

– 94 –
Lezione XIII Curve di Bézier

dove B0 , B1 e B2 sono le funzioni di base associate alla curva. Per determinare la loro espressione
possiamo utilizzare l’algoritmo di de Casteljau che permette di costruire graficamente la curva e
di ricavare le funzioni di base.

Esempio 13.1

Data la curva di Bézier a tre punti cerco il punto P corrispondente a t = 13 .

y
P1

Q1

Q0
P2
P0

x
Per costruire la curva prendo Q0 ad un terzo del lato formato tra P0 e P1 e Q1 ad un terzo del
lato formato tra P1 e P2 . Collego quindi con un segmento Q0 e Q1 , il punto ad un terzo di tale
segmento è il valore di x( 13 )

y
P1

Q1

x
Q0
P2
P0

Generalizziamo quanto visto nell’esempio ad un t generico. Q0 si trova sul lato P0 P1 in una


posizione dipendente da t (es a un terzo per t = 13 ), analogamente per Q1 , ovvero abbiamo
q0 = (1 − t)p0 + tp1 e q1 = (1 − t)p1 + tp2
Infine abbiamo il punto x valutato in t, che si trova sul segmento Q0 Q1 ed è dato da
x(t) = (1 − t)q0 + tq1 = (1 − t)[(1 − t)p0 + tp1 ] + t[(1 − t)p1 + tp2 ] =
(1 − t)2 p0 + (1 − t)tp1 + t2 p2
In questo modo otteniamo che le funzioni di base in questo caso sono date da
B0 (t) = (1 − t)2 B1 (t) = 2(1 − t)t B2 (t) = t2
y
1
B0
B1
B2

1 x
Notiamo che B0 è massimo in t = 0 e nulla in t = 1, B1 è nulla in t = 0 e massima in t = 1.

– 95 –
Lezione XIII Curve di Bézier

Infine B1 è nulla in t = 0 e t = 1 mentre è massima in t = 12 . Vuole dire che il peso del punto P1
è massimo in t = 12 ma non è mai pari a 1. Infatti la curva non passa per P1 .
Notiamo che nel caso di una curva con 3 punti di controllo le funzioni di base sono di grado 2 ossia
la variabile t compare al massimo alla seconda potenza.

Curva di Bézier a quattro punti


L’equazione della curva di Bézier a quattro punti è data da

x(t) = B0 (t)p0 + B1 (t)p1 + B2 (t)p2 + B3 (t)p3 con 0 ≤ t ≤ 1

y P2

P1

P3

P0
x
dove Bi sono le funzioni di base e si possono ricavare tramite il metodo di de Casteljau. La
procedura è analoga a quanto fatto precedentemente, consideriamo quindi i punti dipendenti da t
q0 , q1 e q2 che descrivono curve di Bézier di primo grado

q0 (t) = (1 − t)p0 + tp1 q1 (t) = (1 − t)p1 + tp2 q2 (t) = (1 − t)p2 + tp3

y P2
Q2
Q1
P1

P3

Q0

P0
x
Considerando una combinazione dei qi posso ottenere dei nuovi punti ri (t) che, notiamo, descrivono
curve di Bézier di grado due

r0 (t) = (1 − t)q0 + tq1 = (1 − t)2 p0 + 2t(1 − t)p1 + t2 p2


r1 (t) = (1 − t)q1 + tq2 = (1 − t)2 p1 + 2t(1 − t)p2 + t2 p3

y P2
Q2
Q1
P1 R1

P3
R0
Q0

P0
x
Infine siamo in grado di costruire la curva di Bézier cercata, ossia di grado tre, che è data da

x(t) = (1 − t)r0 + tr1 = (1 − t)[(1 − t)2 p0 + 2t(1 − t)p1 + t2 p2 ]+


t[(1 − t)2 p1 + 2t(1 − t)p2 + t2 p3 ] = (1 − t)3 p0 + 3(1 − t)2 tp1 + 3(1 − t)t2 p2 + t3 p3

– 96 –
Lezione XIII Curve di Bézier

y P2
Q2
Q1
P1 R1
x(t)
P3
R0
Q0

P0
x
In questo caso le funzioni di base sono quindi date da

B0 (t) = (1 − t)3 B1 (t) = 3(1 − t)2 t B2 (t) = 3(1 − t)t2 B3 (t) = t3

y
1
B0 B3

B1 B2

1 x
Notiamo che B1 e B2 hanno il massimo inferiore per t = 1, infatti P1 e P2 non appartengono alla
curva.

Notiamo che nel caso di una curva con 4 punti di controllo le funzioni di base sono di grado 3 ossia
la variabile t compare al massimo alla terza potenza.

Curve di Bézier a n + 1 punti


Inoltre notiamo che esiste una struttura comune nelle funzioni di base, ovvero abbiamo due fattori
1 − t e t elevati ad opportuni esponenti. In particolare per il grado n trovo le funzioni di base
calcolando lo sviluppo di

[(1 − t) + t]n = a0 (1 − t)n t0 + a1 (1 − t)n−1 t1 + a2 (1 − t)n−2 t2 + . . . + an (1 − t)0 tn

dove i coefficienti a0 , a1 , . . . , an si possono trovare con la tecnica del triangolo di Tartaglia. Vediamo
con un esempio.

Esempio 13.2

Calcoliamo i coefficienti ai della formula precedente per n = 4, ovvero

[(1 − t) + t]4 = a0 (1 − t)4 + a1 (1 − t)3 t + a2 (1 − t)2 t2 + a3 (1 − t)1 t3 + a4 t4

Il triangolo di Tartaglia corrispondente è dato da

– 97 –
Lezione XIII Curve di Bézier

1 1

1 2 1

1 3 3 1

1 4 6 4 1
I coefficienti sono quindi dati da a0 = 1, a1 = 4, a2 = 6, a3 = 4 e a4 = 1.

In generale per una curva ad n + 1 punti, quindi una curva di grado n, l’espressione della curva di
Bézeir è data da
n
X
x(t) = Bi (t)pi
i=0

Prestiamo attenzione alla seguente proprietà: la somma delle funzioni di base


n
X
Bi (t) = [(1 − t) + t]n = 1n = 1.
i=0

La somma delle Bi fa sempre 1 indipendentemente dal valore di t. Dal punto di vista geometrico
ogni punto della curva è una media pesata dei punti di controllo Pi e la somma dei pesi fa 1.
La curva risulta quindi contenuta nell’inviluppo convesso dei punti di controllo, dove inviluppo
convesso indica il più piccolo poligono convesso che contiene questi punti. Un poligono è detto
convesso se dati due punti interni, il segmento che li congiunge è completamente interno.

y y


no

x x
Per esempio i poligoni di controllo di due curve sono dati da

y P2 y P2
P3 P3
P1

P1
P0 P0

x x
Riassumiamo ora alcune delle principali proprietà delle curve di Bézier:

– 98 –
Lezione XIII Curve di Bézier

• il grado è legato al numero di punti, ovvero una curva è di grado n quando è definita da
n + 1 punti;
• la curva passa per il primo punto P0 e per l’ultimo punto Pn+1 , gli altri non appartengono
alla curva;
• non località: ogni punto influenza l’intera curva, questo perchè i pesi Bi sono non nulli su
tutto l’intervallo [0, 1] (tranne che agli estremi);
• le curve sono contenute nell’inviluppo convesso dei punti Pi , se i punti Pi sono complanari
la curva è piana;
• variation diminishing: una qualsiasi retta interseca la curva un numero di volte uguale
o inferiore alle intersezioni con il poligono di controllo, come rappresentato nella figura
seguente;

y P2 y P2 y P2
P3 P3 P3
P1 P1 P1

Okay: 2 volte la curva Okay: 2 volte la curva Impossibile!


2 volte il poligono 0 volte il poligono

P0 P0 P0

x x x

• invarianza per trasformazioni affini: è equivalente applicare una trasformazione affine alla
curva di Bézier, oppure trasformare i punti di controllo e poi ricostruire la curva.

Raccordo fra curve di Bézier


Quando vogliamo descrivere forme complesse ed articolate, abbiamo bisogno di tanti punti di
controllo. Questo risulta sconveniente per due motivi: il grado sale col numero di punti, otteniamo
quindi funzioni molto costose da poter calcolare. Inoltre, ogni punto influenza tutta la curva e non
una sola porzione della stessa. Piuttosto conviene raccordare o collegare diverse curve di Bézier
fra loro. Il raccordo può essere di diversi tipi e con diversi tipi di regolarità.
Il requisito minimo è che il primo punto della curva 2 coincida con l’ultimo della curva 1, cioè se
la curva 1 è descritta come x(t) = f1 (t) e la curva 2 come x(t) = f2 (t) richiedo che

f1 (1) = f2 (0)

dove f è l’espressione parametrica della curva di Bézier, (ricordiamo che per curve di Bézier il
parametro t è sempre fra 0 e 1) ottenendo quindi la rappresentazione grafica seguente

y t=1 y
t=0
t=1
t=1

curva 2
t=0 t=0
curva 1
x x
In questo caso si parla di continuità zero o C perchè è continua nel punto di raccordo solo la
0

posizione, ma non ho nessuna garanzia sull’andamento delle tangenti. Infatti nel punto di raccordo

– 99 –
Lezione XIII Curve di Bézier

si può formare un angolo

y
t=1

t=0

x
Tuttavia se quello che desideriamo è un raccordo liscio tra le due curve allora si può richiedere che
nel punto di raccordo sia continuo anche il vettore tangente

y
t=1

t=0

x
Cos’è, e come si ottiene il vettore tangente ad una curva? Nel caso della retta è semplicemente
uguale al vettore direzione d. In generale peró è un vettore diverso punto per punto

x
Considero il punto P corrispondente a t = t e poi un punto vicino ad esso, Q, valutato in t = t+∆t.
Se il valore di ∆t è piccolo allora P e Q sono vicini e il vettore q(t + ∆t) − p(t) è circa tangente
alla curva.

y y

Q
q−p
P
q
p

x x
Rigorosamente il vettore tangente si calcola per ∆t che tende a zero e corrisponde anche al calcolo
della derivata della curva
q(t + ∆t) − p(t)
lim
∆t→0 ∆t

– 100 –
Lezione XIII Curve di Bézier

Ci sono regole per il calcolo delle derivate di funzioni qualsiasi ma non sono argomento di questo
corso. Nel caso delle curve di Bézier ci sono formule semplificate per il vettore tangente in t = 0
e t = 1. Vediamo alcuni casi
Per una curva di Bézier di grado 1 il segmento è una retta e quindi il vettore tangente è costante
e pari a

f 0 (t) = p1 − p0

P1

p1 − p0
P0

x
Per una curva di grado 2 il vettore tangente cambia in ogni punto della curva, e per gli estremi è
dato da

f 0 (0) = 2(p1 − p0 ) e f 0 (1) = 2(p2 − p1 )

Notiamo che f 0 (0) e f 0 (1) sono paralleli e proporzionali al primo e ultimo lato del poligono di
controllo; il coefficiente 2 corrisponde al grado della curva.

P2

P0

Esempio 13.3

La curva è definita dai punti P0 = (0, 0) e P1 = (1, 2) e voglio posizionare P2 per avere f 0 (1) =
[2, 0]> . Abbiamo quindi

2(p2 − p1 ) = [2, 0]> p2 − p1 = [1, 0]> p2 = [1, 0]> + [1, 2]> = [2, 2]>

E quindi il punto P2 = (2, 2) e graficamente otteniamo

P1 f 0 (1)
P2

P0 x

– 101 –
Lezione XIII Curve di Bézier

Per una curva di Bézier a quattro punti, ovvero di grado tre, anche in questo caso f 0 (0) e f 0 (1)
sono proporzionali ai lati del poligono di controllo

y
P2
P3
P1 f 0 (1)

f 0 (0)

P0 x

f 0 (0) = 3(p1 − p0 ) e f 0 (1) = 3(p3 − p2 ),

e il coefficiente 3 corrisponde al grado della curva. In generale per una curva a n + 1 punti, ossia
di grado n, abbiamo la seguente espressione per le derivate agli estremi della curva

f 0 (0) = n(p1 − p0 ) e f 0 (1) = n(pn − pn−1 )

Se quindi voglio un raccordo liscio fra due curve ho due possibilità:

• impongo che i vettori tangenti siano uguali: ottengo una continuità di tipo C 1 in cui è
continua la derivata prima.

• oppure possono imporre che i vettori tangenti siano solo proporzionali ottenendo quindi una
continuità di tipo G1 , o geometrica.

La differenza tra le due è rappresentata graficamente da

y y

C1 C1

x x
Osserviamo che dal punto di vista geometrico entrambi i raccordi sono lisci, ma se i vettori tangenti
sono solo paralleli (diversi in modulo) cambia la velocità di percorrenza della curva nel punto di
raccordo.

Esempio 13.4

È data la curva definita da P0 = (0, 0), P1 = (1, 1), P2 = (3, 0) e P3 = (2, 1). Vogliamo costruire
un’altra curva di grado 3 con i punti Q0 , Q1 , Q2 e Q3 che si raccordi in P3 con continuità di tipo
C 1.

– 102 –
Lezione XIII Curve di Bézier

P1 P3

P2
P0 x
Impongo quindi innanzitutto una continuità C 0 ossia richiedo che

Q0 = P3 ovvero Q0 = (2, 1)

Successivamente impongo una continuità di tipo C 1 della tangente f 0 (1) = 3(p3 − p2 ) cerco quindi
f20 (0) vettore tangente alla seconda curva in t = 0 imponendo

f20 (0) = 3(q1 − q0 ) ⇒ f10 (1) = f20 (0) ⇒ 3(p3 − p2 ) = 3(q1 − q0 )

Inoltre so già che q0 = p3


         
2 3 4 3 1
p3 − p2 = q1 − q0 q1 = 2p3 − p2 = 2 − = − =
1 0 2 0 2

E quindi otteniamo Q1 = (1, 2), mentre per i punti Q2 e Q3 non avendo altri vincoli possono essere
scelti a piacere.

y Q3

Q1

Q2
P1 P3 = Q 0

P2
P0 x

Ripetiamo l’esempio seguente il caso in cui voglio fare un raccordo nel caso in cui le curve abbiano
grado differente.

Esempio 13.5

Consideriamo i punti Pi dell’esempio precedente ma vogliamo costruire una seconda curva che si
raccordi in maniera liscia, e che sia di grado pari a 2. Dobbiamo quindi determinare tre punti
Q0 , Q1 e Q2 . Imponendo la continuità di tipo C 0 ottengo che Q0 = P3 come visto nel caso
precedente. Quello che cambia è la continuità della derivata infatti per la seconda curva abbiamo
che f20 (0) = 2(q1 − q0 ) ed otteniamo
3
3(p3 − p2 ) = 2(q1 − q0 ) (p3 − p2 ) = q1 − q0
  2   10   9   1 
5 3 5 2 3 3
q1 = p 3 − p 2 = − = 25 − 2 = 25
2 2 2 1 2 0 2 0 2

Quindi il punto Q1 = ( 12 , 52 ) e il punto Q2 è scelto liberamente.

– 103 –
Lezione XIII Curve di Bézier

y Q2

Q1

P1 P3 = Q 0

P2
P0 x

– 104 –

Potrebbero piacerti anche