#!/bin/csh ####################################################################################################################################### # # # T E S T D E ' $xrv/Rot_Euler.01$X ' : # # # # # # Utilisation : # # # # $xtz/Rot_Euler.01$Z # # # # # # Author of '$xtz/Rot_Euler.01$Z' : # # # # Jean-Francois Colonna (LACTAMME, 20030630155815). # # # ####################################################################################################################################### set Liste_V1_V2="LISTE_V1X=+1 LISTE_V1Y=+1 LISTE_V1Z=+1 LISTE_V2X=+1 LISTE_V2Y=-1 LISTE_V2Z=+1" # Definition arbitraire de deux vecteurs 'V1' et 'V2' destines a definir trois angles # # d'Euler {theta,psi,phi} Directs, puis Inverses. # set PC100="pTHETA=1 pPSI=0 pPHI=0" set PC010="pTHETA=0 pPSI=1 pPHI=0" set PC001="pTHETA=0 pPSI=0 pPHI=1" # Definition des selecteurs de {theta,psi,phi}. # set dTeT=`$xrv/Car_Euler.01.x ne=1 $Liste_V1_V2 $PC100 directe=VRAI` set dPsI=`$xrv/Car_Euler.01.x ne=1 $Liste_V1_V2 $PC010 directe=VRAI` set dPhI=`$xrv/Car_Euler.01.x ne=1 $Liste_V1_V2 $PC001 directe=VRAI` # Definition de {theta,psi,phi} Directs. # set iTeT=`$xrv/Car_Euler.01.x ne=1 $Liste_V1_V2 $PC100 directe=FAUX` set iPsI=`$xrv/Car_Euler.01.x ne=1 $Liste_V1_V2 $PC010 directe=FAUX` set iPhI=`$xrv/Car_Euler.01.x ne=1 $Liste_V1_V2 $PC001 directe=FAUX` # Definition de {theta,psi,phi} Inverses. # set ACooX=+20 set ACooY=+30 set ACooZ=+40 # Definition arbitraire d'un vecteur 'V'. # set PR100="px=1 py=0 pz=0" set PR010="px=0 py=1 pz=0" set PR001="px=0 py=0 pz=1" # Definition des selecteurs de {X,Y,Z}. # set FoRmAt="formater=vrai format=f decimales=4" # Format de sortie des coordonnees {X,Y,Z}. # echo "Vecteur initial............... = {$ACooX,$ACooY,$ACooZ}" set LISTE_A="LISTE_VX=$ACooX LISTE_VY=$ACooY LISTE_VZ=$ACooZ LISTE_THETA=$dTeT LISTE_PSI=$dPsI LISTE_PHI=$dPhI" set BCooX=`$xrv/Rot_Euler.01$X ne=1 $LISTE_A $PR100 $FoRmAt` set BCooY=`$xrv/Rot_Euler.01$X ne=1 $LISTE_A $PR010 $FoRmAt` set BCooZ=`$xrv/Rot_Euler.01$X ne=1 $LISTE_A $PR001 $FoRmAt` echo "Vecteur apres rotation Directe = {$BCooX,$BCooY,$BCooZ}" set LISTE_B="LISTE_VX=$BCooX LISTE_VY=$BCooY LISTE_VZ=$BCooZ LISTE_THETA=$iTeT LISTE_PSI=$iPsI LISTE_PHI=$iPhI" set CCooX=`$xrv/Rot_Euler.01$X ne=1 $LISTE_B $PR100 $FoRmAt` set CCooY=`$xrv/Rot_Euler.01$X ne=1 $LISTE_B $PR010 $FoRmAt` set CCooZ=`$xrv/Rot_Euler.01$X ne=1 $LISTE_B $PR001 $FoRmAt` echo "Vecteur apres rotation Inverse = {$CCooX,$CCooY,$CCooZ}" # Le vecteur obtenu apres la rotation Inverse doit egal au vecteur initial (a epsilon pres). #