%% Solução Final
%Insere o vetor das posições em X das câmaras (entre 100 e 1300): [400,400,400,700,700,1000,1000,1000]
%Insere o vetor das posições em Y das câmaras (entre 500 e 2000): [700,1100,1500,700,1800,700,1100,1500]
%Insere o vetor dos ângulo das câmaras (entre 0 e 360):           [180+45,180,90+45,270,90,-45,0,45]

%% Definição do tamanho do espaço e do tamanho do carro
addpath('lib')
prompt=sprintf('Insere o vetor das posições em X das câmaras (entre 100 e 1300): ');
    x= input(prompt); %[200,200,200,700,700,1200,1200,1200]
    prompt=sprintf('Insere o vetor das posições em Y das câmaras (entre 500 e 2000): ');
    y= input(prompt); %[500,1250,2000,500,2000,500,1250,2000]
    prompt=sprintf('Insere o vetor dos ângulo das câmaras (entre 0 e 360): ');
    ang= input(prompt); %[180+45,180,90+45,270,90,-45,0,45]

figure(1)
view([30 15])
axis equal;
hold on;
axis([-3000 4000 -2500 6000 0 10]);
%axis([-200 200 -200 200 0 1]);
xlabel('X')
ylabel('Y')
zlabel('Z')

Xfov=2000;
Yfov=Xfov*tand(30);

%Matriz Pontos Teto
MPT= [0 0 0 1;1400 0 0 1;1400 3500 0 1;0 3500 0 1 ]';
%Matriz Pontos carro
MPT= [0 -500 0 1;1400 -500 0 1;1400 3500 0 1;0 3500 0 1 ]';

%Matriz Pontos FOV
MPfov= [0 0 0 1;Xfov Yfov 0 1;Xfov -Yfov 0 1]';

%REPRESENTAÇÃO
fill3(MPT(1,:),MPT(2,:),MPT(3,:),[113/255, 199/255, 139/255]);

for i=1:length(x)
    MpointsCameras(:,:,i)=MPfov;
    MpointsCameras(:,:,i)=trans(x(i),y(i),0)*rotz((ang(i)*pi)/180)*MpointsCameras(:,:,i);
    fill3(MpointsCameras(1,:,i),MpointsCameras(2,:,i),MpointsCameras(3,:,i),[42/255, 95/255, 139/255]);
    alpha(0.3)
end











