#######################################################################################################################################
# #
# D E F I N I T I O N D E S " A N N E A U X O L Y M P I Q U E S " : #
# #
# #
# Author of '$xiirs/.PROJ.y1.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20120724094516). #
# #
#######################################################################################################################################
$Z SETParam _____NAnneaux 5
$Z setParam _____GrandRayon 1.0
$Z setParam _____PetitRayon 0.1
$Z setParam _____AmplitudeO 1.0
$Z setParam _____AXCosinus 1.2
$Z setParam _____AYCosinus 0.5
$Z setParam _____PCosinus $pi
$Z set PaRaMp="$K_VIDE"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_R11=$_____GrandRayon"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_R12=$_____GrandRayon"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_R21=$_____PetitRayon"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_R22=$_____PetitRayon"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_KO=$_____AmplitudeO"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_AO=2"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_BO=0"
$Z set PaRaMp="$PaRaMp"" transformer_projections=VRAI ZOOM=0.5"
$Z set DeRnIeRe=4
$Z if ($_____NAnneaux <= $DeRnIeRe) then
$Z set ReDuCtIoN=$xci/reduction_04$X
$Z else
$Z set DeRnIeRe=16
$Z set ReDuCtIoN=$xci/reduction_16$X
$Z if ($_____NAnneaux <= $DeRnIeRe) then
$Z else
$Z EROR "Trop d'anneaux sont demandes, seuls '$DeRnIeRe' seront traces."
$Z endif
$Z endif
$Z set InFiNi=1000000000
$Z # De facon a ce que les '$xTV/TORE.????'s inexistants soient en dehors du cadre... #
$Z # #
$Z # On notera que l'on utilise '$InFiNi' dans 'v $xiirs/$Fnota Debut_listG_PROJ_s1' comme une #
$Z # distance alors qu'il s'agit d'une coordonnee, mais cela importe peu car la distance d'un #
$Z # point de coordonnees {$InFiNi,$InFiNi,$InFiNi} a l'origine est superieure evidemment a #
$Z # '$InFiNi'... #
$Z set AnGlE=`calcul -floor($_____NAnneaux/2)*$pi`
$Z set NumeroA=0
$Z while ($NumeroA < $DeRnIeRe)
$Z set NuMeRo=`calcul $NumeroA+1`
$Z set NuMeRo=`$xci/nombres$X A="$K_VIDE" premiere=$NuMeRo derniere=$NuMeRo`
$Z if ($NumeroA < $_____NAnneaux) then
$Z set TrAnX=`calcul $_____AXCosinus*($AnGlE/$_____PCosinus)`
$Z set TrAnY=`calcul $_____AYCosinus*cos($AnGlE)`
$Z # Les centres des anneaux sont situes sur les extrema d'une cosinusoide... #
$Z $xrs/project2D.01$Z tore.21 \
$Z $xTV/TORE.$NuMeRo \
$Z "TRANSLATION_OX=$TrAnX TRANSLATION_OY=$TrAnY $PaRaMp" \
$Z $COORD_X $COORD_Y $COORD_Z \
$Z FAUX $NEXIST
$Z else
$Z execXYZ $xci/init$X \
$Z standard=FAUX \
$Z valeur=$InFiNi \
$Z R=$xTV/TORE.$NuMeRo%s \
$Z $formatI
$Z endif
$Z @ NumeroA = $NumeroA + 1
$Z set AnGlE=`calcul $AnGlE+$_____PCosinus`
$Z end
$Z execXYZ $ReDuCtIoN standard=FAUX \
$Z A=$xTV/TORE. \
$Z premiere=1 derniere=$DeRnIeRe pas=1 \
$Z postfixe=%s \
$Z valeur=$InFiNi \
$Z R=$_____ImageT%s \
$Z $formatI
$Z # Le forcage de "valeur=$InFiNi" est destine au cas ou le format '$formatI' serait tel #
$Z # qu'une ou les deux dimensions soient impaires (c'est le cas de 'Pal' pour '$dimY'...). #