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