Che cosa sono le NURBS?

Le *NURBS (Non-Uniform Rational B-Splines) sono delle rappresentazioni matematiche della geometria 3D, le quali definiscono accuratamente qualunque forma: da una semplice linea, ad un cerchio, un arco o una curva, fino al più complesso solido o superficie a forma libera o organica 3D. Grazie alla loro accuratezza e flessibilità, i modelli NURBS possono essere usati nei più svariati processi, dalle illustrazioni ed animazioni sino alla fabbricazione.

Le geometrie NURBS hanno cinque importanti caratteristiche che le rendono una scelta ideale per la modellazione assistita da computer.

  • Esistono svariate soluzioni basate su standard industriali in grado di scambiare geometrie NURBS. Ciò consente ad un gran numero di utenti di poter intercambiare i loro modelli geometrici tra i vari programmi di modellazione, rendering, animazione ed analisi ingegneristica. Le informazioni memorizzate sulle geometrie possono essere riutilizzate in futuro.
  • Le NURBS hanno una definizione precisa e ben nota. I principii matematici ed informatici delle geometrie NURBS vengono insegnati nelle maggiori università. Ciò significa che i produttori di software specialistici, i team ingegneristici, gli studi di design industriale e le case di animazione che hanno bisogno di realizzare delle applicazioni personalizzate possono trovare facilmente dei programmatori preparati in grado di lavorare con le geometrie NURBS.
  • Le NURBS possono rappresentare accuratamente sia oggetti geometrici standard (come linee, cerchi, ellissi, sfere o toroidi), che geometrie free-form, quali carrozzerie per automobili o corpi umani.
  • La quantità di informazioni richiesta per la rappresentazione NURBS di un elemento geometrico è di gran lunga inferiore alla quantità di informazioni necessaria per rappresentare la stessa geometria tramite approssimazioni mesh.
  • La regola di stima di una NURBS, discussa di seguito, può essere implementata su un computer in modo efficiente ed accurato.

Che cos'è una geometria NURBS?

Curve e superfici NURBS si comportano in modo analogo, per cui la terminologia tecnica ad esse relative è pressoché la stessa. Visto che le curve sono più semplici da trattare, ci soffermeremo dettagliatamente su di esse. Una curva NURBS è definita da quattro caratteristiche: il grado, i punti di controllo, i nodi e la regola di stima.

Grado

Il grado è un numero intero positivo.

Di solito vale 1, 2, 3 o 5, anche se può essere qualunque numero intero. Di solito, le linee e le polilinee NURBS hanno grado 1, i cerchi NURBS hanno grado 2 e la maggior parte delle curve free-form ha grado 3 o 5. Invece di indicare il grado della curva con il rispettivo numero, si possono usare i termini lineare, quadratico, cubico e quintico. Lineare significa di grado 1, quadratico significa di grado 2, cubico significa di grado 3 e quintico significa di grado 5.

A volte, si può far riferimento all'ordine di una curva NURBS. L'ordine di una curva NURBS è un numero intero positivo pari a (grado+1). Di conseguenza, il grado corrisponde a (ordine-1).

È possibile aumentare il grado di una curva NURBS senza cambiarne la forma. In genere, non è invece possibile ridurre il grado di una curva NURBS senza modificarne la forma.

Punti di controllo

I punti di controllo sono una fila di punti in numero almeno pari a (grado+1).

Uno dei modi più semplici per modificare la forma di una curva NURBS consiste nel variare la posizione dei suoi punti di controllo.

Ad ogni punto di controllo è associato un peso (ovvero, la sua capacità di attrarre la curva). Tranne che per alcune eccezioni, i pesi sono numeri positivi. Quando i punti di controllo di una curva hanno tutti lo stesso peso (di solito 1), la curva viene denominata "non razionale". In caso contrario, è detta razionale. La lettera R dell'acronimo NURBS sta per "razionale" ed indica che una curva NURBS può essere razionale. Nella pratica, la maggior parte delle curve NURBS sono non razionali. Alcune curve NURBS (cerchi ed ellissi ne sono un chiaro esempio) sono sempre razionali.

Nodi

I nodi sono una fila di numeri pari a (grado+N-1), ove N rappresenta il numero di punti di controllo. Questa sequenza di numeri che precisa la definizione parametrica della curva è detta anche "vettore dei nodi". In questo contesto, il termine vettore non sta a significare una direzione 3D.

