% Studio di alcune semplici trasformazioni e loro rappresentazioni 
% nel piano. 

N = 100; 
Nt = 100; 
% Rotazione di alcuni oggetti

% Definizione di una retta mediante due punti
Pa = [-1;-2]; Pb = [3;4];
r = [linspace(Pa(1),Pb(1),N)
     linspace(Pa(2),Pb(2),N)];

% Matrice che definisce le rotazioni
dtheta = 2*pi/Nt; 
c = cos(dtheta); s = sin(dtheta);
M = [c s; -s c];

ruota(r,M,Nt)

pause

% Rotazione di un'ellisse

theta = linspace(0,2*pi,200);
ell = [2+3*cos(theta);2*sin(theta)];

ruota(ell,M,Nt)

pause

% Inserimento di una figura 

[x,y] = ginput;

oggetto = [x';y'];

ruota(oggetto, M, Nt);

pause

% Migliore inserimento
X = []; 
Y = [];

hold on
for k=1:100
    [x,y,B] = ginput(1);
    plot(x,y,'o')
    X = [X,x];
    Y = [Y,y];
    if (B==3) 
        break
    end
end

clf 

oggetto = [X;Y];


ruota(oggetto, M, Nt); 



