Curve Spline (curve d interpolazione) Scelta dei valori dei nodi Il metodo più semplice è porre U 0 =0, U = ovvero U i =i => U i - U i- = P i+ U=i+ P i U=i Svantaggio: non è detto che i nodi sulla curva siano uniformemente spaziati => possono innescarsi oscillazioni non volute
Il metodo ideale è assegnare al nodo la lunghezza dell arco di curva: U 0 =0, U = U 0 + L ovvero U i = U i- + L i con L distanza lungo la curva fra P i e P i+ L i P i+ Ui+= Ui + L i P i U i Svantaggio: la lunghezza della curva dovrebbe essere calcolata precedentemente alla assegnazione dei valori nodi => non è possibile Un metodo pratico consiste nell assegnare al nodo la distanza fra i punti: U 0 =0, U = U 0 + d ovvero U i = U i- + d i con d i distanza fra P i e P i+ P i+ d i U i+ = U i + d i P i U i
Problemi delle curve spline lo spostamento di un punto da interpolare modifica l intera curva P 2 P 3 P 4 P 3 P P 5 Interpolare punti non equidistanziati origina oscillazioni non volute
Sia le curve di Bézier che le Spline non permettono modifiche locali della curva; inoltre, per le curve di Bézier, il grado della curva è legato al numero dei punti di controllo tali limiti sono superati dalle curve B-spline Curve B-spline (curve di approssimazione con possibilità di interpolazione)
Principio fondamentale Le curve B-spline utilizzano delle funzioni di miscelamento che hanno influenza locale e dipendono solo da alcuni punti di controllo circostanti dove P i Espressione delle B-spline n p ( u ) = N i, k ( u ) Pi i = 0 =n+ punti dati o punti di controllo N i,k = funzioni di miscelamento polinomiali k = ordine del polinomio = grado polinomio+
N.B. il grado del polinomio è indipendente dal n dei punti di controllo Funzioni di miscelamento Definizione ricorsiva N i, ( u) = 0 se U u U i altrimenti i+
N ( u U i ) = U U N i k ( ( ) u ) + i, k, i+ k i ( Ui+ k u) + N ( U U ) i+ k i+ i+, k dove i = i-esimo tratto della curva U = [U 0, U,..., U m ] vettore dei nodi ( u) Convenzione Si assegna ai nodi U i un valore intero (eventualmente ripetuto) tale che: U i - U i- = (oppure 0) es: U = [0,,2,3,4,5] vettore dei nodi
occorre tenere conto delle particolarità agli estremi: U i = 0 U i = i-k+ U i = n-k+2 se i < k se k i n se i > n si assume, inoltre, per questa situazione contingente, 0/0 = La curva B-spline,definita come sopra, approssima tutti i punti noti e passa per gli estremi con opportune modifiche si può anche avere una curva che non passa per gli estremi
Esempi di funzioni di miscelamento curva a sei punti di controllo => n=5 k= => 0u6 U = [0,,2,3,4,5,6] N 0, N ( u) = 0, 0... N ( u) = 5, 0 se 0u altrimenti se 5u6 altrimenti 0 0 N 4, 5, u u k=2 => 0u5=> U = [0,0,,2,3,4,5,5] N N 0, 5, se u = 0 ( u) = 0 altrimenti... se 4 u 5 ( u) = 0 altrimenti
N 0, 2 ( u ) = ( u ) N, ( u ) N, 2 ( u ) = un, ( u ) + ( 2 u ) N 2, ( u ).......... N 5, 2 ( u ) = ( u 4 ) N 5, ( u ) N 0,2 0 u 0 N, 2 N 5,2 u In generale N (u) i,k 0 i u N i,k (u) = se u = U i N i,k (u) -> 0 allontanadosi da U i
Ogni punto di controllo influenza solo K segmenti di curva e, viceversa, ogni segmento di una curva B-Spline e influenzato da K punti di controllo Proprietà delle funzioni di miscelamento vi è una funzione corrispondente ad ogni punto di controllo le funzioni sono positive (ovvero attraggono la curva) la curva è diversa da zero al piu in k intervalli consecutivi
per ogni valore u nel dominio, la somma delle funzioni di miscelamento è il numero dei nodi è uguale al numero dei punti di controllo + l ordine i nodi sono dati in sequenza non decrescente Vantaggi delle curve B-spline Il grado della curva è indipendente dal numero dei punti di controllo si può usare un elevato numero di punti di controllo senza che s inneschino oscillazioni nella curva
Le funzioni di miscelamento sono diverse da zero solo in un intervallo => si può spostare un punto di controllo senza modificare l intera curva aumentando la molteplicità di un nodo si attira la curva verso quel nodo [0,0,0,0,,2,2,2,2] [0,0,0,0,,,2,2,2,2]
Aumentando opportunamente la molteplicità di un nodo => la curva può passare per il corrispondente punto di controllo [0,0,0,0,,,,2,2,2,2] Le curve Spline, B-spline e Bézier costituiscono i principali metodi di modellazione di curve utilizzati nel CAD Svantaggio: queste forme rappresentano le forme quadratiche solo in modo approssimato Polinomi Razionali