Pierre Bezier e le “sue” curve
Chi ha familiarità con software di Computer Aided Design (Disegno assistito al computer) o di fotoritocco, avrà sentito parlare dello strumento delle “Curve di Bezier”.
Il nome di tale strumento è dovuto a Pierre Bezier (1910-1999), un ingegnere francese che lavorava nel settore automobilistico. Egli si trovava ad affrontare problemi relativi alla gestione di macchine a controllo numerico che si occupavano di tranciare lamiere per le auto.
A onor del vero, per stessa ammissione di Bezier, questo strumento fu scoperto all’incirca nello stesso periodo da Paul de Casteljau, fisico e matematico francese che lavorava per un’azienda concorrente, ma all’epoca prevalse il segreto industriale e solo successivamente de Casteljau ricevette il giusto riconoscimento.
Le curve di Bezier sono un classico strumento matematico per la costruzione di curve algebriche a partire da alcuni punti dati, detti punti di controllo, e l’algoritmo per costruirle è legato ad alcuni concetti geometrici e di analisi numerica. L’idea principale è quella di unire coppie di punti mediante curve piane che però abbiano una traiettoria “controllata” da alcuni punti intermedi. Questo è possibile imponendo condizioni sui punti di passaggio e su velocità e curvatura della traiettoria che si intende seguire (quindi bisogna introdurre un controllo sulle derivate nei punti).
Tra le applicazioni principali, come già accennato, lo strumento omonimo presente nei principali software di fotoritocco, ma data la generalità del metodo usato, le curve di Bezier ben si prestano per il disegno vettoriale e per il disegno industriale (non dimentichiamo che nascono nell’ambito dell’industria automobilistica).
Ecco un’immagine molto suggestiva delle potenzialità del metodo introdotto da Bezier:
Una introduzione alla matematica dietro le curve di Bezier
Supponiamo di avere 3 punti non allineati in un piano, A, B e C, che saranno detti punti di controllo, e diciamo di voler costruire una curva che congiunga A con C, essendo tangente in A alla retta passante per A e B, e tangente in C alla retta passante per B e C.
La curva di Bezier che risolve questo problema è data dall’equazione parametrica
$$\vec{x}(t)=(1-t)^2A+2t(1-t)B+t^2C$$.
Infatti
$$\vec{x}(0)=A$$
e
$$\vec{x}(1)=C$$
mentre
$$\vec{x}'(t)=-2(1-t)A+2(1-2t)B+2tC$$
da cui si ricava
$$\vec{x}'(0)=2(B-A)$$ e $$\vec{x}'(1)=2(C-B)$$
Questa equazione, di secondo grado, si dice curva di Bezier quadratica.
In generale e possibile costruire curve di Bezier con N punti di controllo, utilizzando i polinomi di Bernstein.
L’equazione generale per le curve di Bezier congiungenti due punti e infatti data da
$$\vec{x}(t)=\sum_{k=1}^N P_k\cdot B_k^N(t)$$,
dove
$$B_k^N(t)=\binom{N}{k}t^k\cdot (1-t)^{N-k}$$
Esempio con 4 punti di controllo:
Questa breve introduzione mostra alcune potenzialità delle curve di Bezier per problemi di interpolazione e disegno computerizzato. Nel prossimo articolo cercheremo di approfondire alcuni aspetti algoritmici e di capire come questo strumento lavora dietro le quinte dei più noti software di fotoritocco.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Ancora nessun commento