Vous êtes sur la page 1sur 12

MODELLAZIONE DI CURVE

458

Introduzione

Una curva nel piano o nello spazio può rappresentarsi utilizzando diverse
formulazioni matematiche:

Formulazione esplicita: y = f (x ) (Formulazione analitica

Formulazione implicita: F ( x, y ) = 0 o non parametrica)

 x = f (u )

Formulazione parametrica:  y = g (u )
 z = h(u )

I due grandi gruppi della formulazione parametrica ed analitica


presentano vantaggi e svantaggi che sono riassunti nella trasparenza
seguente.

Appunti di Disegno Tecnico Industriale 459

1
Confronto tra la rappresentazione analitica e
quella parametrica

Formulazione analitica Formulazione parametrica


↓ Le operazioni di trasformazione ↑ Le operazioni di trasformazione
geometrica (rotazione, traslazione, geometrica (rotazione, traslazione,
cambiamento di scala) risultano di difficile cambiamento di scala) risultano di facile
esecuzione esecuzione
↓ L’operazione di calcolo di un punto su ↑ L’operazione di calcolo di un punto su
una curva risulta laborioso una curva risulta immediato
↑ L’operazione di verifica ↓ L’operazione di verifica
dell’appartenenza di un punto ad una dell’appartenenza di un punto ad una
curva risulta immediato curva risulta laborioso
↓ È difficile rappresentare segmenti di ↓ Si possono presentare problemi di
curva (è la rappresentazione naturale di discontinuità del parametro (es. curve
curve non limitate) chiuse) non associati a discontinuità della
geometria
↓ È difficile rappresentare segmenti di
curva illimitati (è la rappresentazione
naturale di segmenti limitati di curva)

Appunti di Disegno Tecnico Industriale 460

Curve parametriche

In generale, dal punto di vista teorico, non esiste una formulazione che, in
tutti i casi, risulta migliore delle altre.
L’esperienza ha tuttavia dimostrato che, nella grafica computerizzata, la
formulazione parametrica semplifica l’implementazione al calcolatore. La
rappresentazione parametrica è dunque quella maggiormente utilizzata,
mentre la rappresentazione analitica è limitata a casi particolari.
La formulazione generale di una curva parametrica, come detto è la seguente:

C = C(u )

La curva C(u) è rappresentata attraverso una funzione vettoriale della


variabile scalare (parametro) u. Tale funzione, pur potendo essere, in linea
teorica, arbitraria, deve tuttavia soddisfare i seguenti requisiti:
-Rappresentare adeguatamente le geometrie richieste;
-Permettere una implementazione efficiente;
-Avere una forma comprensibile e intuitiva per l’operatore

Appunti di Disegno Tecnico Industriale 461

2
Curve parametriche come serie di funzioni

La formulazione matematica più utilizzata per la rappresentazione di curve


parametriche in ambiente CAD è quella in serie di funzioni, secondo cui la curva
è descritta nel modo che segue:

C(u ) = ∑ Ti Fi (u )
n

i =0

In questo caso la Fi(u) è una funzione scalare del parametro u, mentre Ti


rappresenta un generico coefficiente vettoriale tridimensionale. Nella maggiore
parte dei casi gli Ti sono effettivamente punti dello spazio (punti di controllo).
Gli Ti sono i coefficienti della serie di funzioni, mentre le Fi(u), dette funzioni
base o funzioni di miscelamento, determinano i diversi possibili tipi di
rappresentazione delle curve.
È importante notare come, in generale, non è possibile rappresentare,
esattamente, tutte le possibili curve attraverso questo schema, dipendendo, tale
possibilità di rappresentazione, dalle funzioni di base scelte.
Nel disegno assistito dal calcolatore si utilizzano, normalmente, quali funzioni base,
funzioni polinomiali o funzioni polinomiali fratte (funzioni razionali).

Appunti di Disegno Tecnico Industriale 462

Rappresentazione in serie di potenze (Hermite)


La rappresentazione in serie di potenze si basa su una formulazione polinomiale
del seguente tipo: n
C(u ) = ∑ a i u i ; 0 ≤ u ≤ 1
i =0
È una rappresentazione dove i coefficienti ai rappresentano dei parametri non
direttamente associati ad un significato geometrico. Le funzioni base Fi(u) sono
semplicemente potenze del parametro u.
Volendo ad essi associare un significato geometrico si può ad esempio per n = 3,
assegnare il passaggio per 2 punti (P0 e P1) nonché il vettore tangente nei due
punti (P0’ e P1’). In questo caso si ottiene la formulazione di Hermite:

