% Choix des points P et Q
clf
hold on
axis('square')
axis off
m=max(max(abs([x;y])));
axis([-m m -m m])

% DÇtermination de P
alpha=rand(1)*2*pi;
if choix == 1
  d=rand(1);
  Px=cos(alpha)*d;
  Py=sin(alpha)*d;
  P=[Px;Py];
elseif choix == 2
  ra=sqrt((cos(alpha)*a)^2+(sin(alpha)*b)^2);
  d=rand(1)*ra;
  Px=cos(alpha)*d;
  Py=sin(alpha)*d;
  P=[Px;Py];
elseif choix == 3
  alpha=alpha+4*pi;
  ra=alpha;
  d=rand(1)*ra;
  Px=cos(alpha)*d;
  Py=sin(alpha)*d;
  P=[Px;Py];
elseif choix == 4
  ra=1+sin(l*alpha)/l;
  d=rand(1)*ra;
  Px=cos(alpha)*d;
  Py=sin(alpha)*d;
  P=[Px;Py];
end

% DÇtermination de Q
plot(x,y,'b')
plot(Px,Py,'r*')
n=m/18;
text(-1.5*m,m+2*n,'La position de la balle d''origine (marquée d''une croix)')
text(-1.5*m,m+0.6*n,'est choisie aléatoirement.')
text(-1.5*m,-m-1.9*n,' Mais celle de la balle cible (marquée d''un rond) sera')
text(-1.5*m,-m-3*n,' choisie par vos soins. Cliquez donc à l''emplacement choisi.')

% DÈfinition et test du point Q
z=5;
lo=0;
while ((z)>=lo)
  [Qx,Qy]=ginput(1);
  z=sqrt(Qx^2+Qy^2);
  delta=acos(Qx/z)*sign(Qy);
  if choix == 1
    lo=1;
  elseif choix == 2
    lo=sqrt((cos(delta)*a)^2+(sin(delta)*b)^2);
  elseif choix == 3
    if sign(delta) < 0
      lo=delta+6*pi;
    else
      lo=delta+4*pi;
    end
  elseif choix == 4
    lo=1+sin(l*delta)/l;
  end
end
plot(Qx,Qy,'ro')
Q=[Qx;Qy];
hold off

