#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D ' U N   H Y P E R - C U B E  :                                                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirs/.HYPC.11.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (20230304100751).                                                                         #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Dimension                3

$Z                  setParam            _____ProjectionOX             "1 0 0"
$Z                  setParam            _____ProjectionOY             "0 1 0"
$Z                  setParam            _____ProjectionOZ             "0 0 1"

$Z                  SETParam            _____HyperProjeter            $NEXIST
$Z                  setParam            _____ProjectionHO             "0.5 0.5 2"
$Z                  setParam            _____ProjectionHP             "0   0   1"
$Z                                      # Parametres introduits le 20230308095616...                                                  #

$Z                  SETParam            _____Renormaliser             $NEXIST
$Z                                      # Parametre introduit le 20230308095616...                                                    #

$Z                  setParam            _____RotationOX               0
$Z                  setParam            _____RotationOY               0
$Z                  setParam            _____RotationOZ               0

$Z                  setParam            _____Zoom                     0.7

$Z                  setParam            _____Grossissement            2.0

$Z                  setParam            _____Rayon                    0.020

$Z                  setParam            _____NAuCarre                 VRAI

$Z                  setParam            _____DepthCueing              0.02

$Z                  setParam            _____Points                   32

$Z                  setParam            _____NombreR                  1

$Z                  setParam            _____Dm                       `GetParam $xrv/particule.10$X  distance_minimale`

$Z                  setParam            _____ParticulePara1           "$K_VIDE"

$Z                  setParam            _____Redirection1             "$K_VIDE"

$Z                  FilSTmpB            FPrOjEcTiOn
$Z                  FilSTmpB            FSoMmEtS

$Z                  echo                "$_____ProjectionOX"                                                                      |     \
$Z                  $SE                 -e "s/  */\n/g"                                                                                 \
$Z                                                                                        >  $FPrOjEcTiOn$COORD_X

$Z                  echo                "$_____ProjectionOY"                                                                      |     \
$Z                  $SE                 -e "s/  */\n/g"                                                                                 \
$Z                                                                                        >  $FPrOjEcTiOn$COORD_Y

$Z                  echo                "$_____ProjectionOZ"                                                                      |     \
$Z                  $SE                 -e "s/  */\n/g"                                                                                 \
$Z                                                                                        >  $FPrOjEcTiOn$COORD_Z

$Z                  set                 HyPeR_PrOjEcTiOn="$K_VIDE"

$Z                  if                  ($_____HyperProjeter == $EXIST) then
$Z                                      echo                "$_____ProjectionHO"                                                  |     \
$Z                                      $SE                 -e "s/  */\n/g"                                                             \
$Z                                                                                                            >  $FPrOjEcTiOn.HO

$Z                                      echo                "$_____ProjectionHP"                                                  |     \
$Z                                      $SE                 -e "s/  */\n/g"                                                             \
$Z                                                                                                            >  $FPrOjEcTiOn.HP

$Z                                      set                 HyPeR_PrOjEcTiOn="$HyPeR_PrOjEcTiOn"" LISTE_HO=$FPrOjEcTiOn.HO"
$Z                                      set                 HyPeR_PrOjEcTiOn="$HyPeR_PrOjEcTiOn"" LISTE_HP=$FPrOjEcTiOn.HP"
$Z                                      set                 HyPeR_PrOjEcTiOn="$HyPeR_PrOjEcTiOn"" ProjectionParallele=FAUX"
$Z                  else
$Z                                      set                 HyPeR_PrOjEcTiOn="$HyPeR_PrOjEcTiOn"" ProjectionParallele=VRAI"
$Z                  endif

$Z                  set                 NsomX=`$CA $FPrOjEcTiOn$COORD_X | $WCl`
$Z                  set                 NsomY=`$CA $FPrOjEcTiOn$COORD_Y | $WCl`
$Z                  set                 NsomZ=`$CA $FPrOjEcTiOn$COORD_Z | $WCl`

$Z                  set                 Nsom=`$xcg/MAX3.01$X x=$NsomX y=$NsomY z=$NsomZ`

$Z                  $xrs/HyperCube.11$X ne=$Nsom                                                                                        \
$Z                                      dimension=$_____Dimension                                                                       \
$Z                                      separateur_sommets=FAUX                                                                         \
$Z                                      projeter=VRAI                                                                                   \
$Z                                      LISTE_PX=$FPrOjEcTiOn$COORD_X                                                                   \
$Z                                      LISTE_PY=$FPrOjEcTiOn$COORD_Y                                                                   \
$Z                                      LISTE_PZ=$FPrOjEcTiOn$COORD_Z                                                                   \
$Z                                      $HyPeR_PrOjEcTiOn                                                                               \
$Z                                      Prme=VRAI                                                                                       \
$Z                                                                                                            >> $FSoMmEtS
$Z                                      # Le "Prme=VRAI" est du a 'v $xig/fonct$vv$FON Fsauts_de_lignes'...                           #

