Coordinate omogenee
Con opportune convenzioni, un punto del
piano cartesiano può essere rappresentato da una coppia di numeri
(x, y) che sono le sue coordinate cartesiane. Per poter considerare
anche i punti all'infinito del piano e dare alle formule della
geometria analitica la generalità necessaria per trattare gli
elementi impropri della geometria proiettiva, conviene introdurre le
cosiddette coordinate omogenee. Dato un punto A del piano si
considerano tre numeri x1, x2, x3,
non tutti nulli, definiti a meno di un fattore di proporzionalità,
tali che, indicate con x e y le coordinate cartesiane di A, si abbia:
x = x1/x3 y = x2/x3.
Di queste terne di numeri interessano
soltanto i mutui rapporti e, per ogni punto, i numeri della terna
x1, x2, x3, possono essere
moltiplicate per un medesimo fattore non nullo senza che cambino le
coordinate del punto da esse rappresentto.
Se si fa in modo che sia x3
= 1 le altre due coordinate coincidono con le coordinate cartesiane.
In questa sede non possiamo
approfondire tutte le implicazioni di questa definizione ma ne
sfruttiamo una caratteristica formale.
Rappresentiamo un punto generico [x
y] nella forma [x y 1], il terzo numero, che nei nostri calcoli
resterà sempre uguale ad 1, ci servirà per impostare una matrice di
trasformazione che comprenda tutte le trasformazioni affini, compresa
la traslazione.
Eseguendo il prodotto righe per colonne
nella forma sottostante si ottiene la formula completa della
trasformazione lineare senza dover sommare il vettore di traslazione.
Questo fatto rappresenta un grosso
vantaggio perchè ci permette di fare trasformazioni composte
eseguendo prodotti di matrici come si è fatto nel caso del gruppo di
isometrie senza avere l'eccezione rappresentata dalla traslazione.
Ricordando che tutte le considerazioni
geometriche fatte sono ancora valide, possiamo riscrivere tutte le
matrici di trasformazione viste considerando i punti in coordinate
omogenee.
Aggiungendo una colonna con un termine
1 e gli altri termini nulli anche il valore del determinante non
viene modificando, basta ricordare la regola di Laplace per il
calcolo dei determinanti.
Esempio di traslazione realizzata
con coordinate omogenee
Si inseriscono direttamente le
coordinate dei punti nelle celle del foglio di calcolo formando una
matrice con l'ultima colonna formata di valori 1 mentre la matrice di
trasformazione ha la forma della matrice identica con le componenti
del vettore di traslazione nei primi due posti dell'ultima riga.
la traslazione si realizza con T'
= T * Tras
Anche le operazioni di prelevamento dei
dati dalla matrice per costruire il triangolo trasformato non
cambiano infatti l'ultima riga della matrice formata tutta da valori
1 non modifica le formule.
Le coordinate dei punti trasformati si
prelevano dalla matrice risultante T'
A' =
Elemento[T', 1, 1], Elemento[T', 1, 2])
B' =
Elemento[T', 2, 1], Elemento[T', 2, 2])
C' =
Elemento[T', 3, 1], Elemento[T', 3, 2])
Per comodità del lettore riportiamo le
matrici di trasformazione omogenee per tutte le trasformazioni
elementari già viste.
Matrice identica e simmetria
rispetto all'origine
Simmetria rispetto all'asse
x e rispetto all'asse y
Rotazione rispetto
all'origine di 90° e di 270°
Traslazione di un vettore
[p, q] e rotazione rispetto all'origine di un angolo α
Si può vedere che sono
verificate le semplici proprietà:
1 - So := Sx * Sy
2 - R270 := R90 * So e
R90 = R270 * S0
3 - R270 = R90 * R90 * R90
= (R90)3
in cui i fattori possono
essere scambiati
Per le simmetrie rispetto
alle bisettrici:
4 - S13 := R90 * Sy
5 - S13
:= R270 * Sx
6 - S24 :=
R90 * Sx
7 - S24 :=
R270 * Sy
in
questo caso i fattori non possono essere scambiati tra loro
Simmatria
rispetto ad un punto P = (a, b)
Perchè due
punti A = (x, y) e A' = (x', y') siano simmetrici rispetto ad un
punto P occorre che questo sia il punto medio del segmento PP',
quindi devono valere la relazioni:
quindi
ricavando x' ed y' si ottengono le formule:
x' = -x + 2a
e y' = -y + 2b
che scritte in
forma matriciale diventano:
Queste formule
ci suggeriscono come scrivere le matrici di trasformazione per la
simmetria rispetto alle parallele agli assi coordinati.
A sinistra
trasforma una figura nella sua simmetrica rispetto alla retta x = h
in cui le ordinate restano invariate e alla destra rispetto alla
retta y = k dove restano invariate le ascisse.
Trasformazioni
affini con coordinate omogenee
Proponiamo
un file che sia in grado, cliccando le caselle di controllo, di
eseguire alcune trasformazioni che usano le matrici incontrate anche
se, modificando i numeri nelle aree gialle, si possono fare tutte le
trasformazioni affini.
Nel
foglio di calcolo sono evidenziate in giallo le aree i cui dati sono
modificabili, si notano le coordinate dei punti della figura F
origine in cui l'ultima colonna di valori 1 viene usata per eseguire
i calcoli ma non per rappresentare la figura.
Una
cosa analoga succede per la colonna a destra della matrice M
Viene
creata una matrice F selezionando l'area del foglio di calcolo che la
contiene, si clicca con il tasto destro e si usa il comando
Crea/Matrice, stessa procedura per la matrice M di
trasformazione. La matrice trasformata si trova con l'operazione F'
= F * M che è un normale prodotto righe per colonne eseguito
direttamente da GeoGebra.
Procedure
per la rappresentazione:
Per
quanto riguarda i valori che abbiamo inserito nelle celle del foglio
di calcolo, si seleziona l'area gialla del foglio di calcolo e si usa
il comando: Crea/Lista di punti che costruisce la lista:
Lf = {A, B, C, D} che può essere usata per rappresentare il
quadrilatero con il comando
Gf = Poligono[Lf].
Per
quanto riguarda i valori calcolati di F' si costruisce la lista Lf':
Lf'
= {(Elemento[F', 1, 1], Elemento[F', 1, 2]), (Elemento[F', 2, 1],
Elemento[F', 2, 2]), (Elemento[F',
3, 1], Elemento[F', 3, 2]), (Elemento[F', 4, 1], Elemento[F', 4, 2])}
che
poi viene usata per rappresentare la figura trasformata:
Gf' =
Poligono[Lf']
Per
quanto riguarda le trasformazioni noi vogliamo che i numeri possano
essere inseriti direttamente nelle celle del foglio di calcolo e che
si possa intervenire anche in modo visuale, prendendo come esempio
l'immagine della figura, spostando il punto rosso di simmetria.
Anche
i punti della figura azzurra che va trasformata si possono spostare
in modo visuale provocando la variazione dei punti nelle celle del
foglio di calcolo.
Queste
funzionalità e questa possibilità di doppio input sono concepite
per poter usare il file per sperimentare le diverse situazioni e sono
ottenute con l'uso di comandi GeoGebraScript.
Ad
ogni variabile logica, visualizzata nella finestra grafica come
casella di controllo, si associano dei comandi di scripting che fanno
sì che sia l'unica con il valore true
Comandi
associati alla prima variabile e1:
ImpValore[e1,
true] ImpValore[e2,
false]
ImpValore[e3,
false] ImpValore[e4,
false]
ImpValore[e5,
false] ImpValore[e6,
false]
Con
la stessa logica alla variabile e2 si associa ImpValore[e2, true]
e tutte le altre si pongono false e così via.
Vediamo
in modo dettagliato i comandi relativi alla simmetria centrale. Per
prima cosa si posizione un punto P di colore rosso che viene
visualizzato solo nel caso sia selezionata la relativa casella di
controllo. Si clicca sul punto con il tasto destro e nella linea di
edit relativa alla voce Proprietà/Avanzate/Condizioni per
mostrare l'oggetto si scrive e1 così l'oggetto verrà
visualizzato solo nel caso che tale variabile ha valore true.
Al
gruppo di comandi elencati sopra si fa seguire come proprietà di e1
i seguenti:
ImpValore[B6,
-1]
ImpValore[B7,
0]
ImpValore[C6,
0]
ImpValore[C7,
-1]
ImpValore[B8,
2*x(P)]
ImpValore[C8,
2*y(P)]
F'=F*M
con
i quali si assegnano agli elementi della matrice i valori opportuni
perchè venga eseguita la trasformazione voluta e poi si esegue il
prodotto.
Segue
la visualizzazione di F' che è già stata illustrata. Questo schema
verrà usato anche per le altre trasformazioni.
Ora
bisogna fare in modo che se viene cambiata la posizione del punto P
per trascinamento vengano aggiornati i valori della trasformazione.
Per
fare questo si associano al punto P i comandi di scripting:
ImpValore[B8,
2*x(P)]
ImpValore[C8,
2*y(P)]
F'=F*M
che
aggiornano i termini della matrice sulle nuove coordinate di P e
ricalcolano F'.
Con
le opportune differenze legata alla trasformazioni differenti lo
schema si ripete:
-
Assegnazione dei valori della trasformazione
-
Visualizzazione degli elementi per apportare variazioni alla
trasformazione
Per
chi fosse interessato il file descritto sopra può essere scaricato
all'indirizzo:
http://www.geogebratube.org/material/show/id/121235
Nessun commento:
Posta un commento