clear all
clf

trans_n=1;

x=input('Ge den vektor du vill transformera (som en kolumnvektor)  ');

while trans_n==1
disp(' ')
tran=input('Ange vilken typ av transformation med 1 for rotation, 2 for reflektion och 3 for projektion   ');

if tran==1
  disp(' ')
  theta=input('Ge vinkeln (i radianer) for rotationen  ');
  A=[cos(theta) -sin(theta);sin(theta) cos(theta)];
end
if tran==2
  disp('')
  theta=input('Ge vinkeln (i radianer) for linjen i vilken vektorn ska reflekteras  ');
  A=[cos(2*theta) sin(2*theta);sin(2*theta) -cos(2*theta)];
end

if tran==3
  disp(' ')
  theta=input('Ge vinkeln (i radianer) for linjen pa vilken vektorn ska projiceras  ');
  A=[cos(theta).^2 sin(theta)*cos(theta);sin(theta)*cos(theta) sin(theta)^2];
end

y=A*x;

disp('Den transformerade vektorn y = Ax '), y
figure(99)

plot([0 x(1)],[0 x(2)],'LineWidth',2), hold on 
plot([0 y(1)],[0 y(2)],'r','LineWidth',2), hold on 
r=norm(x,2);
axis([-r-1, r+1,-r-1,r+1])
grid on
x=y;
trans_n=input('Vill du gora ytterligare en transformation pa vektorn y ? ja=1, nej=0   ') ;
end

text(-r-0.5,-r-0.25,'Red: transformerad vektor')
text(-r-0.5,-r-0.5,'Blue: vektorn innan transformationen')