P0 = P(0 ) = a 0 a 0 = P0
P1 = P(1) = a 0 + a1 + a 2 + a 3 a1 = P0'
P0' = P0' (0 ) = a1 a 2 = −3P0 + 3P1 − 2P0' − P1'
P1' = P ' (1) = a1 + 2a 2 + 3a 3 a 3 = 2P0 − 2P1 + P0' + P1'

Appunti di Disegno Tecnico Industriale 463

3
Rappresentazione in serie di potenze
(Lagrange)

È possibile anche ricavare i coefficienti ai imponendo il passaggio della curva per


quattro punti dati (sempre per n = 3). In questo caso si ottiene la formulazione di
Lagrange:

Supponendo che i valori di u in corrispondenza dei punti di controllo siano


{0,1/3,2/3,1} si ha
P0 = P (0) = a 0
Si ricavano i
1 1 1
P1 = P(1 / 3) = a0 + a1 + a 2 + a3 coefficienti ai in
3 9 27
2 4 8 funzione dei punti di
P2 = P(2 / 3) = a0 + a1 + a 2 + a3
3 9 27 passaggio Pi
P3 = P(1) = a 0 + a1 + a 2 + a 3

La rappresentazione in serie di potenze è di solito poco utilizzata per i seguenti


motivi:
-i coefficienti ai non sono direttamente legati alla geometria;
-si verificano problemi di implementazione numerica (coefficienti che variano
molto e quindi problemi di arrotondamento)

Appunti di Disegno Tecnico Industriale 464

Rappresentazione polinomiale di Bézier


La rappresentazione di Bézier si basa anch’essa su una formulazione di tipo
polinomiale:
n
C(u ) = ∑ Pi Bi ,n (u ) 0 ≤ u ≤1
i =0

Essendo le Bi,n funzioni polinomiali così definite (polinomi di Bernstein):


 n n!
Bi ,n =  u i (1 − u ) = u i (1 − u )
n −i n −i

i i!(n − i )!
I coefficienti Pi, sono punti nello spazio costituenti il poligono di controllo della
curva. La forma della curva approssima il poligono di controllo.

Appunti di Disegno Tecnico Industriale 465

4
Caratteristiche delle funzioni base nella
rappresentazione di Bézier
La funzioni base della rappresentazione di Bézier godono delle seguenti
caratteristiche:
Non negatività: Bi ,n (u ) ≥ 0 ∀ i,n; 0 ≤ u ≤ 1
n
Somma uno: ∑ B (u ) = 1;
i =0
i ,n 0 ≤ u ≤1

Massimo unico nell’intervallo [0,1] in corrispondenza di u = i/n;


Simmetria: per ogni n le funzioni base sono simmetriche rispetto a u = ½;
Ricorsività: Bi ,n (u ) = (1 − u )Bi ,n −1 (u ) + uBi −1,n −1 (u );
con Bi ,n (u ) ≡ 0 per i < 0 o i > n
B(u)

= 3 (grado 3, 4 punti di
Funzioni di Bernstein per n
B(u)
per n = 2 (grado 2, 3
Funzioni di Bernstein

punti di controllo)

controllo)

0 1 u 0 1
u
Appunti di Disegno Tecnico Industriale 466

Proprietà della rappresentazione di Bézier


La rappresentazione polinomiale di Bézier gode
delle seguenti caratteristiche:
La curva costituisce un’approssimazione del
poligono di controllo (interpola, inoltre il punto
iniziale ed il punto finale);
La tangente alla curva nei punti iniziale (P0) e
finale (Pn) ha la direzione definita, rispettivamente,
da : P0P1 e PnPn-1.
La curva è interamente contenuta nel poligono
convesso definito dai punti di controllo;
Nessuna linea (piano) interseca la curva un numero
di volte maggiore di quelle che interseca il poligono
di controllo
Formulazione invariante rispetto ad una
 n  n
trasformazione affine dello spazio (la T  ∑ Pi Bi ,n (u ) = ∑ T (Pi )Bi ,n (u )
trasformazione applicata alla curva equivale ad  i =0  i =0
applicare la stessa ai punti di controllo):