$Z                  if                  ($_____Renormaliser == $EXIST) then
$Z                                      set                 ReNoRmAlIsEr=$xrv/normalise.01$X
$Z                  else
$Z                                      set                 ReNoRmAlIsEr=$xrv/neutre$X
$Z                  endif

$Z                  $CA                 $FSoMmEtS                                                                                 |     \
$Z                  $AW                 ' { print $1 "\n" $4 } '                                                                  |     \
$Z                  $ReNoRmAlIsEr       ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                                                                                            >  $FSoMmEtS$COORD_X

$Z                  $CA                 $FSoMmEtS                                                                                 |     \
$Z                  $AW                 ' { print $2 "\n" $5 } '                                                                  |     \
$Z                  $ReNoRmAlIsEr       ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                                                                                            >  $FSoMmEtS$COORD_Y

$Z                  $CA                 $FSoMmEtS                                                                                 |     \
$Z                  $AW                 ' { print $3 "\n" $6 } '                                                                  |     \
$Z                  $ReNoRmAlIsEr       ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                                                                                            >  $FSoMmEtS$COORD_Z

$Z                  set                 NpartX=`$CA $FSoMmEtS$COORD_X | $WCl`
$Z                  set                 NpartY=`$CA $FSoMmEtS$COORD_Y | $WCl`
$Z                  set                 NpartZ=`$CA $FSoMmEtS$COORD_Z | $WCl`

$Z                  set                 Npart=`$xcg/MAX3.01$X x=$NpartX y=$NpartY z=$NpartZ`

$Z                  set                 CoLoRiAgE="$K_VIDE"

$Z                  IfBasic             ($?_____Palette == $EXIST) ThenBasic
$Z                                      $xci/valeurs_inte$X premiere=1 derniere=`calcul $Npart/2`                                       \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$NOIR_PLANCHER                                                           \
$Z                                                          vA=$BLANC                                                                   \
$Z                                                          entiers=VRAI                                                          |     \
$Z                                      $AW                 ' { print $1 "\n" $1 } '                                                    \
$Z                                                                                                            >  $FSoMmEtS$NIVEAU
$Z                                      # La division par 2 suivie de la duplication est destinee a garantir que chaque arete, ainsi  #
$Z                                      # que les 2 sommets associes, ont une couleur unique (et non pas un degrade...).              #

$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" p=$_____Palette"
$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" LISTE_NIVEAU=$FSoMmEtS$NIVEAU"
$Z                  ElseBasic
$Z                  EndifBasic

$Z        eval      $xrv/particule.10$X np=1 iterations=$Npart                                                                          \
$Z                                      LISTE_X=$FSoMmEtS$COORD_X                                                                       \
$Z                                      LISTE_Y=$FSoMmEtS$COORD_Y                                                                       \
$Z                                      LISTE_Z=$FSoMmEtS$COORD_Z                                                                       \
$Z                                      LISTE_RAYON=$_____Rayon                                                                         \
$Z                                      grossissement=$_____Grossissement                                                               \
$Z                                      ROTATION_OX=$_____RotationOX                                                                    \
$Z                                      ROTATION_OY=$_____RotationOY                                                                    \
$Z                                      ROTATION_OZ=$_____RotationOZ                                                                    \
$Z                                      ZOOM=$_____Zoom                                                                                 \
$Z                                      Lz=1000                                                                                         \
$Z                                      isoles=FAUX chainer=FAUX                                                                        \
$Z                                      ajuster_points=VRAI points=$_____Points nombreR=$_____NombreR                                   \
$Z                                      equidistance=VRAI compatibilite_20051230=FAUX                                                   \
$Z                                      distance_minimale=$_____Dm                                                                      \
$Z                                      DepthCueingMinimal=$_____DepthCueing DepthCueingMaximal=1                                       \
$Z                                      RVB=VRAI                                                                                        \
$Z                                      $CoLoRiAgE                                                                                      \
$Z                                      N_AU_CARRE=VRAI                                                                                 \
$Z                                      editer_extrema_hors=FAUX                                                                        \
$Z                                      $_____ParticulePara1                                                                            \
$Z                                      chiffres=0                                                                                      \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                                                                                  $formatI                            \
$Z                                                                                                            $_____Redirection1

$Z                  FilSTmpE            FSoMmEtS
$Z                  FilSTmpE            FPrOjEcTiOn



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