Il 0% ha trovato utile questo documento (0 voti)
9 visualizzazioni32 pagine

MGFL

Il documento tratta della modellazione geometrica nel contesto dei sistemi CAD/CAM, evidenziando l'importanza della creazione di modelli geometrici digitali per la progettazione e produzione industriale. Viene discusso l'uso di formulazioni parametriche per rappresentare curve e superfici, insieme alle trasformazioni geometriche fondamentali come traslazione e rotazione. Infine, si sottolinea l'importanza della geometria computazionale per facilitare la manipolazione e l'analisi delle entità geometriche.

Caricato da

Uninanavale
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOC, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
9 visualizzazioni32 pagine

MGFL

Il documento tratta della modellazione geometrica nel contesto dei sistemi CAD/CAM, evidenziando l'importanza della creazione di modelli geometrici digitali per la progettazione e produzione industriale. Viene discusso l'uso di formulazioni parametriche per rappresentare curve e superfici, insieme alle trasformazioni geometriche fondamentali come traslazione e rotazione. Infine, si sottolinea l'importanza della geometria computazionale per facilitare la manipolazione e l'analisi delle entità geometriche.

Caricato da

Uninanavale
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOC, PDF, TXT o leggi online su Scribd

E.

Santoro -Appunti di Modellazione Geometrica

APPUNTI di

MODELLAZIONE

GEOMETRICA

Prof. Esamuele Santoro

a.a. 2008/2009

1
E. Santoro -Appunti di Modellazione Geometrica

Introduzione

L’utilizzazione dei sistemi CAD ( Computer Aided Design)/ CAM ( Computer


Aided Manufacturing) , le cui prime applicazioni risalgono agli anni ’60 del secolo
scorso, ha comportato una modifica dei metodi e processi tradizionali del Disegno
Tecnico, della progettazione e produzione di un prodotto industriale.
Il modulo centrale di un qualsiasi sistema CAD/CAM è quello che permette di
costruire un modello geometrico digitale del prodotto, che sarà utilizzato da altri moduli
del CAD/CAM per effettuare le analisi ( strutturali, termiche, cinematiche, ecc.) e nel
CAM per definire il percorso utensile delle macchine a controllo numerico.
Uno stesso prodotto può essere rappresentato da differenti modelli geometrici,
che dipendono dalle primitive grafiche disponibili sul CAD. Dai primi modellatori
geometrici disponibili sui sistemi CAD, che utilizzavano solo entità geometriche come il
punto e la retta, attualmente i sistemi CAD permettono di costruire differenti modelli
geometrici 3-D, che dipendono dalle particolari analisi CAD richieste.
Un’altra caratteristica degli attuali modellatori geometrici è di essere parametrici,
dove le dimensioni sono dei parametri a cui è possibile assegnare e modificare i valori
senza ripetere tutto il processo di costruzione del modello geometrico. Inoltre nei
modellatori geometrici parametrici è possibile assegnare delle relazioni tra le dimensioni
del prodotto, per cui modificando una lunghezza si modificano tutte le lunghezze ad essa
collegata.
Le entità geometriche utilizzate dal CAD, per costruire il modello digitale del
prodotto, sono : il punto, la curva , la superficie e i solidi 3D. Per rappresentare le curve
e le superfici si utilizzano delle formulazioni parametriche, che sono state sviluppate e
ottenute nell’ambito di un settore della geometria, che viene indicato come “computation
geometry” , su cui è possibile effettuare con più facilità sia operazioni di manipolazioni,
trasformazioni, modifiche delle entità geometriche sia a rappresentarle sul monitor di un
computer.
Pertanto, lo studio delle basi matematiche della modellazione geometrica
( computational geometry) è fondamentale per chi vuole iniziare ad utilizzare un sistema
CAD.

2
E. Santoro -Appunti di Modellazione Geometrica

1.1 Formulazione parametrica di rette e piani.

1.1.1 Formulazione esplicita ed implicita delle curve.

La retta è la più semplice curva e la sua equazione più familiare sul piano (x,y) è data da
y=mx+c (1.1)
deve m è la pendenza e c è l'intersezione della retta con l'asse y.
La (1.1) è l’equazione esplicita della retta e permette di calcolare la variabile
dipendente y una volta assegnato il valore di x.
Purtroppo, questa semplice e diffusa formulazione non permette di rappresentare le
linee verticali, come x=1.
Se si assegnano due punti P1(x1,y1) e P2(x2,y2), la retta che passa per questi punti è

o nella forma più simmetrica 1.2)

La (1.2) è la forma implicita di una retta, perché y può essere calcolato, per un
assegnato valore di x, solo risolvendo l’equazione. Lo stesso vale se si vuole calcolare x
per un assegnato valore di y. Pertanto, nella (1.2) non esiste una variabile dipendente.
La formulazione implicita (1.2), diversamente dalla (1.1) permette di rappresentare le
linee verticali, infatti se x2=x1 ed y2y1 l'equazione della retta verticale è

x=x1

In generale, la formulazione implicita di una retta è data da


ax+by+c=0

che per b=0 rappresenta una retta verticale.


Le formulazioni esplicita ed implicita di una curva piana nel sistema bidimensionale
(O ;x,y) sono rispettivamente

y=f(x) e g(x,y)=0 (1.3)


La forma esplicita è accettabile quando la curva ha un solo valore di y per ogni x
e non presenta tangenti verticali. Purtroppo con tale formulazione non è possibile
rappresentare importanti curve come l’ellisse. Ad esempio, l’equazione della
circonferenza viene data, generalmente, nella formulazione implicita

Se si volesse la sua forma esplicita occorrerebbe dividerla in due parti, che


corrispondono ai valori positivi e negativi delle ordinate

3
E. Santoro -Appunti di Modellazione Geometrica

L’equazione della retta tangente ad una curva data in forma esplicita nel punto
P1=(x1,y1), è data dallo sviluppo lineare della funzione (1.3) ottenendo
(1.4)
Se la curva presenta una tangente verticale in P1 , la sua derivata assume valore
infinito e ciò è un’ulteriore verifica della difficoltà ad operare con la formulazione
esplicita.
Analogamente, lo sviluppo lineare della curva implicita g(x,y)=0 nel punto P 1=(x1,y1),
rappresenta l'equazione della tangente in tale punto ed è data

(1.5)

Problema 1.1: Calcolare la tangente all'ellisse 2 x 2  y 2  2 0 nel punto P1=(1/3,4/3).

Derivando l'equazione dell'ellisse si ha:

Dalla (1.5) si ha 2/3(x-1/3)+8/3(y-4/3)=0, che si semplifica nella : 3x+12y-17=0.

Il calcolo dell’equazione della retta normale si ottiene considerando che i


coefficienti angolari sono opposti e reciproci a quelli della tangente, pertanto si ha

1. 2 Formulazione parametrica di una curva nello spazio.

Se le coordinate x, y e z sono funzione di un parametro ausiliario t, si ha la


