sabato 31 maggio 2014

Matrici di trasformazione 5 - Gruppo delle affinità e complementi


Trasformazioni composte

Nel post precedente si è visto che se si usano le coordinate omogenee nel piano cartesiano tutte le trasformazioni possono essere fatte come prodotto di un'unica matrice e quindi anche le trasformazioni composte possono essere fatte senza eccezioni come prodotto di matrici.
Questo semplifica non poco tutti i ragionamenti ed i calcoli con GeoGebra e permette di vedere le trasformazioni affini come un unico gruppo di trasformazioni.
La figura geometrica F viene trasformata in F' con un'operazione del tipo:
F' = F * M con det M 0
Noi lavoriamo con i punti ed eseguiamo le trasformazioni su questi, per trasformare un poligono eseguiamo le operazioni sui suoi vertici e poi unendo i punti trasformati otteniamo il suo trasformato.

La stessa operazione però può essere fatta anche su una circonferenza o su una conica in generale: si considerano 5 punti della conica, si eseguono le trasformazioni e poi si fa costruire a GeoGebra la conica passante per i punti trasformati che sappiamo essere unica e quindi si tratta della conica trasformata.
Le coordinate dei punti A, B, C, D, E possono essere modificate intervenendo sulle celle del foglio di calcolo o possono essere trascinati direttamente dalla finestra grafica, anche la matrice M di trasformazione può essere modificata per verificare gli effetti sul grafico.

Per chi fosse interessato il file di questa applet può essere trovato all'indirizzo:

Matrice di trasformazione con determinante nullo

Se il determinante della matrice di trasformazione è zero vuol dire che la prima e la seconda riga della matrice non sono linearmente indipendenti e quindi i due vettori in cui sono trasformati i versori fondamentali appartengono alla stessa retta.
In questo caso tutti i punti trasformati sono allineati.



Per chi fosse interessato il file di questa applet può essere trovato all'indirizzo:

Nel caso particolare in cui la prima linea è nulla i punti della figura trasformata sono sull'asse y

Se la seconda linea è data dal vettore e2, le ordinate non vengono cambiare e quindi si ha la proiezione della figura sull'asse delle ordinate. Se le prima riga è e1 e la seconda nulla si ottiene la proiezione sull'asse delle ascisse.
Questa costruzione si ottiene inserendo nell'area della matrice M i relativi vcalori


Matrici Inverse

Data una matrice di trasformazione M per trovare la trasformazione inversa che riporta la figura trasformata nella sua posizione iniziale, basta trovare una matrice N tale che M * N = I dove I è la matrice identica. Tale matrice viene chiamata M-1.

In pratica per studiare le trasformazioni si possono applicare le proprietà dell'algebra delle matrici.
I procedimenti per il calcolo della matrice inversa dei una matrice M è legato al fatto che il determinante di M sia diverso da zero, tali calcoli comunque vengono svolti da GeoGebra.
Sono mostrati due esempi di funzioni inverse, per verificare basta fare i prodotti righe per colonne delle matrici e notare che T * T-1 = I e che R * R-1 = I.
Notiamo che l'inversa della matrice T che opera una traslazione di un vettore v = [ p q ] è la matrice che opera la traslazione opposta -v = [ -p -q ] cioè che riporta la figura nella sua posizione iniziale. Lo stesso si può dire per la matrice R che opera una rotazione di un angolo α la sua inversa fa una rotazione di -α


Trasformazioni composte

Data una figura F la sua trasformata F' = F * M * N è la trasformazione ottenuta facendo su F la trasformazione M e sulla figura risultante la trasformazione N. Queste proprietà ci permettono di scomporre trasformazioni complesse nel prodotto di trasformazioni più semplici.
Come primo esempio vediamo come è possibile risolvere nel modo visto un esempio di trasformazione già incontrato: la simmetria di una figura rispetto ad un punto generico


Simmetria rispetto ad un punto

La simmetria rispetto ad un punto P diverso dall'origine può essere calcolata usando tre trasformazioni successive:
1 - Traslazione dell'origine degli assi in P (equivale a traslare P nell'origine)
2 - Simmetria rispetto alla nuova origine
3 - Traslazione inversa che riporti l'origine nella posizione iniziale

