
function [punti telecamera ]= MatriceT(t,posizione)
% riceve in ingresso un oggetto telecamera e un arrei di coordinate 
%del tipo [x y z alfa beta gamma] in gradi 
%restituisce i punti ruotati(rispetto l'origine) e traslati 

in1=[t.pos.x t.pos.y 1]';                        % t.pos.z  per caso £D
in2=[t.visuale1.x t.visuale1.y 1]';               %  t.visuale1.z  
in3=[t.visuale2.x t.visuale2.y  1]';   %t.visuale2.z

in=[in1 in2 in3];

% c=gamma rotazione intorno  z

%c=-pi/4;
c=posizione(3)*pi/180; %trasformo in radianti

%Rz=[cos(c) -sin(c) 0; sin(c) cos(c) 0; 0 0 1]; caso 3D

Rz=[cos(c) -sin(c) ; sin(c) cos(c) ];


% b=beta rotazione intorno  y
% b=0;
%b=posizione(5) *pi/180

%Ry=[cos(b)  0  sin(b) ; 0  1  0 ;-sin(b) 0 cos(b)];

% a=alpha rotazione intorno  x
%a=0;
%a=posizione(4)*pi/180

%Rx=[1 0 0 ; 0 cos(a) -sin(a) ;0 sin(a) cos(a) ];


Rt=Rz;
%Rt=Rz*Ry*Rx;  caso 3d predisposto ma da non fare

%x1=1; 
x1=posizione(1);% translazione asse x

%x2=0; 
x2=posizione(2); % translazione asse y
% %x3=0;
% x3=posizione(3); % translazione asse z


T1=[x1;x2];   % ;x3 nelle quadre per 3D

% s=scala

s=1;
%s=***


T=[Rt T1;0 0  s];

punti=T*in;
t.pos.x=punti(1,1);
t.pos.y=punti(2,1);
t.pos.angolo=c;

    t.visuale1.x=punti(1,2);
    t.visuale1.y=punti(2,2);
 
    
    t.visuale2.x=punti(1,3);
    t.visuale2.y=punti(2,3);


telecamera=t;