formulazione parametrica della curva, che è data da
x=x(t) y=y(t) z=z(t) atb (1.6)
Ad esempio, la circonferenza di centro C=(0,0,0) e raggio R nel piano (x,y) può
avere la seguente formulazione parametrica

Se il limite superiore del parametro t fosse stato posto eguale ad  avremmo


definito un arco di circonferenza compreso tra 0 ed .
Generalmente, si preferisce normalizzare il parametro t facendolo variare
nell’intervallo t[0,1], ciò si ottiene mediante una semplice trasformazione lineare.
Ad esempio se t[a,b] il corrispondente parametro normalizzato  sarà data dalla
trasformazione lineare

Nel nostro caso essendo a=0 e b=2, l’equazione parametrica normalizzata della
circonferenza diventa
x  R cos 2  x  Rsin  2  z=0 0   1

4
E. Santoro -Appunti di Modellazione Geometrica

La retta tangente alla curva parametrica (1.32) nel punto P 1(x1,y1,z1), dove x1=x(t1),
e y1=y(t1) e z1=z(t1) è data dallo sviluppo lineare delle componenti

Problema 1.4 : Calcolare la tangente e la normale all’ellisse di equazione x=2cos(2πt) ,


y=sin(2πt) nel punto P1=(sqrt(2),sqrt(2)/2) corrispondente al parametro t=1/8.

Poiché x’(t)=-4sin(2t) e y’(t)= 2cos(2t), la retta tangente è data da


Una curva può presentare diverse formulazioni parametriche così come è possibile
passare da una formulazione ad un'altra. La trasformazione che permette di ottenere una
formulazione implicita da una parametrica viene detta "implicitizzazione", mentre la
trasformazione inversa è detta "parametrizzazione".

Nel caso particolare di una retta passante per i punti P 1(x1,y1,z1) e P2(x2,y2,z2) la sua
equazione parametrica è data da

(1.7)
Si osserva che tutti i punti del segmento P1P2 si ottengono facendo variare t[0,1].
Associando a ciascun punto P=(x,y,z) il corrispondente vettore posizione
r=0P=(xi,yj,zk), l’equazione della retta passante per i punti P 1(x1,y1,z1) e P2(x2,y2,z2) può
essere descritta in termini vettoriali. Infatti, considerando la Fig. 1.1 si ha : r1+P1P=r.
Il vettore P1P a meno di uno scalare t ha la stessa direzione del vettore P1P2 per cui
si può porre P1P=tP1P2, pertanto l'equazione della retta è

r(t) = r1+ tP1P2= r1 + t (r2- r1)=(1-t) r1 +t r2 (1.8)


Se si esplicita la precedente equazione rispetto a ciascuna componente si ottiene la
formulazione parametrica (1.7). Pertanto, la formulazione vettoriale di una curva
rappresenta un modo più semplice e generale per esprimere la formulazione parametrica
in uno spazio Rn.
Se invece dei due punti viene assegnato un punto ed un versore direzione n,
l’equazione della retta è data da
r (t) = r1+t n.

5
E. Santoro -Appunti di Modellazione Geometrica

Fig. 1.1 : Rappresentazione di una retta.

Problema 1.5 : Calcolare l’equazione della retta passante per il punto P 1=(1,2,1) ed
avente direzione N=(1,2,2).
Se si considera il versore di N si ha n=(1/3,2/3,2/3), pertanto l’equazione della retta è

r= (1,2,1)+ t n → x=1+t/3 , y=2+t 2/3 , z= 1+ t 2/3.



Utilizzando i vettori è possibile ottenere facilmente anche l’equazione di un piano
passante per un assegnato punto P1 ed avente normale n.
Per ogni punto P appartenente al piano, il vettore P1P è normale a n, per cui il prodotto
scalare P1P .n=0 ; poiché P1P =r- r1 , l'equazione del piano è

(r-r1).n =0 → r.n = x nx+ y ny + z nz = r1.n = p (1.9)

dove lo scalare p rappresenta la distanza del piano dall’origine.

Fig. 1.2: Equazione del piano (r-r1).n =0.

6
E. Santoro -Appunti di Modellazione Geometrica

Dalla (1.9) si osserva che se f(x,y,z)=ax+by+cz+d=0 è l’equazione implicita del


piano, le componenti del vettore normale al piano sono

Per calcolare la distanza del piano dall’origine occorre considerare il versore di N,


pertanto abbiamo

Un piano può essere univocamente individuato anche quando sono assegnati tre suoi
punti non allineati. In questo caso se indichiamo con r1, r2 e r3 i vettori posizione dei tre
punti, la normale al piano è data dal prodotto vettoriali di due vettori giacenti sul piano.
Se si considerano i vettori (r2- r1) e (r3- r1), la normale è data da N=(r2- r1)x (r3- r1), per
cui il piano sarà
r.N =. ri .N

dove l'indice i può essere il valore 1, 2 o 3. E' preferibile sostituire ad N il suo versore n.
Problema 1.6: Calcolare la distanza del piano dall’origine passante per r1=(1,2,1) ed
avente normale N=(1,2,2).

Considerando il versore di N, che è n=(1/3,2/3,2/3) dalla (1.35) si ha l’equazione del


piano

per cui la distanza del piano dall'origine è uguale a 7/3.

2.1 Trasformazioni geometriche

Le trasformazioni geometriche sono molto utilizzate nei sistemi CAD/CAM per


la costruzione e visualizzazione di oggetti, per generare viste, ecc. e molti comandi
presenti nei sistemi CAD come traslazione, rotazione, specchio, zoom, ecc. non sono
altro che delle trasformazioni geometriche.
Un oggetto è un insieme di punti, per cui il problema della trasformazione
geometrica di un oggetto si riduce al problema della trasformazione geometrica di un
punto.

2.1.1 Trasformazione di traslazione, rotazione e scala


Una delle trasformazioni più semplici è quella di traslazione, che è individuata
da un vettore traslazione t. Se il sistema di riferimento è fisso e il punto P viene traslato,
la nuova posizione r1 del punto, sempre rispetto al sistema cartesiano (0;x,y,z), sarà data
da
r1=r+t (2.1.a)
Se invece, il punto resta fisso ed il sistema di riferimento viene traslato, la posizione di
P rispetto al nuovo sistema cartesiano (01 ;x1,y1,z1) sarà data da

7
E. Santoro -Appunti di Modellazione Geometrica

r1=r-t (2.1.b)

Pertanto, la traslazione del sistema di coordinate è equivalente alla traslazione


dell’oggetto in senso opposto

r r1

Fig. 2.1 : Traslazione

Un’altra trasformazione geometrica è quella di rotazione attorno ad un asse. Se