La matrice che opera la simmetria rispetto ad un punto quindi è uguale al prodotto delle tre matrici che operano le tre trasformazioni elementari descritte sopra.

Nell'area del foglio di calcolo con lo sfondo giallo si mettono le coordinate dei punti cui viene aggiunta una colonna di 1.
Dato un punto libero P del piano rispetto al quale viene calcolata la simmetria, si usano le sue coordinate per costruire la matrice T.

Contenuto della cella B9 =x(P)
Contenuto della cella C9 =y(P)
gli altri valori di T, come quello di So sono costanti.


Si costruiscono le matrici T e So e si calcola l'inverso di T: T' = Inversa[T]
Matrice di trasformazione: M = T' * So * T
Figura trasformata: F' = M * F

Si estraggono i valori delle coordinate della figura trasformata:
A' = (Elemento[F', 1, 1], Elemento[F', 1, 2])
B' = (Elemento[F', 2, 1], Elemento[F', 2, 2])
C' = (Elemento[F', 3, 1], Elemento[F', 3, 2])
D' = (Elemento[F', 4, 1], Elemento[F', 4, 2])
E' = (Elemento[F', 5, 1], Elemento[F', 5, 2])}

Si procede alla sua rappresentazione: Gf' = Poligono[A', B', C', D', E']


Rotazione rispetto ad un punto

Lo schema di questa trasformazione è lo stesso di quello della simmetria rispetto ad un punto, basta sostituire ad So la matrice di rotazione rispetto.

Definiamo anche uno slider nella variabile alfa in modo che sia il punto che l'angolo possono essere modificati in modo visuale.
Contenuto della Cella B11: =cos(alfa)
Contenuto della Cella C11: =sin(alfa)
Contenuto della Cella B12: =-sin(alfa)
Contenuto della Cella C12: =cos(alfa)


Per chi fosse interessato il file di questa applet può essere trovato all'indirizzo:

Simmetria rispetto ad una retta

La simmetria rispetto ad una retta generica r scritta nella forma esplicita y = m x + q può essere calcolata usando cinque trasformazioni successive:
1 - Traslazione dell'origine nel punto (0, q) - (la retta r passa per l'origine delle nuove coordinate)
2 - Rotazione in senso orario di un angolo uguale all'angolo tra la direzione positiva dell'asse x e la retta α = - atan(m) - (La retta r diventa l'asse delle ascisse delle nuove coordinate)
3 - Simmetria rispetto all'asse delle x
4 - Rotazione in senso antiorario di α = atan(m)
5 - Traslazione inversa della prima che riporta tutto a posto

La retta r può essere determinata usando degli slider nelle variabili m e q oppure come retta passante per due punti con m e q calcolati:
m = Pendenza[r] q = y(Q) dove Q = Intersezione[r, asseY]
Il valore di m serve poi per calcolare l'angolo di inclinazione alfa = atan(m) con l'asse delle x.

Si definisce una matrice T di traslazione di cui l'unico valore variabile è:
Contenuto della Cella C9: =q

ed una una matrice R di rotazione
Contenuto della Cella B11: =cos(alfa)
Contenuto della Cella C11: =sin(alfa)
Contenuto della Cella B12: =-sin(alfa)
Contenuto della Cella C12: =cos(alfa)
La matrice Sx per calcolare la simmetria rispetto all'asse x

Calcoliamo con queste la matrice di trasformazione: M = T' * R' *Sx * R * T
Figura trasformata: F' = F * M
che poi va rappresentata con i soliti procedimenti

Per chi fosse interessato il file di questa applet può essere trovato all'indirizzo:

Proiezione su una retta y = mx + q
Come conseguenza di quanto visto, modificando la seconda riga della matrice Sx si ottiene la proiezione della figura sulla retta.

Si tratta degli stessi punti che possiamo ottenere mandando le perpendicolari dai vertici del poligono alla retta e calcolando i punti di intersezione.

Nessun commento:

Posta un commento