#######################################################################################################################################
#                                                                                                                                     #
#         T H E   N O D E   D E   " T H E   G A R D E N   O F   R A M A "   D ' A R T H U R   C .   C L A R K E  :                    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.NODE.11.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20221011113638).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____RayonLiens               0.02
$Z                  setParam            _____RayonSpheres             0.05
$Z                                      # Parametres introduits le 20221022095933...                                                  #

$Z                  setParam            _____Palette                  "$K_VIDE"

$Z                  setParam            _____Zoom                     1

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

$Z                  setParam            _____Zobservateur             `GetParam $xrv/particule.10$X  eloignement_Z_observateur`
$Z                                      # Parametre introduit le 20221022095933 suite a l'anomalie et l'bservation faite le           #
$Z                                      # 'v $xrv/champs_5.1A$I 20221022102442'...                                                    #

#20221011161044____:$Z                  setParam            _____DistanceMini             0.010                                       #
$Z                  setParam            _____DistanceMini             0.015

$Z                  setParam            _____ParticulePara            "$K_VIDE"

$Z                  FilSTmpB            LiStEPoInTs

$Z                  set                 RayonGlobal=1

$Z                  set                 cOX=0
$Z                  set                 cOY=0
$Z                  set                 cOZ=0
$Z                                      # Definition de l'origine O.                                                                  #

$Z                  set                 RougeLiens=$GRIS_4
$Z                  set                 VerteLiens=$GRIS_4
$Z                  set                 BleueLiens=$GRIS_4
$Z                  set                 RayonLiens=$_____RayonLiens

$Z                  set                 RougeSpheres=$GRIS_8
$Z                  set                 VerteSpheres=$GRIS_6
$Z                  set                 BleueSpheres=$GRIS_0
$Z                  set                 RayonSpheres=$_____RayonSpheres

$Z                                      # Le "Node" est un tetraedre dont la base ABC est dans le plan {OX,OY} et le sommet D sur     #
$Z                                      # l'axe 'OZ'. Les quatre faces sont des triangles equilateraux.                               #

$Z                  set                 cAX=`calcul $RayonGlobal*cos((0*$dpi)/3)`
$Z                  set                 cAY=`calcul $RayonGlobal*sin((0*$dpi)/3)`
$Z                  set                 cAZ=$cOZ

$Z                  set                 cBX=`calcul $RayonGlobal*cos((2*$dpi)/3)`
$Z                  set                 cBY=`calcul $RayonGlobal*sin((2*$dpi)/3)`
$Z                  set                 cBZ=$cOZ

$Z                  set                 cCX=`calcul $RayonGlobal*cos((4*$dpi)/3)`
$Z                  set                 cCY=`calcul $RayonGlobal*sin((4*$dpi)/3)`
$Z                  set                 cCZ=$cOZ
$Z                                      # On fait ainsi trois rotations de 2.pi/3 dans le plan complexe...                            #

$Z                  set                 cDX=$cOX
$Z                  set                 cDY=$cOY
$Z                  set                 lAB=`calcul sqrt(pow($cBX-$cAX,2)+pow($cBY-$cAY,2))`
$Z                  set                 lAD=$lAB
$Z                  set                 cDZ=`calcul sqrt(pow($lAD,2)-pow($cAX,2))`

