#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D ' U N   F R A C T A L   " C A R R E "   ( V E R S I O N   2 )  :                                    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirf/.FRC2.11.3.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20231104132452).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Iterations               3

$Z                  set                 DeCoMpTeUr=$_____Iterations

$Z                  while               ($DeCoMpTeUr > 0)
$Z                                      set                 NPoInTsX=`$CA $LiStEPoInTs.$ItErAtIoN$COORD_X | $WCl`
$Z                                      set                 NPoInTsY=`$CA $LiStEPoInTs.$ItErAtIoN$COORD_Y | $WCl`
$Z                                      set                 NPoInTsZ=`$CA $LiStEPoInTs.$ItErAtIoN$COORD_Z | $WCl`
$Z                                      set                 NPoInTsN=`$CA $LiStEPoInTs.$ItErAtIoN$NIVEAU | $WCl`

$Z                                      set                 NPoInTs=`$xcg/MAX3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ`
$Z                                      set                 NPoInTsm1=`calculINS $NPoInTs-1`

$Z                                      $DELETE             $LiStEPoInTs.$ItErAtIoNp1.*   >& $nul

$Z                                      set                 AlPhA_X=`calcul $AlPhA_X/$_____DimensionX`
$Z                                      set                 AlPhA_Y=`calcul $AlPhA_Y/$_____DimensionY`

$Z                                      IfBasic             ($_____DimensionZ == 1) ThenBasic
$Z                                                          set                 AlPhA_Z=`$xcg/MAX2.01$X x=$AlPhA_X y=$AlPhA_Y`
$Z                                      ElseBasic
$Z                                                          set                 AlPhA_Z=`calcul $AlPhA_Z/$_____DimensionZ`
$Z                                      EndifBasic

$Z                                      set       FCArGs="$K_VIDE"
$Z                                      set       FCArGs="$FCArGs"" premier_motif=0                 dernier_motif=$NPoInTs0m1"
$Z                                      set       FCArGs="$FCArGs"" premier_structure=$NPoInTs0     dernier_structure=$NPoInTsm1"
$Z                                      set       FCArGs="$FCArGs"" alphaX=$AlPhA_X                 TRANSLATION_OX=$TrAnSlAtIoN_XYZ"
$Z                                      set       FCArGs="$FCArGs"" alphaY=$AlPhA_Y                 TRANSLATION_OY=$TrAnSlAtIoN_XYZ"
$Z                                      set       FCArGs="$FCArGs"" alphaZ=$AlPhA_Z                 TRANSLATION_OZ=$TrAnSlAtIoN_XYZ"
$Z                                      set       FCArGs="$FCArGs"" ne=0"
$Z                                      set       FCArGs="$FCArGs"" LISTE_X=$LiStEPoInTs.$ItErAtIoN$COORD_X"
$Z                                      set       FCArGs="$FCArGs"" LISTE_Y=$LiStEPoInTs.$ItErAtIoN$COORD_Y"
$Z                                      set       FCArGs="$FCArGs"" LISTE_Z=$LiStEPoInTs.$ItErAtIoN$COORD_Z"
$Z                                      set       FCArGs="$FCArGs"" LISTE_NIVEAU=$LiStEPoInTs.$ItErAtIoN$NIVEAU"

$Z                                      $xrf/FractalCarre.02$X                                                                          \
$Z                                                          $FCArGs                                                                     \
$Z                                                          px=1 py=0 pz=0 pn=0                                                         \
$Z                                                                    >  $LiStEPoInTs.$ItErAtIoNp1$COORD_X

$Z                                      $xrf/FractalCarre.02$X                                                                          \
$Z                                                          $FCArGs                                                                     \
$Z                                                          px=0 py=1 pz=0 pn=0                                                         \
$Z                                                                    >  $LiStEPoInTs.$ItErAtIoNp1$COORD_Y

$Z                                      $xrf/FractalCarre.02$X                                                                          \
$Z                                                          $FCArGs                                                                     \
$Z                                                          px=0 py=0 pz=1 pn=0                                                         \
$Z                                                                    >  $LiStEPoInTs.$ItErAtIoNp1$COORD_Z

$Z                                      $xrf/FractalCarre.02$X                                                                          \
$Z                                                          $FCArGs                                                                     \
$Z                                                          px=0 py=0 pz=0 pn=1                                                         \
$Z                                                                    >  $LiStEPoInTs.$ItErAtIoNp1$NIVEAU

$Z                                      unset               FCArGs

$Z                                      @                   ItErAtIoN = $ItErAtIoNp1
$Z                                      @                   ItErAtIoNp1 = $ItErAtIoNp1 + 1

$Z                                      @                   DeCoMpTeUr = $DeCoMpTeUr - 1
$Z                  end



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.