#!/bin/csh
#######################################################################################################################################
# #
# G E N E R A T I O N D ' U N E P A I R E S T E R E O S C O P I Q U E P O U R U N C H A M P D O N N E : #
# #
# #
# Utilisation : #
# #
# $xci/stereo_pair$Z <nom_champ> <nom_de_la_paire> [diviseur=<diviseur>] #
# #
# #
# Nota important : #
# #
# Si le resultat de cette operation est #
# destine a generer un couple de montagnes #
# stereoscopiques via la fonction 'Imontagnes(...)' #
# de '$xiii/montagnes$FON', le risque est grand que #
# les ombres soient incoherentes. En effet, le #
# calcul est effectue en laissant fixe l'observateur #
# et la source lumineuse, et en faisant tourner le #
# champ. La bonne solution serait de ne faire tourner #
# que l'observateur, ce qui est difficile, vu le #
# principe de la fonction 'Imontagnes(...)'. Un tel #
# exemple d'incorehence est donne par les couples #
# ('$xiirv/DEPT.15$DROITE$M', '$xiirv/DEPT.15$GAUCHE$M') et #
# ('$xiirv/DEPT.25$DROITE$M', '$xiirv/DEPT.25$GAUCHE$M'). #
# #
# Provisoirement, on pourra ne pas utiliser la generation #
# de l'ombre (voir 'v $xci/montagne.71$Z'...). Mais alors, on #
# perd d'une part le "depth-cueing" et d'autre part la texture... #
# #
# Une autre solution consiste a conserver la generation de #
# l'ombre et a exploiter ce qui est decrit dans le commentaire #
# relatif a '$lumiere' dans '$xci/montagne.71$Z'. On utilisera #
# ainsi : #
# #
# $xci/montagne.71$Z <surface> (...) <imageR> "Ty=... sx=... sy=..." #
# #
# #
# Author of '$xci/stereo_pair$Z' : #
# #
# Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
set champ=$1
set paire=$2
set diviseur=$3
set Angle=6.28318530
set Diviseur=300.0
set angleD=`$xcg/scale$X nombre=$Angle multiplicateur=-1.0 diviseur=$Diviseur $diviseur`
set angleG=`$xcg/scale$X nombre=$Angle multiplicateur=1.0 diviseur=$Diviseur $diviseur`
# Definition des angles de rotation. #
set translation_X="txA=0.5 txRA=0.5 txRR=0"
set translation_Y="tyA=0.5 tyRA=0.5 tyRR=0"
# Definition des translations horizontale et verticale. #
$xci/rotate$X A=$champ R=$paire$DROITE angle=$angleD interpoler=VRAI $translation_X $translation_Y $formatI
# Generation de l'image 'DROITE' de la paire stereoscopique. #
$xci/rotate$X A=$champ R=$paire$GAUCHE angle=$angleG interpoler=VRAI $translation_X $translation_Y $formatI
# Generation de l'image 'GAUCHE' de la paire stereoscopique. #