$Z                  alias     Genere    'set       CoOrX=\!:1 ; set CoOrY=\!:2 ; set CoOrZ=\!:3                                   ;    \\
$Z                                       set       RoUgE=\!:4 ; set VeRtE=\!:5 ; set BlEuE=\!:6 ; set RaYoN=\!:7                  ;    \\
$Z                                       echo      "$CoOrX"                                         >>! $LiStEPoInTs$COORD_X      ;    \\
$Z                                       echo      "$CoOrY"                                         >>! $LiStEPoInTs$COORD_Y      ;    \\
$Z                                       echo      "$CoOrZ"                                         >>! $LiStEPoInTs$COORD_Z      ;    \\
$Z                                       if        ("$_____Palette" == "$K_VIDE") echo "$RoUgE"     >>! $LiStEPoInTs$ROUGE        ;    \\
$Z                                       if        ("$_____Palette" == "$K_VIDE") echo "$VeRtE"     >>! $LiStEPoInTs$VERTE        ;    \\
$Z                                       if        ("$_____Palette" == "$K_VIDE") echo "$BlEuE"     >>! $LiStEPoInTs$BLEUE        ;    \\
$Z                                       echo      "$RaYoN"                                         >>! $LiStEPoInTs$RAYON        ;    \\
$Z                                       unset     CoOrX CoOrY CoOrZ RoUgE VeRtE BlEuE RaYoN'
$Z                                      # Generateur des differents sommets...                                                        #

$Z                  Genere              "$cAX\n$cBX" "$cAY\n$cBY" "$cAZ\n$cBZ"                                                          \
$Z                                      "$RougeLiens\n$RougeLiens" "$VerteLiens\n$VerteLiens" "$BleueLiens\n$BleueLiens"                \
$Z                                      "$RayonLiens\n$RayonLiens"
$Z                                      # Definition du segment AB.                                                                   #
$Z                  Genere              "$cBX\n$cCX" "$cBY\n$cCY" "$cBZ\n$cCZ"                                                          \
$Z                                      "$RougeLiens\n$RougeLiens" "$VerteLiens\n$VerteLiens" "$BleueLiens\n$BleueLiens"                \
$Z                                      "$RayonLiens\n$RayonLiens"
$Z                                      # Definition du segment BC.                                                                   #
$Z                  Genere              "$cCX\n$cAX" "$cCY\n$cAY" "$cCZ\n$cAZ"                                                          \
$Z                                      "$RougeLiens\n$RougeLiens" "$VerteLiens\n$VerteLiens" "$BleueLiens\n$BleueLiens"                \
$Z                                      "$RayonLiens\n$RayonLiens"
$Z                                      # Definition du segment CA.                                                                   #

$Z                  Genere              "$cAX\n$cDX" "$cAY\n$cDY" "$cAZ\n$cDZ"                                                          \
$Z                                      "$RougeLiens\n$RougeLiens" "$VerteLiens\n$VerteLiens" "$BleueLiens\n$BleueLiens"                \
$Z                                      "$RayonLiens\n$RayonLiens"
$Z                                      # Definition du segment AD.                                                                   #
$Z                  Genere              "$cBX\n$cDX" "$cBY\n$cDY" "$cBZ\n$cDZ"                                                          \
$Z                                      "$RougeLiens\n$RougeLiens" "$VerteLiens\n$VerteLiens" "$BleueLiens\n$BleueLiens"                \
$Z                                      "$RayonLiens\n$RayonLiens"
$Z                                      # Definition du segment BD.                                                                   #
$Z                  Genere              "$cCX\n$cDX" "$cCY\n$cDY" "$cCZ\n$cDZ"                                                          \
$Z                                      "$RougeLiens\n$RougeLiens" "$VerteLiens\n$VerteLiens" "$BleueLiens\n$BleueLiens"                \
$Z                                      "$RayonLiens\n$RayonLiens"
$Z                                      # Definition du segment CD.                                                                   #

