#!/bin/csh ####################################################################################################################################### # # # R O T A T I O N T R I D I M E N S I O N N E L L E # # ( E T P L U S G E N E R A L E M E N T T R A N S F O R M A T I O N T R I D I M E N S I O N N E L L E ) # # D U C O N T E N U D ' U N C H A M P D E C O O R D O N N E E S { X , Y , Z } : # # # # # # Utilisation : # # # # $xrs/rotate3D.01$Z <ImageA> <ImageR> [<Args> [<ComposR1> [<ComposR2> [<ComposR3>]]]] # # # # # # Author of '$xrs/rotate3D.01$Z' : # # # # Jean-Francois Colonna (LACTAMME, 20090630095312). # # # ####################################################################################################################################### set ImageA=$1 set ImageR=$2 set Arguments=($3) # Ce parametre permet d'introduire une liste quelconque de parametres de la commande # # 'v $xrv/ROTATION.01$K' et en particulier {ROTATION_OX,ROTATION_OY,ROTATION_OZ} dans un # # ordre quelconque (mais aussi des TRANSLATIONs, voire des transformations arbitraires...). # set ComposR1=$4 set ComposR2=$5 set ComposR3=$6 setArgum ComposR1 $COORD_X setArgum ComposR2 $COORD_Y setArgum ComposR3 $COORD_Z set TransA11=`$xrv/ROTATION.01$X ne=1 LISTE_X=1 LISTE_Y=0 LISTE_Z=0 pX=1 pY=0 pZ=0 $Arguments` set TransA12=`$xrv/ROTATION.01$X ne=1 LISTE_X=0 LISTE_Y=1 LISTE_Z=0 pX=1 pY=0 pZ=0 $Arguments` set TransA13=`$xrv/ROTATION.01$X ne=1 LISTE_X=0 LISTE_Y=0 LISTE_Z=1 pX=1 pY=0 pZ=0 $Arguments` set TransA21=`$xrv/ROTATION.01$X ne=1 LISTE_X=1 LISTE_Y=0 LISTE_Z=0 pX=0 pY=1 pZ=0 $Arguments` set TransA22=`$xrv/ROTATION.01$X ne=1 LISTE_X=0 LISTE_Y=1 LISTE_Z=0 pX=0 pY=1 pZ=0 $Arguments` set TransA23=`$xrv/ROTATION.01$X ne=1 LISTE_X=0 LISTE_Y=0 LISTE_Z=1 pX=0 pY=1 pZ=0 $Arguments` set TransA31=`$xrv/ROTATION.01$X ne=1 LISTE_X=1 LISTE_Y=0 LISTE_Z=0 pX=0 pY=0 pZ=1 $Arguments` set TransA32=`$xrv/ROTATION.01$X ne=1 LISTE_X=0 LISTE_Y=1 LISTE_Z=0 pX=0 pY=0 pZ=1 $Arguments` set TransA33=`$xrv/ROTATION.01$X ne=1 LISTE_X=0 LISTE_Y=0 LISTE_Z=1 pX=0 pY=0 pZ=1 $Arguments` # Calcul des neuf elements de la matrice de rotation correspondant a '$Arguments'... # $xci/interpolb.01$X \ a=$TransA11 A1=$ImageA$ComposR1 \ b=$TransA12 A2=$ImageA$ComposR2 \ g=$TransA13 A3=$ImageA$ComposR3 \ standard=FAUX \ Fverifier_somme_ponderations=FAUX \ R=$ImageR$ComposR1 \ $formatI $xci/interpolb.01$X \ a=$TransA21 A1=$ImageA$ComposR1 \ b=$TransA22 A2=$ImageA$ComposR2 \ g=$TransA23 A3=$ImageA$ComposR3 \ standard=FAUX \ Fverifier_somme_ponderations=FAUX \ R=$ImageR$ComposR2 \ $formatI $xci/interpolb.01$X \ a=$TransA31 A1=$ImageA$ComposR1 \ b=$TransA32 A2=$ImageA$ComposR2 \ g=$TransA33 A3=$ImageA$ComposR3 \ standard=FAUX \ Fverifier_somme_ponderations=FAUX \ R=$ImageR$ComposR3 \ $formatI # Rotation de '$ImageA'... #