#######################################################################################################################################
# #
# G E N E R A T I O N D ' U N E S U R F A C E T R I P L E M E N T F R A C T A L E #
# P A R L A M E T H O D E D E S P R O J E C T O R S : #
# #
# #
# Author of '$xiirs/.PROJ.41.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20041121105613). #
# #
#######################################################################################################################################
$Z setParam _____MailleX 0.50
$Z setParam _____MailleY 0.50
$Z setParam _____Iterations `GetParam $xci/fract_2D.01 niveau`
$Z # Parametre introduit le 20041121134151... #
$Z setParam _____Zoom 1.0
$Z setParam _____RotationX 0
$Z setParam _____RotationY 0
$Z setParam _____RotationZ 0
$Z setParam _____TranslationX 0
$Z # Parametre introduit le 20060206181808... #
$Z setParam _____TranslationY 0
$Z # Parametre introduit le 20060206181808... #
$Z setParam _____TranslationZ 0
$Z # Parametre introduit le 20060206181808... #
$Z setParam _____Arguments "$K_VIDE"
$Z # Parametre introduit le 20060130141149 pour permettre, par exemple, de generer les normales. #
#20150610102020____:$Z Pal #
$Z FilSTmpB FFrAcTaL
$Z echo "$xci/fract_2D.01$X \
$Z standard=FAUX \
$Z OX=0 EX=1.0 mX=$_____MailleX \
$Z OY=0 EY=1.0 mY=$_____MailleY \
$Z graine=1111 \
$Z niveau=$_____Iterations \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z $formatI | \
$Z $xci/scale$X \
$Z standard=FAUX \
$Z a=2 \
$Z b=-1 \
$Z R=$xTV/Fx \
$Z $formatI" \
$Z >> $FFrAcTaL
$Z echo "$xci/fract_2D.01$X \
$Z standard=FAUX \
$Z OX=0 EX=1.0 mX=$_____MailleX \
$Z OY=0 EY=1.0 mY=$_____MailleY \
$Z graine=3333 \
$Z niveau=$_____Iterations \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z $formatI | \
$Z $xci/scale$X \
$Z standard=FAUX \
$Z a=2 \
$Z b=-1 \
$Z R=$xTV/Fy \
$Z $formatI" \
$Z >> $FFrAcTaL
$Z echo "$xci/fract_2D.01$X \
$Z standard=FAUX \
$Z OX=0 EX=1.0 mX=$_____MailleX \
$Z OY=0 EY=1.0 mY=$_____MailleY \
$Z graine=5555 \
$Z niveau=$_____Iterations \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z $formatI | \
$Z $xci/scale$X \
$Z standard=FAUX \
$Z a=2 \
$Z b=-1 \
$Z R=$xTV/Fz \
$Z $formatI" \
$Z >> $FFrAcTaL
$Z $xcg/ExecParallele.01$Z $FFrAcTaL \
$Z >& $nul
$Z FilSTmpE FFrAcTaL
$Z if ($?_____imagesRFx == $EXIST) then
$Z $xci/acces$X \
$Z A=$xTV/Fx \
$Z standard=FAUX \
$Z zero=FAUX \
$Z R=$_____imagesRFx \
$Z $formatI
$Z else
$Z endif
$Z if ($?_____imagesRFy == $EXIST) then
$Z $xci/acces$X \
$Z A=$xTV/Fy \
$Z standard=FAUX \
$Z zero=FAUX \
$Z R=$_____imagesRFy \
$Z $formatI
$Z else
$Z endif
$Z if ($?_____imagesRFz == $EXIST) then
$Z $xci/acces$X \
$Z A=$xTV/Fz \
$Z standard=FAUX \
$Z zero=FAUX \
$Z R=$_____imagesRFz \
$Z $formatI
$Z else
$Z endif
$Z set Parametres="$K_VIDE"
$Z set Parametres="$Parametres"" np=1"
$Z set Parametres="$Parametres"" brume=FAUX"
$Z set Parametres="$Parametres"" pu=0.020 pv=0.020"
$Z set Parametres="$Parametres"" eu=40 ev=40"
$Z set Parametres="$Parametres"" dpu=40 dpv=40"
$Z set Parametres="$Parametres"" dxFxuv=0 dxFzu=1"
$Z set Parametres="$Parametres"" dyFyuv=0 dyFzv=1"
$Z set Parametres="$Parametres"" ddu=0.0004 ddv=0.0004"
$Z set Parametres="$Parametres"" ZOOM=$_____Zoom"
$Z set Parametres="$Parametres"" ROTATION_OX=$_____RotationX"
$Z set Parametres="$Parametres"" ROTATION_OY=$_____RotationY"
$Z set Parametres="$Parametres"" ROTATION_OZ=$_____RotationZ"
$Z set Parametres="$Parametres"" TRANSLATION_OX=$_____TranslationX"
$Z set Parametres="$Parametres"" TRANSLATION_OY=$_____TranslationY"
$Z set Parametres="$Parametres"" TRANSLATION_OZ=$_____TranslationZ"
$Z set Parametres="$Parametres"" Lz=100"
$Z set Parametres="$Parametres"" rayon_de_visualisation=0.012"
$Z set Parametres="$Parametres"" N_AU_CARRE=VRAI"
$Z set Parametres="$Parametres"" edc=VRAI"
$Z $xrs/project2D.11$X \
$Z aFx=1.0 Fx=$xTV/Fx \
$Z aFy=1.0 Fy=$xTV/Fy \
$Z aFz=1.0 Fz=$xTV/Fz \
$Z mu=0 Mu=1.0 \
$Z mv=0 Mv=1.0 \
$Z Fx_periodiser_u=VRAI Fy_periodiser_u=VRAI Fz_periodiser_u=VRAI \
$Z Fx_symetriser_u=FAUX Fy_symetriser_u=FAUX Fz_symetriser_u=FAUX \
$Z Fx_prolonger_u=FAUX Fy_prolonger_u=FAUX Fz_prolonger_u=FAUX \
$Z Fx_periodiser_v=VRAI Fy_periodiser_v=VRAI Fz_periodiser_v=VRAI \
$Z Fx_symetriser_v=FAUX Fy_symetriser_v=FAUX Fz_symetriser_v=FAUX \
$Z Fx_prolonger_v=FAUX Fy_prolonger_v=FAUX Fz_prolonger_v=FAUX \
$Z $Parametres \
$Z chiffres=0 \
$Z R=$_____imagesR \
$Z $_____Arguments \
$Z $formatI
$Z # Les champs {Fx,Fy} n'etant pas periodiques (contrairement a {Fz}) ne doivent pas etre #
$Z # "periodises" mais "prolonges". Dans le cas contraire, cela donne des artefacts (des points #
$Z # "incoherents") lies a des problemes d'interpolations aux bords des champs, lorsqu'il faut #
$Z # utiliser la periodicite supposee mais inexistante... #
$Z # #
$Z # On notera le 20041122212744 que les surfaces ainsi generees peuvent avoir des plis ; c'est #
$Z # le cas de 'v $xiirs/PROJ.42.2'. L'explication a ete trouvee avec les parametres suivants : #
$Z # #
$Z # pu=0.050 pv=0.050 #
$Z # eu=1 ev=1 #
$Z # dpu=1 dpv=1 #
$Z # mu=0.9 Mu=1.1 #
$Z # mv=0.7 Mv=0.72 #
$Z # #
$Z # et dans 'v $xrs/surfaces.12$I GENERATION_D_UNE_IMAGE_DE_LA_SURFACE_AVEC_DIFFERENCES____' #
$Z # en editant {u,v} et {cx,cy,cz}. Le resultat fut le suivant : #
$Z # #
$Z # u=+0.900000 v=+0.700000 Fx=+0.408148 Fy=-0.218798 Fz=-0.097719 #
$Z # u=+0.950000 v=+0.700000 Fx=+0.597691 Fy=-0.246351 Fz=+0.037005 #
$Z # u=+1.000000 v=+0.700000 Fx=+0.677763 Fy=-0.259725 Fz=+0.097890 #
$Z # #
$Z # pour la gauche du champ (u={+0.90,+0.95,1.00}), alors qu'a droite (u={+1.05,+1.10}) par #
$Z # periodisation, on trouve : #
$Z # #
$Z # u=+1.050000 v=+0.700000 Fx=+0.684564 Fy=-0.200189 Fz=+0.073212 #
$Z # u=+1.100000 v=+0.700000 Fx=+0.695948 Fy=-0.055914 Fz=+0.017930 #
$Z # #
$Z # On voit que 'Fy' decroit {-0.218798,-0.246351,-0.259725} puis croit {-0.200189,-0.055914}. #
$Z # C'est ce changement de sens de variation qui est le responsable de ce type de plis. On #
$Z # pourra regarder l'image 'v $xiirs/PROJ.42.2$COORD_Y p=$xiP/cercle.35' a l'ordonnnee +0.7 #
$Z # et on verra qu'effectivement a droite le niveau decroit alors qu'a gauche (c'est-a-dire #
$Z # la "suite" de la droite par periodisation) il remonte... #
$Z # #
$Z # On notera bien que l'exemple precedent est "a cheval" et fait reference a la periodicite #
$Z # du champ ; mais le phenomene de "plis" n'est pas associe a la periodicite et peut donc se #
$Z # rencontrer n'importe ou dans un champ... #
$Z $DELETE $xTV/Fx
$Z $DELETE $xTV/Fy
$Z $DELETE $xTV/Fz