#######################################################################################################################################
# #
# G E N E R A T I O N I T E R A T I V E D ' U N F L O C O N D E V O N K O C H : #
# #
# #
# Author of '$xiirc/.VONK.71.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20151204100514). #
# #
#######################################################################################################################################
$Z setParam _____Recursions (1 2 3 4 5)
$Z setParam _____Grossissement 1
$Z setParam _____Rayon 0.010
$Z setParam _____Connexion VRAI
$Z setParam _____DistanceMini 0.005
$Z setParam _____Cubique FAUX
$Z setParam _____Zoom 2.2
$Z setParam _____NAuCarre VRAI
$Z setParam _____Palette $xiP/arc_ciel.C1
$Z setParam _____CNiveau0 $GRIS_8
$Z # Definition des niveaux des Courbes. #
$Z setParam _____PasCNiveau 0
$Z # Definition des niveaux des Courbes. #
$Z setParam _____RNiveau0 $GRIS_0
$Z # Definition des niveaux de Remplissage. #
$Z setParam _____PasRNiveau 40
$Z # Definition des niveaux de Remplissage. #
$Z FilSTmpB FAnGlEs
$Z $xcg/scale$X multiplicateur=0 nombre=-$pi diviseur=3 >> $FAnGlEs
$Z $xcg/scale$X multiplicateur=1 nombre=-$pi diviseur=3 >> $FAnGlEs
$Z $xcg/scale$X multiplicateur=4 nombre=-$pi diviseur=3 >> $FAnGlEs
$Z $xcg/scale$X multiplicateur=1 nombre=-$pi diviseur=3 >> $FAnGlEs
$Z set HaUtEuR=`calcul sqrt(3)/2`
$Z set CoOrD_XA=`calcul -1/2`
$Z set CoOrD_YA=`calcul -($HaUtEuR/3)`
$Z set CoOrD_XB=`calcul +1/2`
$Z set CoOrD_YB=`calcul -($HaUtEuR/3)`
$Z set CoOrD_XC=0
$Z set CoOrD_YC=`calcul +2*($HaUtEuR/3)`
$Z # Definition d'un triangle equilateral ABC. L'origine est situee au 1/3 de sa hauteur #
$Z # verticale... #
$Z set FArGuMeNtS="$K_VIDE"
$Z set FArGuMeNtS="$FArGuMeNtS"" iterations=4"
$Z set FArGuMeNtS="$FArGuMeNtS"" complexe=FAUX"
$Z set FArGuMeNtS="$FArGuMeNtS"" aleatoire=FAUX"
$Z set FArGuMeNtS="$FArGuMeNtS"" Lz=1000"
$Z set FArGuMeNtS="$FArGuMeNtS"" grossissement=$_____Grossissement"
$Z set FArGuMeNtS="$FArGuMeNtS"" RVB=VRAI"
$Z set FArGuMeNtS="$FArGuMeNtS"" ANGLE_DE_ROTATION=$FAnGlEs"
$Z set FArGuMeNtS="$FArGuMeNtS"" rapport=3"
$Z set FArGuMeNtS="$FArGuMeNtS"" connexions=$_____Connexion"
$Z set FArGuMeNtS="$FArGuMeNtS"" ajuster_points=VRAI"
$Z set FArGuMeNtS="$FArGuMeNtS"" equidistance=VRAI"
$Z set FArGuMeNtS="$FArGuMeNtS"" compatibilite_20051230=FAUX"
$Z set FArGuMeNtS="$FArGuMeNtS"" distance_minimale=$_____DistanceMini"
$Z set FArGuMeNtS="$FArGuMeNtS"" cubique=$_____Cubique"
$Z set FArGuMeNtS="$FArGuMeNtS"" N_AU_CARRE=$_____NAuCarre"
$Z set FArGuMeNtS="$FArGuMeNtS"" chiffres=0"
$Z set FArGuMeNtS="$FArGuMeNtS"" ROTATION_OY=0.01"
$Z set FArGuMeNtS="$FArGuMeNtS"" projection_parallele=VRAI"
$Z # Ceci a ete introduit le 20151205080503 afin que deux points d'un meme segment ne soient #
$Z # pas a la meme profondeur et qu'ainsi il n'y ait pas de defauts lies a un ordre de trace #
$Z # qui ne serait pas l'ordre "naturel" (c'est-a-dire d'une extremite a l'autre...). #
$Z FilSTmpB FImAgEs
$Z alias genere 'set ReC=\!:1 ; set CoOrD=(\!:2) ; set ZoO=\!:3 ; set RaY=\!:4 ; set ImG=\!:5 ; \\
$Z set CoOrD=($CoOrD) ; \\
$Z $xrc/Cfract_2D.12$X \\
$Z recursion=$ReC \\
$Z xG=$CoOrD[1] yG=$CoOrD[2] xD=$CoOrD[3] yD=$CoOrD[4] \\
$Z ZOOM=$ZoO \\
$Z composante_ROUGE=$CNiveau composante_VERTE=$CNiveau composante_BLEUE=$CNiveau \\
$Z rayon_de_visualisation=$RaY \\
$Z $FArGuMeNtS \\
$Z R=$ImG.$ReC $formatI ; \\
$Z unset ReC CxG CyG CxD CyD ZoO RaY ImG'
$Z set InTeRpOlAtIoN="p=1 d=$#_____Recursions rD=1 rA=1 lineaire=VRAI"
$Z set LZoOmC=`$xci/valeurs_poly$X $InTeRpOlAtIoN xD=0 xA=0.5 n00=0.05 n01=1 n02=0.9`
$Z # Cette interpolation du second degre est destinee a faire que les differentes iterations #
$Z # du flocon soient bien imbriquees les unes dans les autres et sans se toucher... #
$Z set CNiveau=$_____CNiveau0
$Z set RNiveau=$_____RNiveau0
$Z set LReCuRsIoNs=($_____Recursions)
$Z foreach ReCuR ($LReCuRsIoNs)
$Z set ZoOmC=`calcul $LZoOmC[$ReCuR]*$_____Zoom`
$Z set RaYC=`calcul $_____Rayon/$ZoOmC`
$Z genere $ReCuR "$CoOrD_XA $CoOrD_YA $CoOrD_XB $CoOrD_YB" $ZoOmC $RaYC $FImAgEs.AB
$Z genere $ReCuR "$CoOrD_XB $CoOrD_YB $CoOrD_XC $CoOrD_YC" $ZoOmC $RaYC $FImAgEs.BC
$Z genere $ReCuR "$CoOrD_XC $CoOrD_YC $CoOrD_XA $CoOrD_YA" $ZoOmC $RaYC $FImAgEs.CA
$Z execRVB $xci/maximum_03$X A1=$FImAgEs.AB.$ReCuR%s \
$Z A2=$FImAgEs.BC.$ReCuR%s \
$Z A3=$FImAgEs.CA.$ReCuR%s \
$Z R=$FImAgEs.ABC.contour.$ReCuR%s \
$Z $formatI
$Z set CArGuMeNtS="$K_VIDE"
$Z set CArGuMeNtS="$CArGuMeNtS"" x=0.5 y=0.5"
$Z set CArGuMeNtS="$CArGuMeNtS"" seuil=$NOIR_PLANCHER"
$Z set NiveauR=`$xciP/G_NIVEAU$X p=$_____Palette niveau=$RNiveau Prme=VRAI`
$Z set NiveauR=$NiveauR[1]
$Z $xci/contours.12$X A=$FImAgEs.ABC.contour.$ReCuR$ROUGE \
$Z $CArGuMeNtS \
$Z niveau=$NiveauR \
$Z R=$FImAgEs.ABC.remplissage.$ReCuR$ROUGE \
$Z $formatI
$Z set NiveauV=`$xciP/G_NIVEAU$X p=$_____Palette niveau=$RNiveau Prme=VRAI`
$Z set NiveauV=$NiveauV[2]
$Z $xci/contours.12$X A=$FImAgEs.ABC.contour.$ReCuR$ROUGE \
$Z $CArGuMeNtS \
$Z niveau=$NiveauV \
$Z R=$FImAgEs.ABC.remplissage.$ReCuR$VERTE \
$Z $formatI
$Z set NiveauB=`$xciP/G_NIVEAU$X p=$_____Palette niveau=$RNiveau Prme=VRAI`
$Z set NiveauB=$NiveauB[3]
$Z $xci/contours.12$X A=$FImAgEs.ABC.contour.$ReCuR$ROUGE \
$Z $CArGuMeNtS \
$Z niveau=$NiveauB \
$Z R=$FImAgEs.ABC.remplissage.$ReCuR$BLEUE \
$Z $formatI
$Z execRVB "$xci/dilate.01$X A=$FImAgEs.ABC.remplissage.$ReCuR%s \
$Z dilater=VRAI \
$Z points=25 \
$Z $formatI | \
$Z $xci/cache$X M=$FImAgEs.ABC.contour.$ReCuR%s \
$Z anti_aliaser=VRAI \
$Z R=$FImAgEs.ABC.$ReCuR%s \
$Z $formatI"
$Z set CNiveau=`calcul $CNiveau-$_____PasCNiveau`
$Z set RNiveau=`calcul $RNiveau+$_____PasRNiveau`
$Z end
$Z execRVB $xci/init$X niveau=$NOIR \
$Z R=$_____ImageR%s \
$Z $formatI
$Z set ILReCuRsIoNs=`echo $LReCuRsIoNs | $R "$K_BLANC" "$K_NL" | $AC`
$Z foreach ReCuR ($ILReCuRsIoNs)
$Z $xci/cache.41$Z $_____ImageR \
$Z $FImAgEs.ABC.$ReCuR \
$Z $_____ImageR
$Z end
$Z FilSTmpE FImAgEs
$Z FilSTmpE FAnGlEs
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.