Blog divulgativo sulla matematica applicata

Curve di Bezier: approfondimenti con qualche animazione

Approfondimenti sulle proprieta matematiche

Ci siamo lasciati nella puntata precedente con l'equazione generale delle curve di Bezier, che si costruisce, come abbiamo visto, mediante i polinomi di Bernstein.
Nelle seguenti immagini (fonte linuxtopia.org: articolo) viene mostrato come si possono usare le curve di Bezier per selezionare parte di un immagine con il software di fotoricco Gimp (clicca per ingrandire).
img72

img74
Vediamo ora alcune proprietà  matematiche fondamentali.

Valgono le seguenti proprietà :
I polinomi di Bernstein

  • sono positivi: B_k^N(t)\ge 0;
  • sono simmetrici: B_k^N(t) = B_k^N(1-t);
  • sono ricorsivi: B_k^N(t) = (1-t)B_k^{N-1}(t) + tB_k^{N-1}(t) ;
  • hanno derivata tale che: \frac{dB_k^{N}(t)}{dt}=n(B_{j-1}^{N-1}(t)+B_{j}^{N-1}(t))

e tali proprietà valgono \forall t\in [0,1] . Queste proprietà sono utili per dimostrare alcuni fatti notevoli sulle curve di Bezier. Ad esempio, senza entrare nei dettagli

  • se una curva di Bezier \`e individuata da un insieme di punti, allora essa \`e contenuta interamente nell'inviluppo convesso dei punti dati;
  • se \gamma_{P_0,\dots,P_N}(t) \`e una curva di Bezier per i punti \{P_0,\dots,P_N\}, allora \gamma_{P_0,\dots,P_N}(1)=P_0 e \gamma_{P_0,\dots,P_N}(1)=P_N;
  • i vettori tangenti alla curva \gamma_{P_0,\dots,P_N}(t) nei punti P_0 e P_N sono dati da \gamma_{P_0,\dots,P_N}(0)^{'}=n(P_1-P_0) e \gamma_{P_0,\dots,P_N}(t)^{'}=n(P_{N}-P_{N-1});

Le proprietà che abbiamo elencato sono fondamentali per poter costruire oggetti in computer grafica. In particolare le proprietà sui vettori tangenti determinano il modo in cui la curva cambia al variare del numero di punti di controllo. Naturalmente chi utilizza lo strumento per disegnare curve di Bezier nei software di fotoritocco si deve interessare molto poco delle proprietà matematiche di tali oggetti, tuttavia, pur non conoscendo gli aspetti algoritmici, intuitivamente il designer sfrutta tutte le proprietà elencate per i suoi scopi.

Questo video mostra delle animazioni sulle curve di Bezier cubiche:

Cubic Bezier Curves - Under the Hood from Peter Nowell on Vimeo (questo il link diretto: https://vimeo.com/106757336).

Questa pagina mostra 4 animazioni con le curve di Bezier:
https://www.jasondavies.com/animated-bezier/.

Generalizzazioni

Quando viene introdotto un nuovo concetto in matematica, si cercano sempre sue possibili generalizzazioni. Nel caso delle curve di Bezier è naturale per un matematico chiedersi se esistano degli oggetti simili in dimensioni maggiori: la risposta è si. Si tratta delle cosiddette superfici di Bezier. Il concetto di base è sempre lo stesso: si cerca di trovare una superficie che passi per un certo numeri di punti disposti nello spazio e si richiede, come nel caso delle curve, che la superficie sia "liscia" e non presenti spigoli o variazioni troppo brusche.

La costruzione di una tale superficie passa ancora attraverso i polinomi di Bernstein. Si scelgono un certo numero di punti \mathbf{P}_{i,j} nello spazio; la superficie di Bezier passante per i punti P_{i,j} e data dall'equazione parametrica
p(u,v)=\sum_{i=0}^{n}\sum_{j=0}^{m}B_i^n(u)B_j^m(v)\mathbf{P}_{i,j}
dove p(u,v) sono le coordinate dei punti della superficie al variare dei parametri u,v che qui svolgono il ruolo del parametro t all'interno della definizione dei due polinomi di Bernstein B_i^n(u) e B_j^m(v).

Questa immagine (fonte Wikipedia) rappresenta le potenzialita delle superficie di Bezier per creare modelli 3D:
250px-Bicubic_Patches

E' disponibile online un sito web che permette di "giocare" con le curve di Bezier. Il sito web è il seguente: The Bezier Game.

Sperando di non avervi tediato troppo con la matematica, se avete voglia di mettere in pratica tutto quello che avete letto (e fregarvene degli algoritmi) potete tranquillamente scaricare il software gratuito (e open source) Gimp e seguire uno degli innumerevoli tutorial disponibili online per imparare ad usare lo strumento "Curve di Bezier". Alla prossima!

CC BY-NC-SA 4.0
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Similar posts

Nessun commento ancora

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Partecipa all’indagine “Io e la Matematica”

Clicca sull'immagine sottostante per rispondere al breve e anonimo questionario:

MIA15 - Nomination

Conviditi con i tuoi contatti questo link!

Canale Telegram dedicato alla Matematica

Iscriviti sul nostro canale Telegram

MIA15 - Nomination

Rimani aggiornato sui più interessanti articoli di divulgazione matematica e non solo!

Iscriviti alla nostra newsletter

Resta aggiornato sui nostri post e su quello che facciamo.

Seguici su Twitter

Tag Cloud

Grazie per il sostegno ai #MIA2015

Grazie a tutti per averci votato ai "Macchia Nera Awards 2015" nella categoria "Miglior Sito Tecnico-Divulgativo".

Siamo arrivati in finale grazie al vostro sostegno!

MIA15 - Nomination