Vai alla Home Page About me Courseware Federica Virtual Campus 3D Gli eBook di Federica
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Massimo Martorelli » 8.Curve B-Spline


Argomenti della lezione

  • Curve B-Spline
  • Funzioni di miscelamento
  • Vettore dei nodi

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.

Espressione delle Curve B-Spline

La formulazione matematica di una curva B-Spline di ordine k è la seguente:
p(u)=\sum_{i=0}^{n}p_{i}N_{i,k}(u)

dove:

pi = n + 1 punti di controllo
k = ordine della curva : 2 ≤ k ≤ n+1
Ni,k(u) = Funzione di miscelamento. Polinomio di grado k – 1.

Funzioni di miscelamento

Definizione ricorsiva:

N_{i,1}(u)=\begin{cases}\begin{array}{c}1 \ se \ U_{i}\leq u\leq U_{i+1}\\ 0 \ per \ gli \ altri \ valori \ di \ u\end{array}\end{cases}

Funzioni di miscelamento

N_{i,k}(u)=\frac{(u-U_{i})}{(U_{i+k-1}-U_{i})}N_{i,k-1}(u)+\frac{(U_{i+k}-u)}{(U_{i+k}-U_{i+1})}N_{i+1,k-1}(u)
dove:
U = [U0, U1, ..., Um] Vettore dei nodi

Funzioni di miscelamento

Funzioni di miscelamento


Vettore dei nodi

Vettore dei nodi

U = [U0, U1, ..., Um] = [U0, U1, ..., Un+k]

(m+1) = (n+1+k) ovvero m = n+k

In genere:

U_{i}-U_{i-1}=\begin{cases}\begin{array}{c}1\\0\end{array}\end{cases}

Esempi di vettore dei nodi:
U=[0,1,2,3,4] UNIFORME – PERIODICO
U=[0,1,2,2,3,4] UNIFORME – NON PERIODICO

Vettore dei nodi

Esempio di curve B-Spline (k=3) con stesso poligono di controllo ma differente vettore dei nodi.

Esempio di curve B-Spline (k=3) con stesso poligono di controllo ma differente vettore dei nodi.


Controllo locale

Ogni punto di controllo influenza solo k segmenti di curva e, viceversa, ogni segmento di una curva B-Spline è influenzato da k punti di controllo.


Curve B-Spline razionali

p(u)=\frac{\sum_{i=0}^{n}h_{i}p_{i}N_{i,k}(u)}{\sum_{i=0}^{n}h_{i}N_{i,k}(u)}


Vantaggi delle curve B-Spline

Le curve B-Spline superano i limiti delle curve di Bézier:

  • La modifica di un punto di controllo non si ripercuote su tutta la curva ma solo su una sua parte
  • Il numero dei punti di controllo non è legato al grado dei polinomi utilizzati

Le curve B-Spline sono diventate nella loro forma più evoluta (curve NURBS Non Uniform Rational B-Spline) uno standard nei programmi di modellazione geometrica.

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93