clear all
close all

%v=[-5;1];
v=[3;5];
O=[0 0];
alpha=norm(v);
a=[alpha; 0];
u=v+a;
beta=norm(u)^2/2;
Qv=v-1/beta*u.'*v*u;
figure
quiver(O(1),O(2),v(1),v(2),0,'b','linewidth',2)
set(gca,'visible','off')
hold on
axis equal
text(0.9*v(1),v(2),'$\displaystyle x $','interpreter','latex','fontsize',20,'color','b')
pause
R=alpha;
phi=linspace(0,pi);
x=R*cos(phi);
y=R*sin(phi);
plot(x,y,'k')
R=alpha;

quiver(O(1),O(2),a(1),a(2),0,'m')
text(0.8*a(1),0.9*a(2)+0.1 ,'$\displaystyle ||x|| e_1 $','interpreter','latex','fontsize',20,'color','m')
pause

plot([v(1) v(1)+a(1)],[v(2) v(2)+a(2)],'--k')
plot([a(1) v(1)+a(1)],[a(2) v(2)+a(2)],'--k')
quiver(O(1),O(2),u(1),u(2),0,'r')
text(0.8*u(1),0.8*u(2),'$\displaystyle u=x+||x||e_1 $','interpreter','latex','fontsize',20,'color','r')
pause

P=u*v.'*u/(norm(u))^2;
plot([v(1) P(1)],[v(2) P(2)],'--k')
quiver(P(1),P(2),v(1)-P(1),v(2)-P(2),0,'g')
quiver(O(1),O(2),P(1),P(2),0,'g')
text(0.8*P(1),0.8*P(2),'$\displaystyle\frac{x^T u }{||u||^2}u$','interpreter','latex','fontsize',20,'color','g')
text(0.5*(P(1)+v(1)),0.5*(P(2)+v(2)),'$\displaystyle w$','interpreter','latex','fontsize',20,'color','g')
pause


quiver(O(1),O(2),-2*P(1),-2*P(2),0,'g')
text(-1.9*P(1),-1.9*P(2),'$-2\displaystyle\frac{x^T u }{||u||^2}u$','interpreter','latex','fontsize',20,'color','g')
pause


plot([v(1) v(1)-2*P(1)],[v(2) v(2)-2*P(2)],'--k')
plot([-2*P(1) v(1)-2*P(1)],[-2*P(2) v(2)-2*P(2)],'--k')

quiver(O(1),O(2),Qv(1),Qv(2),0,'k','linewidth',2)
text(0.6*Qv(1),0.8*Qv(2)+0.2,'$\displaystyle Qx=||x|| e_1 $','interpreter','latex','fontsize',20,'color','k')
%plot([0 v(1)],[0 v(2)])
set(gca,'visible','off')