function[coord, hidden, distance]=camera_simulation_2d(alpha,T,pt,K,f,width)

%CAMERA_SIMULATION_2D Summary of this function goes here
%   Detailed explanation goes here
%   [uv, hidden, distance]=camera_simulation(R,T,pt,K,f,heigth,width)

[n,m] = size(pt);

p3d = [pt(1,:); zeros(1,m); pt(2,:)]; %dispongo i punti 2d sul piano XwZw nello spazio 3d

R = rotaz(0,alpha,0); % ammetto solo rotazioni della telecamera che mantengano
                       %gli assi Zc e Xc della telecamera sul piano ZwXw
                       %dunque attorno a Yw.
%non dovrebbe essere ALPHA NEGATIVO? l'asse y è entrante nel piano!
                      

T3d= [T(1), 0, T(2)]'; %traslo la telecamera solo sul piano ZwXw

if (nargin<4)
    K=eye(3);
end
if (nargin<5);
    f=1;
end


if (nargin < 6) % Se non viene specificato altrimenti, supponiamo di avere 
    % un piano immagine infinito.
    [uv, hidden, distance]=camera_simulation(R,T3d,p3d,K,f);
else
    [uv, hidden, distance]=camera_simulation(R,T3d,p3d,K,f,width,width);
end
uv
coord = uv(1,:);


end