Appunti di Disegno Tecnico Industriale 467

5
Vantaggi e svantaggi della rappresentazione di
Bézier

VANTAGGI SVANTAGGI
Rappresentazione intuitiva Grado della curva dipendente dal
facilmente manipolabile per via numero di punti di controllo (n punti
interattiva (spostamento punti di → grado n-1)
controllo):
Necessari gradi elevati per
La formulazione ricorsiva permette una rappresentare forme complesse
efficiente implementazione del
Mancanza di controllo locale: il
calcolo di punti sulla curva (meno
movimento di un punto di controllo
soggetta ad errori numerici rispetto alla
modifica la forma dell’intera curva
formulazione di Hermite)
(funzioni base tutte non nulle per u ∈
]0,1[)

Appunti di Disegno Tecnico Industriale 468

Rappresentazioni polinomiali a tratti

La rappresentazione di Bézier presenta il doppio inconveniente che 1) richiede


gradi elevati all’aumentare del numero di punti di controllo e 2) la
modifica della curva è globale (lo spostamento di un punto di controllo
modifica la forma della curva in tutto il dominio).
Per superare questi inconvenienti si può procedere nel seguente modo:
-spezzare il dominio parametrico della curva in vari tratti;
-definire delle funzioni base che:
1) siano non nulle solo in alcuni tratti;
2) abbiano un opportuno livello di continuità;
3) il loro grado si indipendente dal numero di punti di controllo

Appunti di Disegno Tecnico Industriale 469

6
Rappresentazione polinomiale a tratti B-Spline
La rappresentazione polinomiale a tratti di tipo B-Spline (secondo la formulazione
di Cox-deBoor) è così definita: n
C(u ) = ∑ Pi N i , p (u )
i =0
Essendo le Ni,n funzioni polinomiali aventi la seguente formulazione:
1 se ki ≤ u ≤ ki +1
N i ,0 (u ) = 
0 altrimenti
u − ki ki + p +1 − u
N i , p (u ) = N i , p −1 (u ) + N i +1, p −1 (u )
ki + p − ki ki + p +1 − ki +1
K = {k0,…,km} rappresenta un vettore di valori reali non decrescenti (non
necessariamente distinti) denominati nodi (knots). Nella definizione si assume che
0/0 = 0.
p è il grado della curva;
Il vettore dei nodi “spezza” il
(n+1) il numero di punti di controllo; dominio della curva in modo da
permettere la formulazione a tratti
(m+1) il numero dei nodi;
Il numero dei nodi (m+1), il grado della curva (p), il numero dei punti di controllo
(n+1) sono tra loro legati dalla relazione: (m + 1) = (n +1 ) + p + 1
Appunti di Disegno Tecnico Industriale 470

Caratteristiche delle funzioni base nella


