Barycentre à poids d’une liste de points

Auteur ou autrice : Vincent Zoonekynd.

Mise en ligne le 4 novembre 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(222)
  vardef barycentre(text t) =
    save a, i, n, G, X;
    pair G,X; numeric n,i;
    G := origin; n:=0; i:=0;
    for a=t:
      show("i = "& decimal(i));
      show a;
      if odd(i):
        show("odd");
        n:=n+a;
        G:= G + a*X;
      else:
        show("even");
        X:=a;
      fi;
      i:=i+1;
    endfor;
    G/n
  enddef;

  pair A[];
  n:=10;
  for i=0 upto n:
    A[i] = 1cm*(normaldeviate, normaldeviate);
    draw A[i] withpen pencircle scaled 4bp;
  endfor;
  draw barycentre(A[0],0 for i=1 upto 10: ,A[i],i endfor)
    withpen pencircle scaled 4bp withcolor red;
endfig;

end.

Mots clés : barycentrepointszoonekyndfor

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

Fichiers

Télécharger l’archive complète