Une cardioïde comme podaire d’un cercle, détails

Auteur ou autrice : Vincent Zoonekynd.

Mise en ligne le 12 octobre 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


u:=1cm;
beginfig(171)
vardef cardiodide(expr p, O) =
  save i,M,N;
  numeric i;
  for i=0 step length(p)/100 until length(p):
    hide(
      pair M,N;
      M = point i of p;
      N-M = whatever * direction i of p;
      N-O = whatever * direction i of p rotated 90;
    )
    N ..
  endfor cycle
enddef;

  path p;
  p  = fullcircle scaled 2cm;
  z0 = (-1cm,0);
  pickup pencircle scaled 1pt
  draw p;
  draw z0 withpen pencircle scaled 3pt;
  draw cardiodide(p,z0);
  pickup pencircle scaled .4pt
  pair M,N;
  i:=1.5;
  M = point i of p;
  N-M  = whatever * direction i of p;
  N-z0 = whatever * direction i of p rotated 90;
  draw z0--N;
  draw (-1/2)[N,M]--(3/2)[N,M];
  draw N withpen pencircle scaled 3pt;
  draw M withpen pencircle scaled 3pt;
endfig;

end.

Mots clés : cardioïdecerclesdirection ofwhateverzoonekynd

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

Fichiers

Télécharger l’archive complète