####################################################################################################################################### # # # 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'...). #