La figura Q può essere trasformata nelle figure A, B, C, …, H trasformando i suoi punti con una funzione f: (x,y) → (x',y') del tipo di quella descritta a fianco. Per ciascuna trasformazione trova la matrice M corrispondente.  


x'

 = M · 

x

y'y

A: 

0   1

1   0
   
B: 

1   0

1   1
   
C: 

-1   0

 0   1
   
D: 

 0   1

-1   0

E: 

 0   -1

-1    0
   
F: 

1   -1

1    1
   
G: 

1   0

1   0
   
H: 

1.5   0

 0     2

source("http://macosa.dima.unige.it/r.R")
BF=3; HF=3
PIANO(-6,9, -6,9); grigliaO(-10:10); grigliaV(-10:10)
# Metto i punti sotto forma di matrice del tipo: 2 righe 1 colonna:
PM = function(x,y) matrix(data=c(x,y), nrow=2, ncol=1)
#
Q1 = PM(3,1); Q2 = PM(6,1); Q3 = PM(6,3); Q4 = PM(3,3)
Qx = c(Q1[1],Q2[1],Q3[1],Q4[1],Q1[1]); Qy = c(Q1[2],Q2[2],Q3[2],Q4[2],Q1[2]);
spezzata(Qx,Qy,"magenta")
# Trasforma Q mediante la matrice M e rappresento la figura nel colore COL
Trasf = function(M,COL) {
  P1<- M %*% Q1; P2<- M %*% Q2; P3<- M %*% Q3; P4<- M %*% Q4
  Px = c(P1[1],P2[1],P3[1],P4[1],P1[1]); Py = c(P1[2],P2[2],P3[2],P4[2],P1[2]);
  spezzata(Px,Py,COL) }
A = M(0,1, 1,0);   A; Trasf(A, "red")
B = M(1,1, 0,1);   B; Trasf(B, "blue")
C = M(-1,0, 0,1);  C; Trasf(C, "orange")
D = M(0,-1, 1,0);  D; Trasf(D, "green")
E = M(0,-1, -1,0); E; Trasf(E, "brown")
F = M(1,1, -1,1);  F; Trasf(F, "grey")
G = M(1,1, 0,0);   G; Trasf(G, "black")
H = M(1.5,0, 0,2); H; Trasf(H, "seagreen")