% Translaç~ao e rotaç~ao de um objeto no espaço
% Objeto: cubo cores verde e vermelho(8 v´ertices P1,...P8) 
% objeto trasladado: em cores azu e preto
%   grid on

 P1=[0 0 0]
 P2=[1 0 0]
 P3=[1 1 0]
 P4=[0 1 0]
 P5=[0 0 1]
 P6=[1 0 1];
 P7=[1 1 1];
 P8=[0 1 1];
 lineseg(P1,P2,'r');
 lineseg(P2,P3,'r');
 lineseg(P3,P4,'r');
 lineseg(P4,P1,'g');
 lineseg(P5,P6,'r');
 lineseg(P6,P7,'r');
 lineseg(P7,P8,'r');
 lineseg(P8,P5,'g');
 lineseg(P5,P1,'g');
 lineseg(P2,P6,'r');
 lineseg(P3,P7,'r');
 lineseg(P4,P8,'g');
 axis([-5 5 -5 5 0 10])
grid on
xlabel('eixo X')
ylabel('eixo Y')
zlabel('eixo Z')

A=[P1' P2' P3' P4' P5' P6' P7' P8']
% o vetor de traslac,ao: 4 unid. na direç~ao positiva do eixo Y

a=[0 4 0]
T=[a' a' a' a' a' a' a' a']
AT=A+T
PT1=AT(:,1)'
PT2=AT(:,2)'
PT3=AT(:,3)'
PT4=AT(:,4)'
PT5=AT(:,5)'
PT6=AT(:,6)'
PT7=AT(:,7)'
PT8=AT(:,8)'

 figure
 lineseg(PT1,PT2,'b');
 lineseg(PT2,PT3,'b')
 lineseg(PT3,PT4,'b')
 lineseg(PT4,PT1,'k')
 lineseg(PT5,PT6,'b');
 lineseg(PT6,PT7,'b');
 lineseg(PT7,PT8,'b');
 lineseg(PT8,PT5,'k');
 lineseg(PT5,PT1,'k');
 lineseg(PT2,PT6,'b');
 lineseg(PT3,PT7,'b');
 lineseg(PT4,PT8,'k');
 axis([-5 5 -5 5 0 10])
 grid on
 xlabel('eixo X')
 ylabel('eixo Y')
 zlabel('eixo Z')
 
%  % rotaçionando 45 graus R: matriz de rotaçao emtorno do Z
%  theta=45*(pi/180)
%  R=[cos(theta) -sin(theta) 0; sin(theta) cos(theta) 0;0 0 1]
%  RP1=R*P1'
%  RP2=R*P2'
%  RP3=R*P3' 
%  RP4=R*P4'
%  RP5=R*P5'
%  RP6=R*P6'
%  RP7=R*P7'
%  RP8=R*P8'
%  
%  figure
%  lineseg(RP1,RP2,'r');
%  lineseg(RP2,RP3,'r');
%  lineseg(RP3,RP4,'r');
%  lineseg(RP4,RP1,'g');
%  lineseg(RP5,RP6,'r');
%  lineseg(RP6,RP7,'r');
%  lineseg(RP7,RP8,'r');
%  lineseg(RP8,RP5,'g');
%  lineseg(RP5,RP1,'g');
%  lineseg(RP2,RP6,'r');
%  lineseg(RP3,RP7,'r');
%  lineseg(RP4,RP8,'g');
%  axis([-5 5 -5 5 0 10])
% grid on
% xlabel('eixo X')
% ylabel('eixo Y')
% zlabel('eixo Z')
%  