CURVE DI BEZIER

Le curve di Bézier sono il più importante tipo di curve polinomiali. Vengono definite da un poligono di controllo in un intervallo [0, 1]. Il grado della curva è dato dal (numero di vertici -1) del poligono di controllo.
Vediamo alcuni esempi:

CURVA DI GRADO 1: tratto di retta
Siano P0 e P1 due punti del piano. La funzione è:

Le curve di grado superiore si ottengono applicando questa formula (algoritmo di Casteljau).

CURVA DI GRADO 2: arco di parabola
Il poligono di controllo è dato da 3 punti P0, P1, P2. Occorre quindi creare due curve ausiliarie di grado 1, date dai segmenti P0P1 e P1P2.
Considerato un valore t in [0,1], si definiscono due punti sui segmenti P0P1 e P1P2; il punto all'interno del segmento si chiamerà in questo modo:

Ora, sul segmento congiungente questi due punti, si definisce un terzo punto, sempre in funzione di t. Il terzo punto è quello corrispondente alla curva di Bézier di grado 2 per il valore di t.

Ripetendo questo algoritmo per ogni t [0,1], ottengo l'intera curva. La formula generale è ottenuta per sostituzione:

CURVA DI GRADO 3
Il poligono di controllo è dato da 4 punti. Considerando un valore t in [0,1], si definiscono altri punti in modo da lavorare su curve di grado minore, come nell'esempio precedente:

La formula della curva è:

ALGORITMO DI CASTELJAU
L'algoritmo di Casteljau si basa sugli esempi precedenti: data una poligonale <P0...Pk>, si forma una nuova poligonale di primo livello, formata da (k-1) punti. A partire da questa, si forma una nuova poligonale di secondo livello, con (k-2) punti e così via, fino alla definizione dell'ultimo punto (che è il punto della curva corrispondente al valore t).
L'intera curva è ottenuta iterando questo algoritmo per ogni t in [0,1].
La formula di una curva intermedia è:

Quest' ultimo è un algoritmo di tipo ricorsivo, in quanto la funzione richiama se stessa finchè non arriva ai punti di controllo. A livello di programmazione, è una strada sconveniente, in quanto poligoni di controllo con numerosi vertici generano tempi di calcolo elevati.

POLINOMI DI BERNSTEIN
Osservando le formule generali degli esempi precedenti, si nota che compaiono sempre i polinomi t e (1-t), corredati da un coefficiente e da un esponente. Questi polinomi dipendono dal grado della curva:

ove i = 0..k    e   k è il grado della curva

E' importante notare che la somma dei polinomi di Bernstain è sempre uguale a 1.
Le curve di Bézier sono definite:

L'intervallo di una curva di Bézier è sempre [0,1]. Il primo punto passa per P0, l'ultimo per Pk.
A livello di programmazione, si preferisce utilizzare questa strada, in quanto si conoscono solo i punti del poligono di controllo e non occorre calcolare i punti intermedi.
 

OSSERVAZIONI VARIE
1) La curva è contenuta nel guscio convesso del poligono di controllo.
2) La curva passa per il primo e l'ultimo punto del poligono di controllo, ma non passa per quelli intermedi. Inoltre, i segmenti P0P1 e Pk-1Pk sono tangenti alla curva.
3) Per trasformare la curva, basta trasformare il poligono di controllo.
4) Se si modifica un solo punto del poligono di controllo, cambia tutta la forma della curva, non solo il tratto corrispondente a quel punto.
5) Non si possono disegnare circonferenze o archi di circonferenza.
6) La forma della curva non rispecchia in maniera precisa la forma del poligono di controllo.
7) Per incollare più curve, bisogna prima uniformare i gradi.
Esempio: per portare il grado da 1 a 3, si devono segnare altri due punti per formare il nuovo poligono di controllo; questi due punti dividono il segmento P0P1 in tre parti uguali: ora si ha un poligono di controllo formato da quattro punti tutti allineati.