Proprietà delle curve razionali di Bézier

Invarianza affine

 

Si ricorda brevemente che una mappa affine è un'applicazione da E2 in sé che preserva il rapporto semplice di 3 punti allineati. Facendo uso delle coordinate affini, possiamo rappresentare tale applicazione per mezzo di una matrice 3x3 non singolare. Si osservi inoltre che una generica affinità può sempre essere vista come composizione delle seguenti trasformazioni del piano: traslazioni, rotazioni, dilatazioni, riflessioni, "slittamenti" (shearing).

Cosa significa che una curva (razionale) di Bézier è invariante rispetto a trasformazioni affini?

Nel caso in cui volessimo trasformare una curva (generica) tramite una trasformazione affine (ruotarla, traslarla, farla slittare, farne una riflessione, dilatarla), dovremmo calcolare per ogni punto della curva la sua immagine tramite tale applicazione. Tale procedimento potrebbe tuttavia avere un elevato costo computazionale: si ricordi che un'affinità comporta il calcolo dell'immagine di un vettore attraverso una matrice 3x3, il che richiede (2+3)*3=15 operazioni elementari (somme e prodotti di quantità "reali").

Nel caso delle curve di Bézier vale invece un'utile:

Proprietà

Si considerino i punti b0,...,bn immagine tramite una mappa affine A dei punti a0,...,an, e si calcoli la relativa curva (razionale) di Bezier :  P(t)= P(t, b0,...,bn ). Allora vale:

P(t) = Q'(t) = A[ Q(t,a0,...,an) ]

Ove Q'(t) è l'immagine, tramite la trasformazione affine A, della curva di Bezier  Q(t)= P(t, a0,...,an ).

In termini più semplici:

Se vogliamo trasformare una curva (razionale) di Bezier tramite un'affinità è sufficiente calcolare l'immagine del poligono di controllo e quindi ritracciare la curva (dipendente dal nuovo poligono): in questo modo si sarà dovuta applicare l'affinità solo un numero limitato di volte, esattamente (n+1) ossia il numero dei vertici del poligono di controllo (se il grado della curva è n)

 

Come funziona l'applet

L'applicazione è suddivisa in 3 finestre:

Per determinare l'affinità con cui trasformare curva e poligono, sono messe a disposizione dell'utente alcune semplici funzioni, che illustriamo qui di seguito:

N.B. In generale una trasformazione affine è caratterizzata da 9 parametri (con alcune condizioni), quindi in questa applet se ne sono implementate solo un numero limitato: questo poiché lo scopo di questa sezione non è quello di illustrare le varie tipologie di trasformazioni piane (euclidee e non) ma piuttosto di mostrare alcune proprietà delle curve (razionali) di Bezier.

 

Quale sarà il risultato?

Una volta compresa la proprietà di invarianza sopra esposta, sembrerà del tutto naturale che le due finestre (non attive) disegnino la stessa curva.