#######################################################################################################################################
# #
# D E F I N I T I O N D E T R O I S T O R E S E N L A C E S #
# ( " A N N E A U X B O R R O M E E N S " ) : #
# #
# #
# Author of '$xiirs/.PROJ.s1.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20120605182103). #
# #
#######################################################################################################################################
$Z SETParam _____NAnneaux 3
$Z # Parametre introduit le 20120608095117 donnant le nombre d'anneaux, sachant que cela n'a #
$Z # d'interet en ce qui concerne l'entralcement que si ce nombre est impair... #
$Z setParam _____GrandRayon 1.0
$Z # Parametre introduit le 20120608114330 donnant le Grand Rayon des tores. #
$Z setParam _____PetitRayon 0.1
$Z # Parametre introduit le 20120608114330 donnant le Petit Rayon des tores. #
$Z setParam _____AmplitudeO 0.3
$Z # Parametre introduit le 20120608105332 donnant l'amplitude de l'Oscillation. #
$Z setParam _____RayonCentres 0.5
$Z # Parametre introduit le 20120608110257 donnant le rayon du cercle des centres des anneaux. #
$Z setParam _____Angle0 `calculNS $pi/(2*$_____NAnneaux)`
$Z # Parametre introduit le 20120608094732 donnant l'angle de depart. #
$Z setParam _____AnglePs2 `calculNS $pi/$_____NAnneaux`
$Z # Parametre introduit le 20120608094732 donnant la moitie ("Pas Sur 2") du pas angulaire. #
$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=$_____NAnneaux"
$Z set PaRaMp="$PaRaMp"" PARAMETRE_BO=0"
$Z set PaRaMp="$PaRaMp"" transformer_projections=VRAI ZOOM=0.5"
$Z set RayonC=$_____RayonCentres
$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 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 $RayonC*cos(($NumeroA*2*$_____AnglePs2)+$_____Angle0)`
$Z set TrAnY=`calcul $RayonC*sin(($NumeroA*2*$_____AnglePs2)+$_____Angle0)`
$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 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'...). #