Algoritmi:

Due tra gli algoritmi noti per calcolare punti sulle curve B-Spline sono:

1) Algoritmo di de Boor

Per valutare la curva NURBS in corrispondenza di u [Maple Math] [ [Maple Math] , [Maple Math] ] si inserisce u come nodo di molteplicità p ( = al grado della curva),ed il punto di controllo corrispondente generato dall'ultima inserzione giacerà sulla curva.L'algoritmo di de Boor è efficace anche per l'intuizione geometrica che offre.

Ad esempio permette di dimostrare che il segmento di curva relativo a [ [Maple Math] , [Maple Math] ] con [Maple Math] e [Maple Math] nodi di molteplicità p ( = al grado della curva) è una curva razionale di Bezier,in quanto l'algoritmo di de Boor si riduce in tale segmento all' algoritmo di De Casteljau.

2) Algoritmo di Cox-de Boor

E' l'algoritmo implementato dalla Applet per valutare e rappresentare la curva profilo.Presenta meno intuizione geometrica dell' algoritmo precedente ma è efficiente per una implementazione su calcolatore.

Sia dunque U={ [Maple Math] ,..., [Maple Math] } una successione non decrescente di numeri reali(vettore dei nodi).

La i-esima base B-Spline di grado p denotata da [Maple Math] è definita come:

[Maple Math] = {1 se [Maple Math] [Maple Math] ; 0 altrimenti}

[Maple Math] = [Maple Math] [Maple Math] + [Maple Math]

L'algoritmo implementato calcola iterativamente le [Maple Math] , determina il punto corrispondente ad u appartenente alla B-Spline non razionale in [Maple Math]determinata dai punti del poligono di de Boor in coordinate omogenee { [Maple Math] , [Maple Math] } e proietta il punto così ottenuto in [Maple Math] .

Fig.2 In verde sono rappresentati i punti del poligono di de Boor,in blu i punti del poligono di controllo delle curve di Bezier che costituiscono la curva B-Spline di figura.