l’asse di rotazione non passa per l'origine del sistema di riferimento è sempre possibile
scomporre la trasformazione di rotazione in una traslazione, tale che l’asse di rotazione
passi per l’origine del sistema, una rotazione attorno all'asse che passa per l'origine e
una traslazione che riporta l'asse nella posizione iniziale. Inoltre, una rotazione attorno
ad un'asse generico che passi per l'origine può sempre essere scomposta in tre rotazioni
attorno ai tre assi principali del sistema di riferimento.
Per motivi di semplicità consideriamo una trasformazione di rotazione attorno ad
un'asse principale, ed in particolare consideriamo la rotazione attorno all’asse z di un
angolo  del punto avente coordinate P=(x,y,z) = (Rcos, Rsin, z). Dopo la rotazione
il punto P avrà le seguenti coordinate
x1=Rcos()=Rcos cos - R sin sin 
y1=Rsin ()=Rcos sin + R sin cos 
z1=z
Poiché prima della rotazione le coordinate erano x= R cos e y= R sin, sostituendo tali
valori nella precedente equazione ed esprimendola in forma matriciale si ha

(2.2)

La matrice ARz è detta matrice di trasformazione di rotazione o più


semplicemente matrice di rotazione. Se si calcola il suo determinante si osserva che è
uguale ad 1; ciò significa che in tale trasformazione le dimensioni dell’oggetto restano
invariate.
Le matrici di rotazione attorno agli assi y e z sono simili alla (2.2).
Il prodotto tra matrici non gode della proprietà commutativa ( A B  B A ), pertanto
occorre ben rispettare l'ordine con cui si moltiplicano le matrici di rotazione A Rx , ARy e
ARz per ottenere la matrice di rotazione attorno ad un generico asse.

8
E. Santoro -Appunti di Modellazione Geometrica

Se si desidera modificare le dimensioni di un oggetto occorre effettuare una


trasformazione geometrica di scala, che consiste nel moltiplicare ciascuna coordinata
per uno fattore di scala. Se (S x,Sy,Sz) sono i fattori di scala degli assi principali x, y e z,
anche questa trasformazione può essere espressa nella seguente forma matriciale

(2.3)

I valori dei fattore di scala possono essere anche negativi, in tali casi si ha anche
una trasformazione di riflessione rispetto ad un piano principale del sistema di
riferimento. Così ad esempio se Sx=1, Sy=-1 e Sz=2 la trasformazione comporta una
riflessione dell’oggetto rispetto al piano xz .

Analizzando le precedenti trasformazioni, osserviamo che ad eccezione della


traslazione le altre possono essere rappresentate mediante una matrice di
trasformazione. Se potessimo esprimere anche la traslazione mediante una matrice di
trasformazione, potremmo rappresentare una generica trasformazione come prodotto di
più matrici e quindi avere un’unica matrice di trasformazione.
Per poter ottenere ciò è necessario introdurre le coordinate omogenee.
In generale le coordinate omogenee di uno spazio di n dimensioni sono rappresentate
da n+1 coordinate.
Ad esempio, considerando un punto P=(x,y,z) dello spazio 3-D, le sue corrispondenti
coordinate omogenee sono date dal punto P*=(x*,y*,z*,m) , dove m è uno scalare
diverso da zero. Le coordinate dei due spazi sono collegate tra di loro dalle relazioni

x= x*/m , y=y*/m , z=z*/m

In generale m può assumere un valore qualsiasi, pertanto possiamo dire che ad


ogni punto p corrisponde una retta nel sistema di coordinate omogenee.
Se si assume per semplicità m=1 abbiamo che i valori delle prime tre coordinate di P*
sono eguali a quelli di P.
Utilizzando le coordinate omogenee risulta possibile esprimere la trasformazione di
traslazione r1=r-t mediante il seguente prodotto matriciale

(2.4)

dove (tx,ty,tz) sono le componenti del vettore traslazione t, AT è la matrice di traslazione


e R1 ed R sono le corrispondenti coordinate omogenee di r e r1.
Se si esprimono anche le altre trasformazioni mediante le coordinate omogenee si ha
che la corrispondenti matrici di trasformazione avranno dimensione 4x4, dove i termini
della quarta riga e colonna hanno valori zero ad eccezione del termine a 4,4=1.

9
E. Santoro -Appunti di Modellazione Geometrica

Una generica trasformazione può sempre essere scomposta nelle elementari


trasformazione ma per ottenere la sua matrice di trasformazione occorre tenere ben
presente la sequenza delle trasformazioni perché il prodotto tra matrici non è
commutativo.

3.1 Curve e superfici nel CAD

3.1.1 Curve cubiche di Ferguson

Ferguson nel 1963, per modellare la forma di una fusoliera, utilizzò una generica
curva parametrica di terzo grado in funzione di due punti estremi e dei valori delle
tangenti in tali punti.
Tale curva permetteva un più facile controllo delle caratteristiche geometriche anche
nello spazio 3D.
Se si considera una generica posizione di un punto della curva, rappresentata dal vettore
r(t) si ha
(3.1)
dove i coefficienti ai sono quattro vettori che dipendono dalle condizioni imposte alla
curva. Se vengono assegnati i punti estremi r(0), r(1) e le rispettive derivate r’(0) e
r’(1), dalla (3.1) abbiamo

(3.2)

Risolvendo il sistema (3.2) è possibile esprimere la (3.1) in funzione delle condizioni


assegnate,ottenendo

(3.3)

Ovviamente, i vettori derivate r’(0) e r’(1) sono proporzionali ai versori T(0) e T(1)
della curva r(t), pertanto se sono noti i versori tangenti si ha r’(0)=0T(0) e
r’(1)=1T(0), dove 0 e 1 sono due valori scalari.

Esercizio :Calcolare la curva di Ferguson avente le seguente condizioni : r(0)=(0,0),


r(1)=(1,1/2), r’(0)=(1,0), r’(1)=(0,1). Calcolare, inoltre,la derivata per t=0.5

Soluzione : La curva è piana, ha le stesse condizioni del primo tratto di conica


dell’esempio precedente e i vettori derivata sono uguali ai versori tangente. Sostituendo
i valori assegnati nella (2.6) e considerando ciascuna componente abbiamo

x(t ) t  t 2  t 3 y (t ) t 2 / 2 0 t 1

10
E. Santoro -Appunti di Modellazione Geometrica

dy dy / dt t
La funzione derivata è   che per t=0.5 assume il valore 2/5.
dx dx / dt 1  2t  3t 2

3.2 Curve di Bézier

Verso il 1962 P. Bézier sviluppò presso la Renault un sistema software


(UNISURF) per rappresentare i pannelli dei veicoli. Egli inizialmente definì delle curve
cubiche parametriche che venivano controllate da quattro di punti ottenendo una
formulazione simile alla curva di Ferguson. Successivamente, nel 1970 generalizzò il
suo metodo per ottenere delle curve in funzione di un numero qualsiasi di punti.
Il poligono costituito dai precedenti punti venne indicato come poligono di controllo e
la forma di queste curve poteva essere facilmente modellata facendo variare la posizione
di uno o più punti di controllo.
Se indichiamo con Pi (0in) gli n+1 punti di controllo, la curva di Bèzier sarà una
curva polinomiale di grado n data da
(3.4)

