test1

clear
close all

cam.pos = [5 10 5];
cam.target = [0 0 0];
cam.va = 30;

figure(1);
daspect([1 1 1]);
view(135,60);
grid

hold on;
scl = 1.0;
out = cam_obj(cam,scl);

% draw camera normal vector
pos = cam.pos;
tgt = cam.target;
plot3([pos(1) tgt(1)],[pos(2) tgt(2)],[pos(3) tgt(3)],'k','LineWidth',2);

% show math to do camera projection
obj = [3  4 1];
img = out.T*[obj 1]';
imgpt = [img(1)/img(3) img(2)/img(3) 1 1]
invpt = out.Tinv*imgpt';
% imgpt = h2e(out.T*e2h(obj'))';
% invpt = out.Tinv*[imgpt 1 1]';
plot3([obj(1) invpt(1)],[obj(2) invpt(2)],[obj(3) invpt(3)],'g','LineWidth',2);


% axis equal
xlabel('x axis');
ylabel('y axis');
zlabel('z axis');
hold off
imgpt =

   -0.1217    0.1491    1.0000    1.0000

% T = [out.T; 0 0 0 1];
% Ti = [out.Tinv; 0 0 0 1];
% T*Ti