$Z                  Genere              "$cAX\n$cAX" "$cAY\n$cAY" "$cAZ\n$cAZ"                                                          \
$Z                                      "$RougeSpheres\n$RougeSpheres" "$VerteSpheres\n$VerteSpheres" "$BleueSpheres\n$BleueSpheres"    \
$Z                                      "$RayonSpheres\n$RayonSpheres"
$Z                                      # Definition du sommet A.                                                                     #
$Z                  Genere              "$cBX\n$cBX" "$cBY\n$cBY" "$cBZ\n$cBZ"                                                          \
$Z                                      "$RougeSpheres\n$RougeSpheres" "$VerteSpheres\n$VerteSpheres" "$BleueSpheres\n$BleueSpheres"    \
$Z                                      "$RayonSpheres\n$RayonSpheres"
$Z                                      # Definition du sommet B.                                                                     #
$Z                  Genere              "$cCX\n$cCX" "$cCY\n$cCY" "$cCZ\n$cCZ"                                                          \
$Z                                      "$RougeSpheres\n$RougeSpheres" "$VerteSpheres\n$VerteSpheres" "$BleueSpheres\n$BleueSpheres"    \
$Z                                      "$RayonSpheres\n$RayonSpheres"
$Z                                      # Definition du sommet C.                                                                     #
$Z                  Genere              "$cDX\n$cDX" "$cDY\n$cDY" "$cDZ\n$cDZ"                                                          \
$Z                                      "$RougeSpheres\n$RougeSpheres" "$VerteSpheres\n$VerteSpheres" "$BleueSpheres\n$BleueSpheres"    \
$Z                                      "$RayonSpheres\n$RayonSpheres"
$Z                                      # Definition du sommet D.                                                                     #

$Z                  set                 NPoInTsX=`$CA $LiStEPoInTs$COORD_X | $WCl`
$Z                  set                 NPoInTsY=`$CA $LiStEPoInTs$COORD_Y | $WCl`
$Z                  set                 NPoInTsZ=`$CA $LiStEPoInTs$COORD_Z | $WCl`

$Z                  set                 NPoInTs=`$xcg/MIN3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ`

$Z                  set                 CoLoRiAgE="$K_VIDE"

$Z                  if                  ("$_____Palette" == "$K_VIDE") then
$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" LISTE_ROUGE=$LiStEPoInTs$ROUGE"
$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" LISTE_VERTE=$LiStEPoInTs$VERTE"
$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" LISTE_BLEUE=$LiStEPoInTs$BLEUE"
$Z                  else
$Z                                      $xci/valeurs_inte$X                                                                             \
$Z                                                          premiere=1 derniere=$NPoInTs                                                \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$NOIR_PLANCHER vA=$BLANC                                                 \
$Z                                                          entiers=VRAI                                                                \
$Z                                                                                                  >   $LiStEPoInTs$NIVEAU

$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" LISTE_NIVEAU=$LiStEPoInTs$NIVEAU"
$Z                                      set                 CoLoRiAgE="$CoLoRiAgE"" p=$_____Palette"
$Z                  endif

$Z                  $xrv/particule.10$X                                                                                                 \
$Z                                      np=1                                                                                            \
$Z                                      iterations=$NPoInTs                                                                             \
$Z                                      AXYZ=1 BXYZ=0                                                                                   \
$Z                                      LISTE_X=$LiStEPoInTs$COORD_X                                                                    \
$Z                                      LISTE_Y=$LiStEPoInTs$COORD_Y                                                                    \
$Z                                      LISTE_Z=$LiStEPoInTs$COORD_Z                                                                    \
$Z                                      LISTE_RAYON=$LiStEPoInTs$RAYON                                                                  \
$Z                                      $CoLoRiAgE                                                                                      \
$Z                                      ZOOM=$_____Zoom                                                                                 \
$Z                                      ROTATION_OX=$_____RotationOX                                                                    \
$Z                                      ROTATION_OY=$_____RotationOY                                                                    \
$Z                                      ROTATION_OZ=$_____RotationOZ                                                                    \
$Z                                      eloignement_Z_observateur=$_____Zobservateur                                                    \
$Z                                      isoles=FAUX chainer=FAUX ajuster_points=VRAI equidistance=VRAI                                  \
$Z                                      distance_minimale=$_____DistanceMini                                                            \
$Z                                      Lz=100                                                                                          \
$Z                                      editer_extrema_hors=FAUX                                                                        \
$Z                                      $_____ParticulePara                                                                             \
$Z                                      chiffres=0                                                                                      \
$Z                                      R=$_____ImagesR                                                                                 \
$Z                                                                                                            $formatI

$Z                  FilSTmpE  LiStEPoInTs



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