#!/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
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.