Le componenti della (3.4) si ottengono considerando le corrispondenti componenti dei


punti di controllo. Le funzioni base ( o di raccordo) della (3.4) sono i polinomi di
Bernstein Bi,n(t), che per un assegnato n sono date da

Bi ,n (t ) C (n, i ) t i (1  t ) n i 0 t 1 (3.5)
dove C(n,i)=n !/[i!(n-i)!] è il coefficiente binomiale.
Si osserva che i polinomi di Bernstein, ad eccezione di B0,n(0)=1 e Bn,n(1)=1, hanno
valori positivi e diversi da zero nell’intervallo ]0,1[ e Bi,n(0)=Bi,n(1)=0. Dalla formula
dello sviluppo di una potenza di un binomio (a+b)n, si osserva che nel nostro caso si ha
a=t e b=1-t , pertanto
n

 Bi ,n (t ) 1 0 t 1
i 0

Eseguendo la derivata prima della (3.4) si ha, r’(0)=n(r1-r0) e r’(1)=n(rn-rn-1).


Le proprietà della curva di Bèzier dipendono da quelle dei polinomi di Bernstein, in
particolare si ha che:
1) La curva interpola il primo e l’ultimo punto di controllo e in tali punti è
tangente,
rispettivamente, al primo e all’ultimo segmento del poligono caratteristico.
2) La curva è racchiusa nel poligono caratteristico.
3) Se P0=Pn la curva è chiusa.

E’ facile verificare che per n=1 la curva di Bèzier è la retta avente per estremi i due
punti di controllo, cioè r(t)=tP0+(1-t)P1.
Un inconveniente della curva di Bèzier è che il suo grado dipende dal numero dei punti
di controllo ed inoltre se si sposta un punto di controllo tutta la curva si modifica.
Nelle applicazioni pratiche, quando si hanno molti punti di controllo, un modo per
superare la precedente dipendenza consiste nel suddividere il poligono di controllo. E’
ovvio, che nei punti di suddivisione i tratti di curva, in generale, hanno un ordine di

11
E. Santoro -Appunti di Modellazione Geometrica

continuità uguale a zero. Per avere in questi punti un ordine di continuità maggiore,
occorre utilizzare le proprietà del poligono di controllo. Così se si vuole che i segmenti
di curva prima e dopo un punto di suddivisione abbiano in tale punto lo stesso valore
della derivata prima, è necessario che vi sia un allineamento tra il punto di suddivisione
e i punti precedente e successivo del poligono di controllo.
Alcune curve semplici non polinomiali, come le ellissi, non possono essere modellate
tramite le curve di Bézier, per cui furono introdotte le curva di Bézier razionale date
da:

(3.6)

dove gli hi sono dei valori non negativi detti pesi ed associati ai punti di controllo e le
Rn,i(t) sono funzioni di base definite come:

Vengono mostrate due figure, nella prima Fig. 3.1 è riportata una curva chiusa di Bézier
definita da 5 punti di controllo, mentre nella Fig. 3.2 sono riportate 5 curve di Bézier
razionali, definite da 7 punti di controllo e dove al punto di controllo P3 vengono
assegnate rispettivamente i pesi h3= 0,1,2,4,5,1000, si osserva che quando h3=1000
l’unico punto di controllo che influisce sulla curva, oltre ai due estremi, è il punto P3.

12
E. Santoro -Appunti di Modellazione Geometrica

Fig.3.1 : Curva di Bezier non razionale

Fig. 3.2 : Curva di Bezier razionale

3.3 Curve B-splines

Le curve B-splines, analogamente alla curve di Bèzier, permettono di generare delle


curve a partire da un poligono di controllo. Le curve B-splines hanno il controllo locale
della curva e il loro grado non dipende dal numero dei punti di controllo.

13
E. Santoro -Appunti di Modellazione Geometrica

Le funzioni basi delle curve B-splines sono delle particolari funzioni polinomiali dette
funzioni B-splines, le cui interessanti proprietà , secondo alcuni studiosi, anche se sotto
una diversa formulazione matematica, erano note anche ad Eulero.
Nel 1946 il matematico Schoenberg propose un metodo per risolvere un problema
di interpolazione utilizzando particolari funzioni B-splines. Ma la diffusione delle B-
splines nelle applicazioni CAD si ebbe solo a partire dal 1972. Infatti, in tale data Cox,
de Boor e Mandfield, riuscirono a definire in modo ricorsivo le funzioni B-splines.
Una generica funzione di ordine n è ricorsiva se dipende dalle funzioni di grado
inferiore. La formula ricorsiva si basa su un ragionamento induttivo ed in generale è
data da
Fn=G(Fn-1,...,Fn-i) ni (3.7)

La prima funzione ricorsiva che si calcola con la (3.7) è quella di ordine i, che dipende
dalle assegnate condizioni iniziali Fi-1,...,F0.
Molti problemi presentano delle soluzioni ricorsive, ad esempio i numeri di Fibonacci
sono definiti dal seguente algoritmo ricorsivo

Fn=Fn-1+Fn-2 per n>1 e con F0=0 e F1=1


Analogamente, la funzione potenza n-ma di un monomio (axn ) può essere espressa
nella seguente formula ricorsiva :
Fn(x)=xFn-1 per n>0 e con F0=a

Per poter costruire una funzione B-splines occorre assegnare un ordine k (k-1=grado del
polinomio) ed un insieme di numeri, ordinati in modo crescente che viene chiamato
vettore nodi (knots) T={t0,t1,..,tm} i cui valori devono soddisfare la condizione : titi+1.
L’algoritmo ricorsivo della funzione B-spline di ordine k Mk,i(t) è dato da

(3.8)

Si osserva che Mk,i(t) assume valori positivi e diversi da zero solo


