#!/bin/csh ####################################################################################################################################### # # # C H A N G E M E N T D E L A N U M E R O T A T I O N D ' U N E S E Q U E N C E D ' I M A G E S # # P A R M I S E D A N S U N O R D R E S P I R A L E : # # # # # # Utilisation : # # # # $xci/spirale.11$Z <imageA> <imageR> <premiere> <derniere> <pas> [<postfixe>] # # # # # # Author of '$xci/spirale.11$Z' : # # # # Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). # # # ####################################################################################################################################### set imageA=$1 set imageR=$2 set premiere=$3 set derniere=$4 set pas=$5 set postfixe=$6 @ NombreCarre = $derniere - $premiere @ NombreCarre = $NombreCarre + 1 @ NombreCarre = $NombreCarre / $pas # Calcul du nombre de commandes a generer. # set Espirale="spirale=FAUX espirale=FAUX" set Index=$premiere set ListeX=`repeat $NombreCarre eval '$xci/spirale.11$X $Espirale index=$Index ex=VRAI ey=FAUX ; @ Index = $Index + 1'` set ListeX=`echo "$ListeX" | $SE -e "s/x=//g"` set TriListeX=`echo "$ListeX" | $R "$K_BLANC" "$K_NL" | $SOR -u` set MinimumX=$TriListeX[1] set MaximumX=$TriListeX[$#TriListeX] @ DimensionX = $MaximumX - $MinimumX @ DimensionX = $DimensionX + 1 # Generation de la liste des 'X' de parcours de la spirale. # set Index=$premiere set ListeY=`repeat $NombreCarre eval '$xci/spirale.11$X $Espirale index=$Index ex=FAUX ey=VRAI ; @ Index = $Index + 1'` set ListeY=`echo "$ListeY" | $SE -e "s/y=//g"` set TriListeY=`echo "$ListeY" | $R "$K_BLANC" "$K_NL" | $SOR -u` set MinimumY=$TriListeY[1] set MaximumY=$TriListeY[$#TriListeY] @ DimensionY = $MaximumY - $MinimumY @ DimensionY = $DimensionY + 1 # Generation de la liste des 'Y' de parcours de la spirale. # set iterer=$EXIST # Pour controler la boucle d'iteration... # set Index=$premiere while ($iterer == $EXIST) set cx=`$xci/spirale.11$X $Espirale index=$Index ex=VRAI ey=FAUX | $SE -e "s/x=//"` @ cx = $cx - $MinimumX # Generation de la coordonnee 'X' de l'image courante 'Index'. # set cy=`$xci/spirale.11$X $Espirale index=$Index ex=FAUX ey=VRAI | $SE -e "s/y=//"` @ cy = $cy - $MinimumY # Generation de la coordonnee 'Y' de l'image courante 'Index'. # set IndexTranspose=`$xcg/AXPB.01$X a=$DimensionX x=$cy b=$cx` @ IndexTranspose = $IndexTranspose + $premiere # Generation d'un index tranpose. # @ numeroA = $Index - $premiere @ numeroA = $numeroA * $pas @ numeroA = $numeroA + $premiere set numeroA=`$xci/nombres$X premiere=$numeroA derniere=$numeroA` # Generation du numero de l'image Argument courante. # @ numeroR = $IndexTranspose - $premiere @ numeroR = $numeroR * $pas @ numeroR = $numeroR + $premiere set numeroR=`$xci/nombres$X premiere=$numeroR derniere=$numeroR` # Generation du numero de l'image Resultat courante. # set commande="$CP $imageA$numeroA$postfixe $imageR$numeroR$postfixe" # Generation de la commande de copie. # eval "$commande" # Et execution... # if ($Index >= $NombreCarre) then set iterer=$NEXIST # C'est fini... # else @ Index = $Index + 1 # Index de l'image suivante... # endif end