%@AUTEUR:Guillaume Connan
prologues:=2;

input courbes;
input geo;

color vert_e, turquoise, orange, vert_fonce, rose, vert_mer, bleu_ciel, or, rouge_v,bleu_m,bleu,bleu_f;
vert_e:=(0,0.790002,0.340007);
turquoise:=(0.250999,0.878399,0.815699);
orange:=(0.589999,0.269997,0.080004);
vert_fonce:=(0,1.4*0.392193,0);
rose:=(1.0, 0.752907, 0.796106);
bleu_ciel:=(1.2*0.529405,1.2*0.807794,1);%.2*0.921598);
or:=(1,0.843104,0);
rouge_v:=(0.829997,0.099994,0.119999);
bleu_m:=(0.7*0.529405,0.7*0.807794,0.7);%*0.921598);
bleu_f:=(0.211762,0.3231176,0.3686392);
bleu:=(0.529405,0.807794,1);

% Déclarations des constantes %
numeric xmin, xmax, ymin, ymax, N;

ux:=4cm;  uy:=1.5cm;
xmin := 0 ; xmax := 1.1;
ymin := -.1 ; ymax := 3.3;

% Définitions des axes et labels associés
vardef axes =
  drawarrow (ux*xmin,0) -- (ux*xmax,0)  ; % axe des x
  drawarrow ((0,uy*ymin) -- (0,uy*ymax))shifted (.08*ux,0); % axe des y
  label.lrt(btex $x$ etex,(xmax*ux,0)); % label de l'axe des x
  label.urt(btex $y$ etex,(0,ymax*uy)); % label de l'axe des y
enddef;


beginfig(1);
  
  axes;
  
  % La courbe
  vardef f(expr x) =1/(sqrt x) enddef;
  
  vardef tracee (suffix g)(expr a,b,inc) =
    save i; numeric i;
    for i=a step inc until b:
      (i*ux,f(i)*uy) ..
    endfor (b*ux,f(b)*uy)
  enddef;
  
  draw tracee(g,.1,1,.01) withcolor vert_fonce ;
  
  label.urt(btex $ y=1/x$ etex,(.5*ux,f(.5)*uy)shifted (.05*ux,.35*uy));
  
% Le point M
  
  draw(ux,uy) withpen pencircle scaled 3bp;
  label.urt(btex Depart etex, (ux,uy));
  
% Tirets
  
  draw ((-.05*ux,uy)--(.05*ux,uy))shifted (.08*ux,0);
  label.lft(btex $1$ etex,(-.05*ux,uy));
  
  draw (ux,-.1*uy)--(ux,.1*uy);
  label.bot(btex $1$ etex,(ux,-.1*uy));

% Flèches
  
  path p,q,r;
  
  p=(-.04*ux,-.1*uy)--(0,0)--(.04*ux,-.1*uy);
  q=p rotated 15;
  r=p rotated 60;
  draw q shifted (.15*ux,f(.15)*uy) withcolor vert_fonce;
  draw r shifted (.5*ux,f(.5)*uy) withcolor vert_fonce;
  
endfig;

end