nell’intervallo ]ti,ti+k[, fuori a tale intervallo assume valore zero.
Una funzione B-spline di ordine k è una funzione polinomiale continua C k-2, due tratti
di curva che hanno in comune un nodo hanno su tale nodo valori differenti della
derivata (k-1).
Se i knots sono equidistanti la B-spline è detta uniforme, viceversa abbiamo una B-
spline non uniforme. Una particolare B-spline non-uniforme è quando alcuni knots
assumono lo stesso valore, in questi casi si dice che i knots hanno una molteplicità p,
che deve essere inferiore k. Nel caso di knots multipli si verifica che alcuni
denominatori della (3.8) assumono valori zero, in questi casi si pone tutta la frazione
eguale a zero.
La molteplicità di un nodo comporta che la funzione B-spline in quel nodo presenta una
continuità inferiore a k-2.

14
E. Santoro -Appunti di Modellazione Geometrica

Esercizio 3.3.1: Calcolare le funzioni B-splines di ordine 4 per T={0,1,1,3,4,5}.

Soluzione.
Partendo dalle B-splines di ordine uno (condizioni iniziali) si possono calcolare tutte le
B-spline di ordine 2, che sono le seguenti

Analogamente, le B-splines di ordine 3 sono

Infine, possiamo calcolare le due funzioni B-splines di ordine 4, che sono definite
rispettivamente sui nodi {0,1,1,3,4} e {1,1,3,4,5}

Se indichiamo con Pi (0in) gli n+1 punti di controllo, la curva B-splines di ordine k
sarà una curva polinomiale data da
(3.9)

Le componenti della (3.9) si ottengono considerando le corrispondenti componenti dei


punti di controllo.
In generale per una curva aperta i primi e gli ultimi valori dei knots hanno molteplicità k
e quindi t0=...=tk-1 e tm-k+1=...=tm .
Inoltre, poiché su m+1 knots è possibile definire solo m-k+1 funzioni B-splines di
ordine k si ha che i punti di controllo devono essere n=m-k.

3.4 Superfici Parametriche

Una generica superficie può essere ottenuta considerando il movimento di una


curva nello spazio, che durante il moto può anche deformarsi.
Sia r=r(u) una generica curva parametrica, la posizione che occuperà la curva al
tempo ti può essere espressa dalla funzione r=r(u,ti), pertanto considerando il tempo

15
E. Santoro -Appunti di Modellazione Geometrica

come un parametro si ha che la funzione r=r(u,t) (0u1 e 0ttn) rappresenterà una


superficie.
In generale qualsiasi funzione vettoriale S=S(u,v) di due variabili rappresenta
una superficie avente come componenti le funzioni x=x(u,v), y=y(u,v) e z=z(u,v) .
Se uno dei due parametri viene considerato come costante, l’equazione S=S(u,v0) e
S=S(u0,v) rappresentano due curve, dette isoparametriche, che appartengono alla
superficie S=S(u,v).
Le curve isoparametriche sono molto utili quando occorre visualizzare la
superficie. Infatti, scegliendo un certo numero di curve isoparametriche, generalmente
equidistanti lungo gli assi parametrici u e v, si ottiene una griglia di curve che ben
rappresenta l’andamento della superficie.
La più semplice superficie è quella di un piano, che può essere definita, rispetto
ad un sistema (0;x,y,z), da due assi a cui vengono associati i versori n1 e n2. Se r0 è il
vettore posizione del punto intersezione tra i due assi, si ha che un qualsiasi punto del
piano deve soddisfare l’equazione parametrica

r(u,v) = r0 +u n1+v n2 (3.10)

Le componenti della (3.10) sono

x(u,v) = x0 +u n1x+v n2x y(u,v) = y0 +u n1y+v n2y z(u,v) = z0 +u n1z+v n2z


Il vettore normale al piano (3.10) è dato dal seguente prodotto vettoriale
n=n1xn2/n1xn2.

Moltiplicando scalarmente tale vettore normale e la (3.10) ed essendo n1.n=0 e


n.n2=0 si ottiene r(u,v).n= r0.n, che rappresenta l’equazione di un piano passante per r0
ed avente normale n.
Anche la superficie di una sfera ha una semplice formulazione parametrica.
Supponendo che la sfera abbia raggio R e centro coincidente con l’origine del sistema di
assi cartesiani si ha

S(u,v)= R cos(u) sin(v) i +R sin(u) sin(v) j + R cos(v) k (3.11)

dove il parametro v è l’angolo tra l’asse z e il vettore posizione di un generico punto


appartenente alla superficie della sfera, mentre il parametro u è l’angolo formato tra
l’asse x e la proiezione del vettore posizione sul piano (x,y).

3.4.1 Superficie rigata

Una superficie rigata si può ottenere interpolando linearmente i punti di due


distinte curve situate nello spazio 3D. Pertanto, la principale proprietà di una superficie
rigata è che per qualsiasi suo punto passa almeno una linea retta giacente
completamente sulla superficie. Un’altra interessante proprietà è che una superficie
rigata è sviluppabile, cioè può essere distesa su un piano. Esempi semplici di superfici
rigate sono il cilindro e il cono.

16
E. Santoro -Appunti di Modellazione Geometrica

Siano r1 =r1(u) e r2=r2(u) due generiche curve parametriche, la superficie rigata


ottenuta da r1 e r2 è data da

S(u,v)=(1-v) r1(u)+v r2(u) (3.12)

Si osserva facilmente che per v=0 e v=1 le corrispondenti curve parametriche S(u,0) e
S(u,1) della superficie (3.12) coincidono con le due curve assegnate.
Una superficie rigata può essere ottenuta anche da una curva r= r1(u), detta generatrice,
che viene traslata in un’assegnata vettore direzione che può essere anche una funzione
di u (n(u)). Un punto generico di tale superficie è dato da

S(u,v)= r1(u)+v n(u) (3.13)

dove il parametro v indica la distanza del punto dalla curva generatrice.

Fig
:

Curve limiti per una superficie rigata

17
E. Santoro -Appunti di Modellazione Geometrica

Fig. : Superficie rigata ottenuta dalle due precedenti curve limiti chiuse.

Fig.: Curve limiti 3-D da cui è possibile ottenere una superficie rigata

18
E. Santoro -Appunti di Modellazione Geometrica

Fig. : Superficie rigata ottenuta dalle due precedenti curve limiti.

3.4.2 Superfici di rivoluzione

La rotazione di una curva piana r=r(u) attorno ad un asse genera una superficie
di rivoluzione. La curva piana è detta profilo e le posizioni da essa assunte durante la
rotazione individuano i meridiani della superficie, mentre le circonferenze ottenute
dalla rotazione dei punti appartenenti al profilo rappresentano i paralleli.
Supponendo che la curva sia definita sul piano (x,z) e ruoti attorno all’asse z, si
ha che l’equazione della superficie di rivoluzione è data da

S(u,v)=x(u) cos(v) i+x(u) sin(v) j + z(u) k (3.14)

dove il parametro v è l’angolo di rotazione del piano (x,z) attorno all’asse z.

19
E. Santoro -Appunti di Modellazione Geometrica

Fig. : Profilo per generare una superficie di rivoluzione

Fig. : Superficie di rivoluzione ottenuta dal precedente profilo

20
E. Santoro -Appunti di Modellazione Geometrica

3.4.3 Superficie di Coons

In generale, una patch di superficie è delimitata da quattro curve limiti che


individuano i bordi della superficie. Dal punto di vista teorico esistono infinite superfici
che interpolano le quattro curve, pertanto per individuare una soluzione è necessario
definire altri vincoli o condizioni. Ad esempio si potrebbe minimizzare la curvatura o la
superficie, ecc..
Nel CAD è la semplicità della soluzione che condiziona spesso la sua utilizzazione,
pertanto nel 1967 Coons non si perse nel complesso problema teorico di calcolare le
possibili soluzioni, ma propose un metodo che permetteva di definire una semplice
soluzione.
Siano r1=r1(u)=S(u,0), r2=r2(u)=S(u,1), r3=r3(v)=S(0,v) e r4=r4(v)=S(1,v) le quattro
curve che con le lori intersezioni determinano i quattro vertici S(0,0)=r1(0)=r3(0),
S(1,0)= r1(1)= r4(0), S(0,1)= r2(0)= r3(1) e S(1,1)= r2(1)= r4(1). Interpolando
linearmente le curve r1(u) e r2(u) e le curve r3(v) e r4(v) si ottengono le seguenti due
superfici rigate

S1(u,v)=(1-v) r1(u)+v r2(u) S2(u,v)=(1-u) r3(v)+u r2(v)

Sommando queste due superfici si ottiene una superficie S3(u,v)= S1(u,v)+ S2(u,v) che
non soddisfa le condizioni limiti; infatti la sua curva isoparametrica (v=0) si discosta
dalla condizione limite r1(u) di una quantità data dalla funzione racchiusa nella
parentesi quadra

S3(u,0)= r1(u)+[(1-u) r3(0)+u r2(0)]

S(u,v) r3(v)
r4(v) S(0,1)
r1(u) S(0,0) r2(u)
S(1,1)
S(1,0)

0 v

u
(1,1)

Analizzando le altre tre curve isoparametriche limiti di S3(u,v) si osserva che per
soddisfare le condizioni limiti occorre sottrarre ad S3(u,v) una quantità data dalla
superficie ottenuta interpolando linearmente due segmenti opposti del quadrilatero
definito dai precedenti quattro vertici. Se si considerano, ad esempio i due segmenti
definiti rispettivamente dai vertici S(0,0) , S(1,0) e S(0,1) , S(1,1), le cui equazioni sono
[(1-u) r1(0)+u r1(1)] e [(1-u) r2(0)+u r2(0)], interpolando linearmente nella direzione v
tali equazioni si ottiene la seguente superficie rigata detta bilineare

21
E. Santoro -Appunti di Modellazione Geometrica

S4(u,v)=(1-v) [(1-u) r1(0)+u r1(1)] +v [(1-u) r2(0)+u r2(1)] (3.15)

Una superficie bilineare ha la proprietà che per ogni suo punto passano due rette
appartenenti alla superficie. E’ facile verificare che la superficie

S(u,v)= S1(u,v)+ S2(u,v)- S4(u,v) (3.16)

soddisfa le quattro condizioni limiti e rappresenta pertanto la superficie di Coons.


Un inconveniente delle superfici di Coons è che se si definisce una superficie composta
da più patches di Coons ed ogni patch è ottenuta indipendentemente l’una dall’altra ma
solo considerando le condizioni limiti si ha che tra i bordi di patches adiacenti esiste
una continuità C0, per avere una continuità anche sulla derivate successive (pendenza,
curvatura) è necessaria una implementazione del metodo.

Fig. : Quattro curve limiti per definire una superficie di Conns

22
E. Santoro -Appunti di Modellazione Geometrica

Fig. : Superficie di Coons

3.4.4 Curve e Superfici Offset

Sia r=r(u) una generica curva parametrica e d(u) una funzione distanza definita
sulla curva r(u). La curva offset di r(u) è data da

roff(u)=r(u)+d(u) n(u) (3.17)

dove n(u) è il vettore normale alla curva r(u).


In modo analogo possiamo definire una superficie offset di S(u,v) data da

Soff(u,v)=S(u,v)+d(u,v) n(u,v) (3.18)

Se la funzione distanza è una costante si ottiene un offset costante, che è la condizione


più diffusa.

23
E. Santoro -Appunti di Modellazione Geometrica

3.4.5 Superfici di Bèzier e B-splines

Le superfici B-splines e di Bèzier sono un’estensione delle corrispondenti curve


sul piano parametrico (u,v) e possono essere ottenute considerando il movimento nello
spazio della generica curva parametrica

(3.19)

dove Fi(u) sono delle funzioni basi e Pi i punti di controllo della curva. Il movimento
della curva può essere descritto analizzando la traccia lasciata dalla curva Pi(v). Se
anche tale curva è espressa come combinazione lineare di basi di funzione G j(v) si ha
che la superficie è data da

dove Pij rappresentano i vertici del poliedro di controllo che viene ordinato secondo un
array di dimensione [(n+1)x(m+1)].
I prodotti Fi(u)Gj(v) individuano una base di funzioni per queste superfici e la scelta
della base determina anche le proprietà della superficie. Ad esempio, una semplice base
di funzioni è data dalle funzioni monomiali Fi=ui e Gj=vj.
Sostituendo alle funzioni base le funzioni di Bernstein si ottiene la seguente superficie
di Bèzier
n m
S (u, v )   Pij Bi ,n (u) B j ,m (v ) (3.20)
i 0 j 0

Le proprietà delle superfici di Bèzier sono simile a quelle delle curve ; ad esempio si ha
che la superficie di Bèzieri quattro vertici limiti del poliedro di controllo.
Analogamente se si considerano come basi di funzioni le B-splines si ottiene la
superficie B-splines data da
(3.21)

dove K e L sono gli ordini delle funzioni B-splines.

24
E. Santoro -Appunti di Modellazione Geometrica

Fig. : Poliedro di controllo per una definire una superficie di Bézier

Fig. : Superficie di Bézier , si osserva che passa per i quattro vertici limiti del poliedro
di controllo.

25
E. Santoro -Appunti di Modellazione Geometrica

4.1 Modellazione solida

La geometria degli oggetti reali nei sistemi CAD è rappresentata da un modello


geometrico che può essere più o meno preciso nei dettagli in dipendenza delle
applicazioni ( visualizzazione, analisi FEM, produzione, disegnazione, ecc.) I primi
sistemi CAD utilizzavano un semplice modello detto wireframe le cui primitive
geometriche erano : spigoli e vertici.
La modellazione wireframe può considerarsi un’estensione dei metodi tradizionali di
disegnazione e presenta molti svantaggi.
Infatti i modelli geometrici sono ambigui e di difficile interpretazione e non permettono
il calcolo dei volumi. Un’implementazione del modello wireframe fu dovuta all’utilizzo
delle superfici ottenendo così un modello detto di superfici che non era ancora un
modello solido dell’oggetto.
La differenza fondamentale tra un modello di superfici e quello solido è che il primo
definisce solo la geometria e non conserva nessuna informazione riguardante la
topologia che caratterizza ciascun oggetto. Così se due superfici hanno in comune uno
spigolo, il modello di superfici non conserva la relazione tra queste due entità. Un’altra
importante differenza è che il modello di superfici deriva da quello wireframe, per cui è
necessario prima costruire il modello wireframe e poi utilizzando gli spigoli si
costruiscono le superfici.
Il modello di superfici viene utilizzato per: l’analisi FEM ( Finite Element Modeling),
generare il percorso utensile nel CN ( Numerical Control), ecc.
La modellazione solida gestisce informazioni sia geometriche che topologiche e
nonostante la sua apparente complessità in molti casi è di più semplice utilizzazione
rispetto alla modellazione wireframe e di superficie.
La principale differenza che esiste tra informazioni geometriche e topologiche è che le
prime riguardano le effettive dimensioni delle entità geometriche mentre le seconde
riguardano le relazioni tra le entità. Per l’utente le informazioni geometriche sono delle
variabili che possono assumere diversi valori, mentre quelle topologiche caratterizzano
la topologia ( forma) dell’oggetto e sono memorizzate in un databases del modello
solido.
Diversi schemi di rappresentazione sono stati proposti per creare un modello solido ed i
più importanti sono: B-rep ( Boundary representation), CSG ( Constructive Solid
Geometry).
Alcuni sistemi CAD utilizzano più di uno schema e possono convertire uno schema in
un altro, inoltre è sempre possibile ottenere un modello wireframe da uno solido.
Un modello solido B-rep descrive la geometria e la topologia dell’oggetto utilizzando
l’insieme delle superfici ( o facce) che delimitano l’oggetto. Queste superfici devono
essere dei sottoinsiemi di superfici chiuse ( delimitate da spigoli e vertici) ed orientabili
( permettono di distinguere la parte interna da quella esterna).
Per verificare la validità di un modello B-rep è necessario effettuare sulla topologia
alcune operazioni dette di Eulero. Ad esempio, se l’oggetto è un semplice poliedro
chiuso dove essere soddisfatta la seguente relazione

F-E+V=2

dove F, E e V sono rispettivamente il numero di facce, spigoli e vertici dell’oggetto.

26
E. Santoro -Appunti di Modellazione Geometrica

Un modello CSG, che è la più diffusa rappresentazione, si basa sulla


considerazione topologica che un oggetto può essere diviso in un insieme di primitive
solide ( parallelepipedo, sfera, cilindro, cono, ecc.) che possono combinarsi in un certo
ordine come tante operazioni booleane. Infatti un modello solido di un oggetto è
definito matematicamente come un insieme di punti S nello spazio euclideo E 3.
La struttura dati dei modelli CSG si basa su una struttura a grafo o ad albero. Un grafo
è definito da un insieme di nodi connessi da un insieme di segmenti; se i segmenti sono
orientati si parla di digrafo. In un digrafo il numero di linee che entrano ed escono in un
nodo sono chiamate rispettivamente ed out-degree. Se un grafo contiene un ciclo esso è
ciclico altrimenti è aciclico.
Un albero è definito come un digrafo aciclico, in cui solo un nodo (radice) ha un in-
degree eguale a zero, mentre i nodi che hanno un out-degree eguale a zero sono
chiamati foglie e tutti gli altri sono nodi interni ed hanno un in-degree uguale a uno.
La struttura ad albero di un modello CSG è definita come un albero binario invertito,
dove i nodi-foglie sono le primitive geometriche, i nodi interni rappresentano le
operazioni sugli insiemi ( unione, intersezione, differenza, ecc.), infine il nodo radice
rappresenta il prodotto finito.

Struttura ad albero

Scambio dati tra sistemi CAD

La diffusione di differenti modelli geometrici insieme alle differenze hardware


dei sistemi CAD comportò che un modello geometrico generato su un sistema non
poteva essere trasferito su un altro sistema. Pertanto già alla fine degli anni ’70 si pose
il problema di come poter trasferire i dati riguardanti un generico oggetto (prodotto). In
generale i dati che ben definiscono un prodotto possono essere di quattro tipi: forma,
non-forma, progetto e produzione.
I dati di forma sono tutte le informazioni geometriche e topologiche di un modello
geometrico. I dati non di forma sono le unità di misura, dati grafici per la
visualizzazione e risoluzione dell’oggetto, ecc.. I dati di progetto sono informazioni che
il progettista ottiene a seguito di sue analisi sul modello geometrico come le proprietà di
massa, la meshiatura per analisi FEM, ecc.; infine i dati di produzione sono
informazioni riguardanti i processi di lavorazione, le tolleranze, lista dei materiali, ecc..
La prima descrizione di un formato dati standard ( Neutral Format) si ebbe alla fine
degli anni ’70 in America con il formato IGES ( Initial Graphics Exchange
Specification) e riguardava solo dati di forma e non perché allora l’unico problema era
di scambiare dati tra i sistemi CAD. Nel 1980 l’ANSI adotto la prima versione IGES
come standard nazionale e nel 1986 uscì la versione 3.0 che permetteva lo scambio

27
E. Santoro -Appunti di Modellazione Geometrica

anche di alcuni dati di progetto. Infine la versione 4.0 del 1988 includeva anche dati
ottenuti dai modelli CSG.
Negli anni 80 dalla sempre maggiore integrazione tra sistemi CAD e CAM ne scaturì la
necessità di scambiare tutti i dati riguardante un oggetto, che veniva visto come un
prodotto da progettare e realizzare . Così nel 1985 venne definito il formato PDES
( Product Definition Exchange Specification) che permetteva lo scambio di tutti i
quattro tipi di dati ed era rivolto a molte industriali.
Lo sviluppo di questi ed altri formati indusse nel 1988 l’ISO a definire lo standard
STEP (Standard for the Transfer and Exchange of Product Model Data) che si basava
essenzialmente sui risultati ottenuti da IGES e PDES.
Un generico sistema CAD/CAM per poter leggere e trasferire dati in un formato
standard deve eseguire l’operazione di pre-processing che permette di convertire i dati
dal formato standard in quelli propri del sistema, mentre se vuole trasferire i dati in
formato standard deve eseguire l’operazione di post-processing.

5. Interpolazione ed approssimazione di punti.

Il problema dell’interpolazione o approssimazione si presenta ogni qual volta si


conoscono le coordinate di punti e si vuole determinare la funzione che passi o
approssimi tali punti.
L’interpolazione viene effettuata se i punti sono pochi e ben regolari, viceversa se i
punti sono molti si preferisce determinare una funzione approssimante.
Siano dati n+1 punti Pi={xi,yi,zi} , i=0,n e delle funzioni z=F(x,y;V) dove VRm è un
vettore che rappresenta i parametri della funzione. Quando m=n+1 è possibile definire il
seguente problema dell’interpolazione, che consiste nel determinare il vettore V tale
che
(5.1)

La (5.1) rappresenta un sistema di n+1 equazioni nell’incognita V.


In generale si sceglie come funzione interpolante una funzione algebrica e le
applicazioni più diffuse si riferiscono a punti appartenenti ad un piano e la funzione
interpolante che si assume è un polinomio.
Nel caso dell’interpolazione polinomiale piana ,per cui P i=(xi,yi), e per xixj si ottiene
un sistema di equazioni lineari che ammette una ed una sola soluzione dato da

(5.2)

Se sono assegnati n punti, aventi ascisse differenti, esiste sempre un polinomio di grado
n-1 che interpola tale punti. Pertranto, per tre punti esiste una ed una sola parabola che
interpola tali punti.
Uno dei metodi che in passato sono stati proposti per risolvere il problema
dell’interpolazione polinomiale è quello di Lagrange, che evita di risolvere il sistema di
equazioni. Lagrange utilizzò i seguenti polinomi per risolvere il problema
dell’interpolazione

28
E. Santoro -Appunti di Modellazione Geometrica

che assumono i seguenti valori nelle ascisse date

Utilizzando i polinomi di Lagrange si ha che la funzione interpolante polinomiale è data


da
(5.3)

Esercizio: Calcolare mediate i polinomi di Lagrange la parabola passante per i punti


P0=(0,1), P1=(2,1) e P3=(3,0).

Soluzione
Le funzioni di Lagrange sono

per cui la parabola interpolante è data da

Le formule che definiscono l’algoritmo di Bezier possono essere utilizzate sia per avere
delle curve definite mediate punti di controllo, oppure di determinare una curva
interpolante che passi per assegnati punti e dove i punti di controllo rappresentano le
incognite da determinare. Nel caso che si utilizzi la curva di Bezier come interpolante n
punti ri=(xi,yi,zi) la (5.1) diventa
(5.4)

Nella (5.4) le incognite sono Vj e le ti. I valori di ti possono essere assunti utilizzando
differenti metodi, il più utilizzato è quello che si basa sulla distanza di ri da r0 e viene
indicato come metodo centripeto, dove i valori del parametro ti assumono i seguenti
valori

La curva di Bezier soddisfa la proprietà di essere interpolante per gli estremi per cui
V0=r0 e Vn=rn. Pertanto i vertici incogniti V i del poligono di controllo sono n-1.
Sviluppando la (5.4) si perviene al seguente sistema di equazioni lineare

29
E. Santoro -Appunti di Modellazione Geometrica

(5.5)

5.1 Interpolazione mediante funzioni polinomiali spline

Quando il numero dei punti da interpolare diventa grande si ha che il polinomio


interpolante presenta delle oscillazioni che sono inaccettabili se dovessimo
rappresentare la geometria di un oggetto. Per ridurre tali oscillazioni fu introdotta
l’interpolazione mediante spline, che consiste nel suddividere tutta la curva in segmenti
polinomiali ( polinomial piecewice) a cui vengono imposti delle condizioni di
continuità quando si passo da un segmento al successivo.
Il termine inglese spline significa curvilineo flessibile, ed è lo strumento utilizzato dai
disegnatori per interpolare dei punti. Lo strumento spline può essere considerato come
una trave incastrata che viene sollecitata a flessione e operando per tratti si riesce a
interpolare un numero elevato di punti. Dalla teoria delle travi soggette a flessione si
dimostra che la funzione interpolante ottenuta con lo spline è di tipo polinomiale e in
particolare il grado del polinomio è tre.
Con l’interpolazione mediante spline il grado del polinomio non dipende dal numero dei
punti ma è un input e dalla teoria si dimostra che le curve spline hanno interessanti
proprietà come quella di minimizzare alcuni grandezze geometriche della come la
curvatura, ottenendo delle curve interpolanti che ben raccordano i punti da interpolare.
I gradi dispari dei polinomi spline hanno una migliore stabilità numerica e spesso si
utilizzano le spline cubiche che hanno una continuità fino alla derivata seconda. La
poligonale passante tra punti assegnati è la più semplice curva interpolante e rappresenta
una funzione spline di grado uno.
Se m è il grado della funzione spline si ha che la continuità tra segmenti successivi della
spline è fino alla derivata (m-1), per cui se si considera un’interpolazione mediante una
spline cubica tra n+1 punti, costituita pertanto da n segmenti di polinomi
pi(x)=ai,0+ai,1x+ai,2x2+ai,3x3, ciascuno costituito da quattro incognite (ai,0,ai,1,ai,2,ai,3), dalle
condizioni di continuità si ottengono le equazioni

(5.6)

il cui numero è 2+4(n-1)=4n-2. Poiché le incognite sono 4n occorre assegnare altre due
equazioni per poter risolvere il problema dell’interpolazione spline. In generale, le due
ulteriori condizioni si ottengono imponendo che la curva abbia agli estremi dei valori
assegnati o sulla pendenza o sulla curvatura. Se si impone che la derivata seconda sia
uguale a zero la spline che si ottiene viene indicata come spline naturale.
Una differente formulazione del problema dell’interpolazione mediante spline si ottiene
considerando la formulazione parametrica da cui è possibile ottenere l’interpolazione

30
E. Santoro -Appunti di Modellazione Geometrica

anche in uno spazio a 3 o più dimensioni. Se consideriamo uno spazio a 3 dimensioni si


ha che ogni segmento di spline è dato in forma parametrica da pi(t)={Xi(t),Yi(t),Zi(t)}
per i=0,n-1. Per ogni componente si devono imporre le condizioni di continuità e per
motivi di semplicità sviluppiamo solo quelle relative alla componente X(t), che in ogni
tratto è rappresentata dal polinomio cubico

da cui si ottengono le seguenti condizioni di continuità

dove Di=dXi(0)/dt indica il valore della derivata prima nel punto i-mo. Le precedenti
quattro equazioni permettono di esprimere i coefficienti della cubica in funzione delle
coordinate e della derivata prima

(5.7)

Se sono noti i valori della pendenza nei punti assegnati, con la precedente equazione si
determina la [Link] si impongono anche le condizioni della continuità anche della
derivata prima e seconda nei punti interni si ottiene

mentre dalla condizione di passaggio per i punti estremi si ha X0(0)=x0, Xn-1(1)=xn.


Pertanto anche in questo caso abbiamo 4n incognite e 4n-2 equazioni. Esplicitando la
condizione della continuità sulla derivata seconda si ha

che per la (5.5) si può scrivere

La precedente equazione si semplifica

Pertanto abbiamo n-1 mentre le incognite sono le n+1 pendenze. Le ulteriori due
condizioni si ottengono supponendo che la spline sia naturale

31
E. Santoro -Appunti di Modellazione Geometrica

Le precedenti equazioni rappresentano un sistema di n+1 equazioni in n+1 incognite e


può essere scritto nella seguente forma matriciale

(5.8)

Risolto il sistema di equazioni lineare (5.8), mediante le (5.7) è possibile calcolare i


parametri dei segmenti delle cubiche della spline x=x(t). Procedendo in modo analogo
per le componenti y e/o z , e considerato che la matrice della (5.6) risulta la stessa, si
determina la spline interpolante r(t)=r(x(t),y(t),z(t)).
La matrice della (5.8) è valida solo se la spline è naturale, se si impongono diverse
condizioni occorre modificare in modo coerente la prima e l’ultima sua riga .

32

Potrebbero piacerti anche