rappresentazione B-Spline
La funzioni base della rappresentazione B-Spline godono delle seguenti
caratteristiche:
Supporto locale: ciascuna Ni,p(u) è non nulla solo all’interno dell’intervallo
[ki,ki+p+1[
Non negatività: N i , p (u ) ≥ 0 ∀ i, p , u
In ogni intervallo [ki,ki+1[ vi sono al più p+1 funzioni base non nulle (Nj-p,p,…Nj,p)
i
Somma uno: ∑ N (u ) = 1
j =i − p
j, p ∀ u ∈ [ki ,ki +1[

Differenziabilità: (p – r) volte in corrispondenza di un nodo, essendo r la


molteplicità del nodo; infinite volte internamente agli intervalli nodali

N(u) N(u)

u u

Funzioni B-spline di grado 1 con U Funzioni B-spline di grado 2 con U


={0,0,0,1,2,3,4,4,5,5,5} ={0,0,0,1,2,3,4,4,5,5,5}
Appunti di Disegno Tecnico Industriale 471

7
Considerazioni sul vettore dei nodi nella
rappresentazione B-Spline
Le funzioni base della rappresentazione B-Spline, Ni,p(u), risultano univocamente
determinate una volta fissato il grado p ed il vettore dei nodi {k0,…,km}.
Il vettore dei nodi è uniforme se tutti i suoi nodi sono equamente spaziati, ossia
se esiste un valore d tale che ki+1 – ki = d per ogni i ∈ [p,m-p-1]

Il vettore dei nodi è periodico se Il vettore dei nodi è invece non


ha la seguente formulazione: periodico (ovvero aperto o
clamped) se ha la seguente
ki = i − p ( 0 ≤ i ≤ n + p) formulazione:
0 0≤i≤ p

ki = i − p + 1 p ≤ i ≤ n
n − p + 2 n < i ≤ n + p

{− 3,−2,−1,0,1,2,3} {0,0,0,1,2,2,2}
Esempio di vettore dei nodi periodico e non periodico per una B-Spline di grado
2 definita da 4 punti di controllo. Se il vettore è non periodico la curva
passa per il punto iniziale e finale, altrimenti no.

Appunti di Disegno Tecnico Industriale 472

Proprietà della rappresentazione B-Spline:


forma della curva
Il poligono di controllo costituisce un’approssimazione lineare a tratti della curva.
In generale minore è il grado della spline, minore la sua distanza dal poligono di
controllo

p=5
p=4

p=2
p=3
p=1
Effetto del cambiamento di grado su una curva B-Spline definita dallo stesso
poligono di controllo.

Appunti di Disegno Tecnico Industriale 473

8
Proprietà della rappresentazione B-Spline:
gestione locale della geometria
Gestione locale della geometria: la modifica di un punto di controllo Pi
comporta una modifica della curva soltanto nell’intervallo [ki,ki+p+1[.
u = 1/2
u = 1/4
u=0

u=1 u = 3/4

Curva B-Spline di grado 3, 7 punti di controllo, con vettore dei nodi U =


{0,0,0,0,1/4,1/2,3/4,1,1,1,1}. Lo spostamento del punto P4 provoca una modifica della
curva soltanto nell’intervallo parametrico [1/4,1[

Appunti di Disegno Tecnico Industriale 474

Proprietà della rappresentazione B-Spline:


inclusione nel poligono convesso
Inclusione nel poligono convesso: l’intera curva è contenuta nel poligono
convesso definito dai punti di controllo.
Inoltre ciascun tratto della curva definito da
u ∈ [ki,ki+1[
è compreso nel poligono convesso descritto dai punti di controllo
{Pi-p,…Pi} u = 1/3

u=1
u = 2/3

u=0

Curva B-Spline di grado 3, 5 punti di controllo, con vettore dei nodi U =


{0,0,0,0,1/3,2/3,1,1,1,1}. Nell’intervallo parametrico u = [1/3,2/3[ la curva è compresa
nel poligono convesso definito dai punti di controllo {P1,P4}.

Appunti di Disegno Tecnico Industriale 475

9
Altre proprietà della rappresentazione B-Spline
La formulazione della curva è invariante rispetto ad una trasformazione
affine dello spazio: la curva trasformata di una curva data definita da punti di
controllo assegnati è ottenuta applicando la trasformazione ai punti di controllo.
La rappresentazione B-Spline include la rappresentazione di Bézier come caso
particolare quando si ponga:
(n+1) = p+1 e K = {0,…,0,1,…,1}
La derivata di una curva B-Spline di grado p si può esprimere formalmente ancora
come una B-Spline di grado p-1:

n −1 Pi +1 − Pi
C' (u ) = ∑ N i , p −1 (u )Q i essendo Qi = p
i =0
ki + p +1 − ki +1

mentre il vettore dei nodi K’ è ottenuto dal vettore K togliendo da questo ultimo il
primo e l’ultimo elemento.

Appunti di Disegno Tecnico Industriale 476

Le curve coniche
Le curve coniche rivestono un ruolo primario nella modellazione assistita dal
calcolatore, pertanto la loro rappresentazione assume particolare rilevanza. La
rappresentazione analitica di una conica generica è la seguente

ax 2 + 2bxy + cy 2 + 2dx + 2ey + f = 0

Una conica si dice in forma standard quando il suo o i suoi assi di simmetria
coincidono con gli assi del sistema di riferimento. In questo caso si hanno le
seguenti formulazioni:
Conica Formulazione analitica Formulazione parametrica

 a(b 2 + a 2t 2 ) 2ab 2t 
2 2
x y
Iperbole − =1  a 2t 2 − b 2 , a 2t 2 − b 2 
a 2 b2  
Parabola y = mx2 (t , mt )
2

x2 y2  a (1 − t )2
2bt 
Ellisse + =1  1+ t2 ,
a 2 b2  1 + t 2 
Da ciò si osserva che con le tecniche viste finora (funzioni base polinomiali e
polinomiali a tratti) è possibile rappresentare esattamente soltanto la parabola.
Appunti di Disegno Tecnico Industriale 477

10
Rappresentazione attraverso polinomi razionali
(NURBS)
La rappresentazione di curve attraverso polinomi razionali è definita nel modo
seguente: n N i , p (u )wi
C(u ) = ∑ Pi Ri , p (u ); con Ri , p = n
i =0
∑ N (u )w
j =0
j, p j

Essendo le Ni,n funzioni base della rappresentazione B-Spline già viste in


precedenza.
K = {k0,…,km} rappresenta il vettore dei nodi, mentre W = {w0,…,wn} è il vettore dei
pesi.
Si può mostrare come questa rappresentazione sia formalmente equivalente alla
formulazione B-Spline quando si esprimano i punti di controllo in coordinate
omogenee:

n (wi xi , wi yi , wi zi , wi ), se wi ≠ 0
C(u ) = ∑ P i N i , p (u ); con P i = 
i =0 (xi , yi , z j ,0), se wi = 0

Appunti di Disegno Tecnico Industriale 478

Caratteristiche delle funzioni base nella


rappresentazione con polinomi razionali
I polinomi razionali che rappresentano le funzioni base di questo schema di
rappresentazione godono delle seguenti caratteristiche:

Supporto locale: ciascuna Ri,p(u) è non nulla solo all’interno dell’intervallo


[ki,ki+p+1[
Non negatività: Ri , p (u ) ≥ 0 ∀ i, p; u ∈ [0,1]
n
Somma uno: ∑ R (u ) = 1
i =0
i, p ∀ u ∈ [0,1]
Differenziabilità: (p – r) volte in corrispondenza di un nodo, essendo r la
molteplicità del nodo; infinite volte internamente agli intervalli nodali
Se wi = 1 ∀ i, allora le Ri,p(u) coincidono con le Ni,p(u) precedentemente viste.
Effetto del
R(u) R(u) diverso peso

u u

Funzioni B-spline razionali di grado 3 con U Funzioni B-spline razionali di grado 3 con U
={0,0,0,0,1/4,1/2,3/4,1,1,1,1} e w = {1,1,1,1,1,1,1} ={0,0,0,0,1/4,1/2,3/4,1,1,1,1} e w = {1,1,1,3/10,1,1,1}
Appunti di Disegno Tecnico Industriale 479

11
Proprietà della rappresentazione con polinomi
razionali
Valgono le proprietà precedentemente viste: gestione locale della geometria,
invarianza della formulazione a trasformazione affine, inclusione nel
poligono convesso e proprietà dell’intersezione (un piano/curva non interseca
la curva più volte di quelle che interseca il poligono di controllo). Inoltre:

La rappresentazione con polinomi razionali


aggiunge un ulteriore parametro di
modifica della geometria: il peso associato
a ciascun punto di controllo.

Le coniche possono essere rappresentate


esattamente attraverso polinomi razionali,
mentre esse possono essere rappresentate Effetto della variazione del peso associato al
solo approssimativamente utilizzando le punto P3 sulla forma della curva.
altre formulazioni (B-Spline, Bézier)

Appunti di Disegno Tecnico Industriale 480

Esempio: rappresentazione di un arco di


circonferenza con polinomi razionali
Si vuole rappresentare una semicirconferenza sul piano x-y di centro l’origine e di
raggio r. Mostriamo come si possa fare attraverso un NURBS di grado 2, il vettore
dei nodi K = [0,0,0,1,1,1], il vettore dei pesi W = [1,0,1] ed i seguenti tre punti di
controllo (in coordinate omogenee):
P0 = (r,0,1); P1 = (0,r,0); P2 = (-r,0,1)

Sostituendo si ottiene:

C(u ) =
(1 − u )2 P0 + u 2 P2 + 2u (1 − u )
P1
1 − 2u + 2u 2 1 − 2u + 2u 2
Da cui:
r (1 − 2u ) 2ru (1 − u )
x(u ) = y (u ) =
1 − 2u + 2u 2 1 − 2u + 2u 2
Per la quale risulta:

x 2 (u ) + y 2 (u ) = r 2 ∀ u

Appunti di Disegno Tecnico Industriale 481

12

Vous aimerez peut-être aussi