La sequenza di numeri dei nodi deve soddisfare diverse condizioni tecniche. Di norma, per assicurarsi che queste condizioni tecniche siano soddisfatte, si richiede che i numeri siano gli stessi o maggiori man mano che si procede verso la fine della lista e si limita il numero di valori ripetuti ad un numero non maggiore del grado. Per esempio, per una curva NURBS di grado 3 con 11 punti di controllo, la sequenza 0,0,0,1,2,2,2,3,7,7,9,9,9 è una sequenza di nodi soddisfacente. La sequenza 0,0,0,1,2,2,2,2,7,7,9,9,9 non è invece accettabile perché sono presenti quattro numeri "2" e "4" è maggiore del grado della curva in esame (3).

Il numero di volte in cui il valore di un nodo si ripete è detto "molteplicità del nodo". Nella sequenza di nodi soddisfacente riportata in precedenza (0,0,0,1,2,2,2,3,7,7,9,9,9), il valore del nodo 0 ha molteplicità 3, il valore del nodo 1 ha molteplicità 1, il valore del nodo 2 ha molteplicità 3, il valore del nodo 7 ha molteplicità 2 ed il valore del nodo 9 ha molteplicità 3. Si dice che un nodo ha molteplicità piena se il suo valore si ripete tante volte quante il grado. Nell'esempio, i valori dei nodi 0, 2 e 9 hanno molteplicità piena. Il valore di un nodo che figura una volta sola è detto nodo semplice. Nell'esempio, i valori dei nodi 1 e 3 sono nodi semplici.

Se una sequenza di nodi inizia con un nodo a molteplicità piena, segue con dei nodi semplici, termina con un nodo a molteplicità piena e tutti i valori sono ugualmente spaziati, i suoi nodi sono detti uniformi. Per esempio, se una curva NURBS di grado 3 con 7 punti di controllo ha una sequenza 0,0,0,1,2,3,4,4,4, i suoi nodi saranno uniformi. I nodi della sequenza 0,0,0,1,2,5,6,6,6, per esempio, non saranno invece uniformi. I nodi senza uniformità si dicono appunto non uniformi. Le lettere N ed U dell'acronimo NURBS stanno per "non uniformi" ed indicano che i nodi di una curva NURBS possono essere non uniformi.

Valori di nodo ripetuti all'interno di una sequenza di nodi rendono la curva NURBS meno smussata. Un nodo a molteplicità piena nel mezzo di una sequenza di nodi indica che c'è una zona nella curva NURBS che può essere associata ad una discontinuità. Per questa ragione, alcuni designer preferiscono aggiungere e rimuovere i nodi e quindi regolare i punti di controllo per ottenere delle curve dalle forme più smussate o più spigolose. Poiché il numero dei nodi è pari a (N+grado-1), in cui N è il numero di punti di controllo, l'aggiunta di nodi comporta l'aggiunta di punti di controllo, così come la loro rimozione implica la rimozione di punti di controllo. È possibile inserire dei nodi in un curva NURBS senza cambiarne la forma. La rimozione di nodi, in genere, cambia invece la forma di una curva.

Nodi e punti di controllo

Un comune malinteso è dato dal fatto di accoppiare ciascun nodo con un punto di controllo. Ciò è vero solo per le NURBS di grado 1 (polilinee). Per NURBS di grado maggiore, sono presenti gruppi di (2 X grado) nodi che corrispondono a gruppi di (grado+1) punti di controllo. Per esempio, si supponga di avere una NURBS di grado 3 con 7 punti di controllo e nodi 0,0,0,1,2,5,8,8,8. I primi quattro punti di controllo sono raggruppati con i primi sei nodi. I punti di controllo dal secondo al quinto sono raggruppati con i nodi 0,0,1,2,5,8. I punti di controllo dal terzo al sesto sono raggruppati con i nodi 0,1,2,5,8,8. Gli ultimi quattro punti di controllo sono raggruppati con gli ultimi sei nodi.

Alcuni modellatori usano obsoleti algoritmi per la stima di una NURBS e richiedono due ulteriori valori di nodo per un totale di (grado+N+1) nodi. Durante l'esportazione o importazione di una geometria NURBS, Rhino inserisce o rimuove automaticamente questi due nodi superflui a seconda del caso.

Regola di stima

La regola di stima di una curva è una formula matematica che assegna un numero ad un punto.

La regola di stima NURBS è una formula che riguarda il grado, i punti di controllo ed i nodi. Essa calcola le cosiddette funzioni base B-spline. Le lettere BS nell'acronimo NURBS stanno per “basis spline.” Il numero con il quale si avvia la regola di stima è detto "parametro". Possiamo pensare alla regola di stima come ad una "scatola nera" che riceve un parametro e genera la posizione di un punto. Il grado, i nodi ed i punti di controllo determinano il modo in cui lavora questa "scatola nera".

Letture consigliate

Se avete dimestichezza con le formule matematiche, eccovi alcuni dossier con informazioni più tecniche sull'argomento: