#######################################################################################################################################
#                                                                                                                                     #
#         T R A C E   D ' U N   P A V A G E   H E X A G O N A L  :                                                                    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.CARR.31.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20161013090627).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                                      # On notera que le carrelage que l'on va generer n'est pas contenu dans un rectangle          #
$Z                                      # homothetique a l'image, mais bien plutot dans une sorte de losange. Afin de faire           #
$Z                                      # croire a une etendue infinie, on genere donc plus d'hexagones qu'a priori necessaires       #
$Z                                      # et on choisit un rapport de zoom suffisant...                                               #

$Z                  SETParam            _____Getoile                  $NEXIST
$Z                                      # Parametre introduit le 20161014101032...                                                    #
$Z                                      #                                                                                             #
$Z                                      # Je rappelle le 20220315113508 que :                                                         #
$Z                                      #                                                                                             #
$Z                                      #    _____Getoile=$EXIST      ==>  Maillages de triangles equilateraux ('v $xiirv/CARR.41')   #
$Z                                      #                                                                                             #
$Z                                      #    _____Getoile=$NEXIST     ==>  Maillages d'hexagones               ('v $xiirv/CARR.31')   #
$Z                                      #                                                                                             #

$Z                  setParam            _____NAuCarre                 `GetParam $xrv/particule.10$X N_AU_CARRE`

$Z                  setParam            _____NiterationsX             7

$Z                  setParam            _____NiterationsY             6

$Z                  setParam            _____ItranslationX            -2.250

$Z                  setParam            _____ItranslationY            -3.455

$Z                  setParam            _____DistanceMini             0.002

$Z                  setParam            _____X                        0

$Z                  setParam            _____Y                        0

$Z                  setParam            _____EpaisseurP               0.015

$Z                  setParam            _____RougeP                   $GRIS_8

$Z                  setParam            _____VerteP                   $GRIS_4

$Z                  setParam            _____BleueP                   $GRIS_0

$Z                  setParam            _____EpaisseurE               0.015

$Z                  setParam            _____RougeE                   $GRIS_8

$Z                  setParam            _____VerteE                   $GRIS_4

$Z                  setParam            _____BleueE                   $GRIS_0

$Z                  setParam            _____NSommets                 6

$Z                  setParam            _____Rayon                    0.5

$Z                  setParam            _____Zoom                     0.60

$Z                  SETParam            _____Elaguer                  $NEXIST
$Z                                      # Parametre introduit le 20220315151414...                                                    #

$Z                  setParam            _____GElaguage                1947
$Z                                      # Parametre introduit le 20220315151414...                                                    #

$Z                  setParam            _____ParticulePara1           "$K_VIDE"
$Z                                      # Parametre introduit le 20161015093134...                                                    #

$Z                  FileTmpB  FPolygone

$Z                  set       NSommets=`calculI $_____NSommets + 1`

$Z                  set       PaRaMeTrEs1="$K_VIDE"
$Z                  set       PaRaMeTrEs1="$PaRaMeTrEs1"" premiere=1 derniere=$NSommets"
$Z                  set       PaRaMeTrEs1="$PaRaMeTrEs1"" lineaire=VRAI"
$Z                  set       PaRaMeTrEs1="$PaRaMeTrEs1"" gamma=0"
$Z                  set       PaRaMeTrEs1="$PaRaMeTrEs1"" tD=0 tA=$dpi"
$Z                  set       PaRaMeTrEs1="$PaRaMeTrEs1"" rD=$_____Rayon rA=$_____Rayon"

$Z                  set       PaRaMeTrEs2="$K_VIDE"
$Z                  set       PaRaMeTrEs2="$PaRaMeTrEs2"" premiere=1 derniere=$NSommets"
$Z                  set       PaRaMeTrEs2="$PaRaMeTrEs2"" lineaire=VRAI"

$Z                  $xci/valeurs_trig$X                                                                                                 \
$Z                                      $PaRaMeTrEs1                                                                                    \
$Z                                      translation=$_____X                                                                             \
$Z                                      alpha=1 beta=0                                                                            |     \
$Z                  $xrv/duplique.01$X                                                                                                  \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      exemplaires=2                                                                             |     \
$Z                  $xrv/decalage.01$X                                                                                                  \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      amplitude_decalage=1                                                                            \
$Z                                                          >   $FPolygone$COORD_X

$Z                  $xci/valeurs_trig$X                                                                                                 \
$Z                                      $PaRaMeTrEs1                                                                                    \
$Z                                      translation=$_____Y                                                                             \
$Z                                      alpha=0 beta=1                                                                            |     \
$Z                  $xrv/duplique.01$X                                                                                                  \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      exemplaires=2                                                                             |     \
$Z                  $xrv/decalage.01$X                                                                                                  \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      amplitude_decalage=1                                                                            \
$Z                                                          >   $FPolygone$COORD_Y
$Z                                      # Definition du polygone.                                                                     #

$Z                  $xci/valeurs_inte$X                                                                                                 \
$Z                                      $PaRaMeTrEs2                                                                                    \
$Z                                      vD=$_____EpaisseurP vA=$_____EpaisseurP                                                   |     \
$Z                  $xrv/duplique.01$X                                                                                                  \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      exemplaires=2                                                                             |     \
$Z                  $xrv/decalage.01$X                                                                                                  \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      amplitude_decalage=1                                                                            \
$Z                                                          >   $FPolygone$RAYON

$Z                  if                  ($?_____Palette == $NEXIST) then
$Z                                      # Test introduit le 20161013130440...                                                         #
$Z                                      $xci/valeurs_inte$X                                                                             \
$Z                                                          $PaRaMeTrEs2                                                                \
$Z                                                          vD=$_____RougeP vA=$_____RougeP                                       |     \
$Z                                      $xrv/duplique.01$X                                                                              \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier==                                                                   \
$Z                                                          exemplaires=2                                                         |     \
$Z                                      $xrv/decalage.01$X                                                                              \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier==                                                                   \
$Z                                                          amplitude_decalage=1                                                        \
$Z                                                                              >   $FPolygone$ROUGE

$Z                                      $xci/valeurs_inte$X                                                                             \
$Z                                                          $PaRaMeTrEs2                                                                \
$Z                                                          vD=$_____VerteP vA=$_____VerteP                                       |     \
$Z                                      $xrv/duplique.01$X                                                                              \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier==                                                                   \
$Z                                                          exemplaires=2                                                         |     \
$Z                                      $xrv/decalage.01$X                                                                              \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier==                                                                   \
$Z                                                          amplitude_decalage=1                                                        \
$Z                                                                              >   $FPolygone$VERTE

$Z                                      $xci/valeurs_inte$X                                                                             \
$Z                                                          $PaRaMeTrEs2                                                                \
$Z                                                          vD=$_____BleueP vA=$_____BleueP                                       |     \
$Z                                      $xrv/duplique.01$X                                                                              \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier==                                                                   \
$Z                                                          exemplaires=2                                                         |     \
$Z                                      $xrv/decalage.01$X                                                                              \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier==                                                                   \
$Z                                                          amplitude_decalage=1                                                        \
$Z                                                                              >   $FPolygone$BLEUE
$Z                  else
$Z                  endif

$Z                  if                  ($_____Getoile == $EXIST) then
$Z                                      # Test introduit le 20161013130440...                                                         #
$Z                                      set       SoMmEtS2=`calcul 2*$_____NSommets`
$Z                                      set       CeNtRe_X=`$xrv/extrema.01$X ne=$SoMmEtS2 fichier=$FPolygone$COORD_X mys=VRAI`
$Z                                      set       CeNtRe_Y=`$xrv/extrema.01$X ne=$SoMmEtS2 fichier=$FPolygone$COORD_Y mys=VRAI`
$Z                                      # Calcul du centre de gravite du polygone...                                                  #

$Z                                      FileTmpB  FEtoile

$Z                                      set                 NPoInTsX=`$CA $FPolygone$COORD_X | $WCl`
$Z                                      set                 NPoInTsY=`$CA $FPolygone$COORD_Y | $WCl`
$Z                                      set                 NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`

$Z                                      $xrv/neutre$X       ne=$NPoInTs fichier=$CeNtRe_X                                               \
$Z                                                                              >   $FEtoile.1$COORD_X
$Z                                      $xrv/neutre$X       ne=$NPoInTs fichier=$CeNtRe_Y                                               \
$Z                                                                              >   $FEtoile.1$COORD_Y

$Z                                      $PAST               $FEtoile.1$COORD_X $FPolygone$COORD_X                                 |     \
$Z                                      $AW                 ' { print $1 "\n" $2 } '                                                    \
$Z                                                                              >   $FEtoile.2$COORD_X
$Z                                      $PAST               $FEtoile.1$COORD_Y $FPolygone$COORD_Y                                 |     \
$Z                                      $AW                 ' { print $1 "\n" $2 } '                                                    \
$Z                                                                              >   $FEtoile.2$COORD_Y

$Z                                      set                 NPoInTsX=`$CA $FEtoile.2$COORD_X | $WCl`
$Z                                      set                 NPoInTsY=`$CA $FEtoile.2$COORD_Y | $WCl`
$Z                                      set                 NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`

$Z                                      $xrv/neutre$X       ne=$NPoInTs fichier=$_____EpaisseurE                                        \
$Z                                                                              >   $FEtoile.2$RAYON

$Z                                      $CA                 $FEtoile.2$COORD_X                                                          \
$Z                                                                              >>  $FPolygone$COORD_X
$Z                                      $CA                 $FEtoile.2$COORD_Y                                                          \
$Z                                                                              >>  $FPolygone$COORD_Y

$Z                                      $CA                 $FEtoile.2$RAYON                                                            \
$Z                                                                              >>  $FPolygone$RAYON

$Z                                      if                  ($?_____Palette == $NEXIST) then
$Z                                                          $xrv/neutre$X       ne=$NPoInTs fichier=$_____RougeE                        \
$Z                                                                                                  >   $FEtoile.2$ROUGE
$Z                                                          $xrv/neutre$X       ne=$NPoInTs fichier=$_____VerteE                        \
$Z                                                                                                  >   $FEtoile.2$VERTE
$Z                                                          $xrv/neutre$X       ne=$NPoInTs fichier=$_____BleueE                        \
$Z                                                                                                  >   $FEtoile.2$BLEUE
$Z                                                          $CA                 $FEtoile.2$ROUGE                                        \
$Z                                                                                                  >>  $FPolygone$ROUGE
$Z                                                          $CA                 $FEtoile.2$VERTE                                        \
$Z                                                                                                  >>  $FPolygone$VERTE
$Z                                                          $CA                 $FEtoile.2$BLEUE                                        \
$Z                                                                                                  >>  $FPolygone$BLEUE
$Z                                      else
$Z                                      endif

$Z                                      FileTmpE  FEtoile
$Z                  else
$Z                  endif

$Z                  FileTmpB  FPoints

$Z                  if                  ($NEXIST) then
$Z                                      # Test utilise en phase de test...                                                            #
$Z                                      $CA                 $FPolygone$COORD_X                                                          \
$Z                                                                              >   $FPoints$COORD_X
$Z                                      $CA                 $FPolygone$COORD_Y                                                          \
$Z                                                                              >   $FPoints$COORD_Y
$Z                                      $CA                 $FPolygone$RAYON                                                            \
$Z                                                                              >   $FPoints$RAYON

$Z                                      if                  ($?_____Palette == $NEXIST) then
$Z                                      # Test introduit le 20161013130440...                                                         #
$Z                                                          $CA                 $FPolygone$ROUGE                                        \
$Z                                                                                                  >   $FPoints$ROUGE
$Z                                                          $CA                 $FPolygone$VERTE                                        \
$Z                                                                                                  >   $FPoints$VERTE
$Z                                                          $CA                 $FPolygone$BLEUE                                        \
$Z                                                                                                  >   $FPoints$BLEUE
$Z                                      else
$Z                                      endif
$Z                  else
$Z                  endif

$Z                  set                 AnGlE=`calculNS $dpi/$_____NSommets`
$Z                  set                 AnGlEs2=`calculNS $AnGlE/2`

$Z                  set                 HaUtEuR=`calculNS $_____Rayon*cos($AnGlEs2)`

$Z                  set                 ITrAnSlAtIoN_X=$_____ItranslationX
$Z                  set                 ITrAnSlAtIoN_Y=$_____ItranslationY
$Z                                      # Valeurs initiales des translations des coordonnees {X,Y} des polygones.                     #

$Z                  set                 DTrAnSlAtIoN_X=`calculNS 2*$HaUtEuR*cos($AnGlEs2)`
$Z                  set                 DTrAnSlAtIoN_Y=`calculNS 2*$HaUtEuR*sin($AnGlEs2)`
$Z                                      # Amplitudes constantes des translations des coordonnees {X,Y} permettant de passer d'un      #
$Z                                      # polygone au suivant sur la diagonale {$DTrAnSlAtIoN_X,$DTrAnSlAtIoN_Y}.                     #

$Z                  set                 ItErAtIoNsY=1

$Z                  while               ($ItErAtIoNsY <= $_____NiterationsY)
$Z                                      set                 TrAnSlAtIoN_X=$ITrAnSlAtIoN_X
$Z                                      set                 TrAnSlAtIoN_Y=$ITrAnSlAtIoN_Y

$Z                                      set                 ItErAtIoNsX=1

$Z                                      while               ($ItErAtIoNsX <= $_____NiterationsX)
$Z                                                          $xrv/ADD2.11$X      ne=0                                                    \
$Z                                                                              fichier1=$FPolygone$COORD_X                             \
$Z                                                                              fichier2=$TrAnSlAtIoN_X                                 \
$Z                                                                                        >>! $FPoints$COORD_X
$Z                                                          $xrv/ADD2.11$X      ne=0                                                    \
$Z                                                                              fichier1=$FPolygone$COORD_Y                             \
$Z                                                                              fichier2=$TrAnSlAtIoN_Y                                 \
$Z                                                                                        >>! $FPoints$COORD_Y
$Z                                      # Translation des polygones : dans le cas d'hexagones, le collage se fait par le cote         #
$Z                                      # oblique situe en haut et adroite...                                                         #

$Z                                                          $xrv/neutre$X       ne=0                                                    \
$Z                                                                              fichier=$FPolygone$RAYON                                \
$Z                                                                                        >>! $FPoints$RAYON

$Z                                                          if                  ($?_____Palette == $NEXIST) then
$Z                                      # Test introduit le 20161013130440...                                                         #
$Z                                                                              $xrv/neutre$X       ne=0                                \
$Z                                                                                                  fichier=$FPolygone$ROUGE            \
$Z                                                                                                            >>! $FPoints$ROUGE
$Z                                                                              $xrv/neutre$X       ne=0                                \
$Z                                                                                                  fichier=$FPolygone$VERTE            \
$Z                                                                                                            >>! $FPoints$VERTE
$Z                                                                              $xrv/neutre$X       ne=0                                \
$Z                                                                                                  fichier=$FPolygone$BLEUE            \
$Z                                                                                                            >>! $FPoints$BLEUE
$Z                                                          else
$Z                                                          endif

$Z                                                          set       TrAnSlAtIoN_X=`$xcg/ADD2.01$X a=$TrAnSlAtIoN_X b=$DTrAnSlAtIoN_X`
$Z                                                          set       TrAnSlAtIoN_Y=`$xcg/ADD2.01$X a=$TrAnSlAtIoN_Y b=$DTrAnSlAtIoN_Y`
$Z                                      # Amplitude de l'eventuelle prochaine translation...                                          #

$Z                                                          @                   ItErAtIoNsX = $ItErAtIoNsX + 1
$Z                                      end

$Z                                      set                 ITrAnSlAtIoN_X=`calculNS $ITrAnSlAtIoN_X+(2*$HaUtEuR*cos($AnGlEs2+$AnGlE))`
$Z                                      set                 ITrAnSlAtIoN_Y=`calculNS $ITrAnSlAtIoN_Y+(2*$HaUtEuR*sin($AnGlEs2+$AnGlE))`
$Z                                      # Progression des translations initiales en 'X' et en 'Y'...                                  #

$Z                                      @                   ItErAtIoNsY = $ItErAtIoNsY + 1
$Z                  end

$Z                  FileTmpE  FPolygone

$Z                  set                 CoOrDoNnEe_Z=0.5
$Z                  set                 AXYZ_BXYZ="AXYZ=1 BXYZ=0"

$Z                  set                 NPoInTsX=`$CA $FPoints$COORD_X | $WCl`
$Z                  set                 NPoInTsY=`$CA $FPoints$COORD_Y | $WCl`
$Z                  set                 NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`

$Z                  if                  ($?_____Palette == $NEXIST) then
$Z                                      # Test introduit le 20161013130440...                                                         #
$Z                                      set                 CoUlEuRs="$CoUlEuRs"" LISTE_ROUGE=$FPoints$ROUGE"
$Z                                      set                 CoUlEuRs="$CoUlEuRs"" LISTE_VERTE=$FPoints$VERTE"
$Z                                      set                 CoUlEuRs="$CoUlEuRs"" LISTE_BLEUE=$FPoints$BLEUE"
$Z                  else
$Z                                      $xci/valeurs_inte$X                                                                             \
$Z                                                          premiere=1 derniere=$NPoInTs                                                \
$Z                                                          vD=$NOIR_PLANCHER vA=$BLANC                                                 \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          entiers=VRAI                                                                \
$Z                                                                              >   $FPoints$LUMIN

$Z                  if                  ($_____Elaguer == $EXIST) then
$Z                                      # Test introduit le 20220315151414...                                                         #
$Z                                      set                 MoItIe=2
$Z                                      set                 NPoInTsS2=`$xcg/DIVZ.01$X a=$NPoInTs b=$MoItIe`

$Z                                      FileTmpB  FSelection

$Z                                      set                 RdnMin=0
$Z                                      set                 RdnMax=+1
$Z                                      set                 RdnSeuil=`$xcg/MOYE.01$X a=$RdnMin b=$RdnMax`

$Z                                      $xrv/val_alea.01$X                                                                              \
$Z                                                          ne=$NPoInTsS2                                                               \
$Z                                                          graine=$_____GElaguage                                                      \
$Z                                                          LISTE_BORNES_INFERIEURES=$RdnMin                                            \
$Z                                                          LISTE_BORNES_SUPERIEURES=$RdnMax                                      |     \
$Z                                      $xrv/IFGE.11$X                                                                                  \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier1==                                                                  \
$Z                                                          fichier2=$RdnSeuil                                                          \
$Z                                                          exemplaires=$MoItIe                                                         \
$Z                                                                              >   $FSelection

$Z                                      $xrv/selection.01$X                                                                             \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier=$FPoints$COORD_X                                                    \
$Z                                                          selection=$FSelection                                                       \
$Z                                                                              >   $FSelection$COORD_X
$Z                                      $DELETE             $FPoints$COORD_X
$Z                                      $MV                 $FSelection$COORD_X $FPoints$COORD_X

$Z                                      $xrv/selection.01$X                                                                             \
$Z                                                          ne=0                                                                        \
$Z                                                          fichier=$FPoints$COORD_Y                                                    \
$Z                                                          selection=$FSelection                                                       \
$Z                                                                              >   $FSelection$COORD_Y
$Z                                      $DELETE             $FPoints$COORD_Y
$Z                                      $MV                 $FSelection$COORD_Y $FPoints$COORD_Y

$Z                                      if                  ($?_____Palette == $NEXIST) then
$Z                                                          $xrv/selection.01$X                                                         \
$Z                                                                              ne=0                                                    \
$Z                                                                              fichier=$FPoints$ROUGE                                  \
$Z                                                                              selection=$FSelection                                   \
$Z                                                                                                  >   $FSelection$ROUGE
$Z                                                          $DELETE             $FPoints$ROUGE
$Z                                                          $MV                 $FSelection$ROUGE $FPoints$ROUGE

$Z                                                          $xrv/selection.01$X                                                         \
$Z                                                                              ne=0                                                    \
$Z                                                                              fichier=$FPoints$VERTE                                  \
$Z                                                                              selection=$FSelection                                   \
$Z                                                                                                  >   $FSelection$VERTE
$Z                                                          $DELETE             $FPoints$VERTE
$Z                                                          $MV                 $FSelection$VERTE $FPoints$VERTE

$Z                                                          $xrv/selection.01$X                                                         \
$Z                                                                              ne=0                                                    \
$Z                                                                              fichier=$FPoints$BLEUE                                  \
$Z                                                                              selection=$FSelection                                   \
$Z                                                                                                  >   $FSelection$BLEUE
$Z                                                          $DELETE             $FPoints$BLEUE
$Z                                                          $MV                 $FSelection$BLEUE $FPoints$BLEUE
$Z                                      else
$Z                                                          $xrv/selection.01$X                                                         \
$Z                                                                              ne=0                                                    \
$Z                                                                              fichier=$FPoints$LUMIN                                  \
$Z                                                                              selection=$FSelection                                   \
$Z                                                                                                  >   $FSelection$LUMIN
$Z                                                          $DELETE             $FPoints$LUMIN
$Z                                                          $MV                 $FSelection$LUMIN $FPoints$LUMIN
$Z                                      endif

$Z                                      FileTmpE  FSelection

$Z                                      set                 NPoInTsX=`$CA $FPoints$COORD_X | $WCl`
$Z                                      set                 NPoInTsY=`$CA $FPoints$COORD_Y | $WCl`
$Z                                      set                 NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`
$Z                  else
$Z                  endif

$Z                  set                 CoUlEuRs="$K_VIDE"

$Z                                      set                 CoUlEuRs="$CoUlEuRs"" LISTE_NIVEAU=$FPoints$LUMIN"
$Z                                      set                 CoUlEuRs="$CoUlEuRs"" paletteA=$_____Palette"
$Z                  endif

$Z                  $xrv/particule.10$X                                                                                                 \
$Z                                      np=1                                                                                            \
$Z                                      iterations=$NPoInTs                                                                             \
$Z                                      $AXYZ_BXYZ                                                                                      \
$Z                                      LISTE_X=$FPoints$COORD_X                                                                        \
$Z                                      LISTE_Y=$FPoints$COORD_Y                                                                        \
$Z                                      LISTE_Z=$CoOrDoNnEe_Z                                                                           \
$Z                                      LISTE_RAYON=$FPoints$RAYON                                                                      \
$Z                                      $CoUlEuRs                                                                                       \
$Z                                      ZOOM=$_____Zoom                                                                                 \
$Z                                      isoles=FAUX                                                                                     \
$Z                                      ajuster_points=VRAI equidistance=VRAI                                                           \
$Z                                      distance_minimale=$_____DistanceMini                                                            \
$Z                                      Lz=100                                                                                          \
$Z                                      editer_extrema_hors=FAUX                                                                        \
$Z                                      N_AU_CARRE=$_____NAuCarre                                                                       \
$Z                                      $_____ParticulePara1                                                                            \
$Z                                      chiffres=0                                                                                      \
$Z                                      R=$_____ImagesR                                                                                 \
$Z                                                                                                                      $formatI
$Z                                      # Trace du polygone.                                                                          #

$Z                  FileTmpE  FPoints



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.