Intersection entre deux courbes

Auteur ou autrice : Vincent Zoonekynd.

Mise en ligne le 7 mai 2024

Image du résultat de l’exemple

En 1999, puis mis à jour en 2001, Vincent Zoonekynd a mis en ligne un fichier MetaPost illustrant différentes utilisations du programme avec plus de 300 exemples. Ces exemples sont disponibles sur le CTAN.

Code


beginfig(112)
    def compute_curve(suffix f)(expr xmin, xmax, xinc) =
    ( (xmin,f(xmin))
    for x=xmin+xinc step xinc until xmax:
      .. (x,f(x))
    endfor )
  enddef;
  vardef f(expr x) = x**2 + 1 enddef;
  vardef g(expr x) = 2 - (x-1)**2 enddef;
  path p, q;
  p := compute_curve(f, -1, 1.5, .1) scaled 1cm;
  q := compute_curve(g, -.5, 2, .1) scaled 1cm;
  fill buildcycle(p,reverse q) withcolor red+green;
  draw p withpen pencircle scaled 1bp;
  draw q withpen pencircle scaled 1bp;
  draw (-1cm,0) -- (2cm,0);
  draw (0,g(-.5)*1cm) -- (0,f(1.5)*1cm);
endfig;

end.

Mots clés : vardefintersectionreversebuildcyclepathzoonekynd

Cet exemple fait partie de la collection d’exemples Exemples de Vincent Zoonekynd.

Fichiers

Télécharger l’archive complète