#######################################################################################################################################
# #
# V I S U A L I S A T I O N T R I D I M E N S I O N N E L L E D E L A C O N J E C T U R E D E G O L D B A C H : #
# #
# #
# Author of '$xiirv/.GOLD.41.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20121115173721). #
# #
#######################################################################################################################################
$Z $xci/format.01$X \
$Z A=$_____ImageA.2 \
$Z $formatI \
$Z mode=2 \
$Z R=$ITeMpOrAiRe.11 \
$Z $formatR_Sdu
$Z set TrAnSlAtIoN1=`calcul 1/$_____NNombres`
$Z set LiNe_4="X=$Xmin Y=$Ymin"
$Z set NiVeAu_FoRcE=`$xci/niveau$X A=$_____ImageA.2 $LiNe_4 Prme=VRAI`
$Z if ($PrEmIeR_N != 2) then
$Z echo "Le forcage du coin bas-gauche n'a pas de sens."
$Z else
$Z endif
$Z $xci/scroll$X \
$Z A=$_____ImageA.2 \
$Z trX=-$TrAnSlAtIoN1 toreX=FAUX \
$Z trY=-$TrAnSlAtIoN1 toreY=FAUX \
$Z niveau=$NOIR_PLANCHER \
$Z $formatI | \
$Z $xci/scroll$X \
$Z trX=+$TrAnSlAtIoN1 toreX=FAUX \
$Z trY=+$TrAnSlAtIoN1 toreY=FAUX \
$Z niveau=$NOIR_PLANCHER \
$Z $formatI | \
$Z $xci/S_point$X \
$Z $LiNe_4 \
$Z niveau=$NiVeAu_FoRcE \
$Z R=$ITeMpOrAiRe.14 \
$Z $formatI
$Z # Ces '$xci/scroll$X' sont destines a eliminer la premiere ligne {X=2} et la premiere #
$Z # colonne {Y=2} ('v $xiirv/.GOLD.31.1.$U .xci.scroll.X'). #
$Z # #
$Z # Le 20121118111250 la sauvegarde, puis la restauration du point {Xmin,Ymin} ont ete mises #
$Z # en place afin de ne pas perdre le premier cas, a savoir : #
$Z # #
$Z # 4 = 2+2 #
$Z # N = X+Y #
$Z # #
$Z # qui disparait lors des '$xci/scroll$X's precedents, or ces derniers ne peuvent etre #
$Z # supprimes pour les raisons evoquees ci-dessus ('v $xiirv/.GOLD.31.1.$U .xci.scroll.X'). #
$Z $xci/format.01$X \
$Z A=$ITeMpOrAiRe.14 \
$Z $formatI \
$Z mode=0 \
$Z R=$ITeMpOrAiRe.12 \
$Z $formatR_Sdu
$Z Sdu
$Z $xci/lineaire$X \
$Z A=1 B=0 C=0 \
$Z standard=FAUX \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z R=$ITeMpOrAiRe.13$COORD_X \
$Z $formatI
$Z $xci/lineaire$X \
$Z A=0 B=1 C=0 \
$Z standard=FAUX \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z R=$ITeMpOrAiRe.13$COORD_Y \
$Z $formatI
$Z $xci/acces$X \
$Z convertir=VRAI \
$Z A=$ITeMpOrAiRe.11 \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z R=$ITeMpOrAiRe.13$COORD_Z \
$Z $formatI
$Z set PuLsAtIoN=`calcul ($_____NNombres/2)*$dpi`
$Z set PhAsE=$pi
$Z $xci/sinus$X \
$Z cX=$PuLsAtIoN \
$Z cY=$PuLsAtIoN \
$Z cosinus=VRAI \
$Z phase=$PhAsE \
$Z $formatI | \
$Z $xci/seuil$X \
$Z seuil=$_____Seuil \
$Z R=$ITeMpOrAiRe.TEXTURE$COORD_X$COORD_Y \
$Z $formatI
$Z set PuLsAtIoN=`calcul ($_____NNombres/1)*$dpi`
$Z set PhAsE=$pi
$Z $xci/sinus$X \
$Z cX=$PuLsAtIoN \
$Z cY=0 \
$Z cosinus=VRAI \
$Z phase=$PhAsE \
$Z $formatI | \
$Z $xci/seuil$X \
$Z seuil=$_____Seuil \
$Z R=$ITeMpOrAiRe.TEXTURE$COORD_X \
$Z $formatI
$Z $xci/sinus$X \
$Z cX=0 \
$Z cY=$PuLsAtIoN \
$Z cosinus=VRAI \
$Z phase=$PhAsE \
$Z $formatI | \
$Z $xci/seuil$X \
$Z seuil=$_____Seuil \
$Z R=$ITeMpOrAiRe.TEXTURE$COORD_Y \
$Z $formatI
$Z $xci/vraies_C$X \
$Z A=$ITeMpOrAiRe.12 \
$Z p=$xiP/gris.G1 \
$Z R=$ITeMpOrAiRe.TEXTURE \
$Z $formatI
$Z execRVB $xci/maximum$X \
$Z A1=$ITeMpOrAiRe.TEXTURE$COORD_X$COORD_Y \
$Z A2=$ITeMpOrAiRe.TEXTURE%s \
$Z R=$ITeMpOrAiRe.TEXTURE%s \
$Z $formatI
$Z # Les droites 'X+Y=N' ou 'N' est un nombre pair seront materialisees par des lignes blanches. #
$Z $xci/maximum$X \
$Z A1=$ITeMpOrAiRe.TEXTURE$COORD_X \
$Z A2=$ITeMpOrAiRe.TEXTURE$ROUGE \
$Z $formatI | \
$Z $xci/maximum$X \
$Z A1=$ITeMpOrAiRe.TEXTURE$COORD_Y \
$Z R=$ITeMpOrAiRe.TEXTURE$ROUGE \
$Z $formatI
$Z $xci/maximum$X \
$Z A1=$ITeMpOrAiRe.TEXTURE$COORD_X \
$Z A2=$ITeMpOrAiRe.TEXTURE$VERTE \
$Z $formatI | \
$Z $xci/maximum$X \
$Z A1=$ITeMpOrAiRe.TEXTURE$COORD_Y \
$Z R=$ITeMpOrAiRe.TEXTURE$VERTE \
$Z $formatI
$Z # Les nombres entiers seront aux intersections de droites horizontales et verticales jaunes. #
$Z set TrAnSlAtIoN2=`calcul 1/(2*$_____NNombres)`
$Z # On notera qu'il est necessaire de decaler vers le bas-gauche (de '-$TrAnSlAtIoN2', #
$Z # soit de la moitie d'un pixel du format initial 'FIT1') la texture '$ITeMpOrAiRe.TEXTURE' #
$Z # car, en effet les modes '0' et '2' (comme '1' d'ailleurs) de '$xci/format.01$K' ne se #
$Z # superposent qu'a cette condition. Ainsi, en supposant que l'image initiale soit faite #
$Z # des quatre points : #
$Z # #
$Z # BB #
$Z # NB #
$Z # #
$Z # (ou 'N' et 'B' designent respectivement le NOIR et la BLANC) cela donne apres #
$Z # '$xci/format.01$X' : #
$Z # #
$Z # #
$Z # mode=0 mode=1 ou 2 #
$Z # #
$Z # ------------------- ------------------- #
$Z # |BBBBBBBBB|BBBBBBBBB| |.........|.........| #
$Z # |BBBBBBBBB|BBBBBBBBB| |.........|.........| #
$Z # |BBBBBBBBB|BBBBBBBBB| |.........|.........| #
$Z # |BBBBBBBBB|BBBBBBBBB| |.........|.........| #
$Z # |BBBBBBBBB|BBBBBBBBB| |.........|.........| #
$Z # d---------c---------| d---------c---------| #
$Z # |NNNNNNNNN|BBBBBBBBB| |.........|.........| #
$Z # |NNNNNNNNN|BBBBBBBBB| |.........|.........| #
$Z # |NNNNnNNNN|BBBBBBBBB| |.........|.........| #
$Z # |NNNNNNNNN|BBBBBBBBB| |.........|.........| #
$Z # |NNNNNNNNN|BBBBBBBBB| |n........|.........| #
$Z # a---------b--------- a---------b--------- #
$Z # #
$Z # #
$Z # (ou "." designe un degrade de niveau superieur a 'N'). Ainsi en 'mode=0', le centre 'n' #
$Z # de la zone noire est au centre du carre 'abcd' alors que pour le 'mode=1 ou 2', ce centre #
$Z # 'n' est en bas et a droite (sommet 'a'), d'ou la superposition des deux modes par un #
$Z # "demi-decalage"... #
$Z execRVB $xci/scroll$X \
$Z A=$ITeMpOrAiRe.TEXTURE%s \
$Z trX=-$TrAnSlAtIoN2 toreX=FAUX \
$Z trY=-$TrAnSlAtIoN2 toreY=FAUX \
$Z niveau=$NOIR_PLANCHER \
$Z R=$ITeMpOrAiRe.TEXTURE%s \
$Z $formatI
$Z execRVB $xci/convol.01$X \
$Z A=$ITeMpOrAiRe.TEXTURE%s \
$Z points=$_____NPConvolution \
$Z R=$ITeMpOrAiRe.TEXTURE%s \
$Z $formatI
$Z set MiNiMuM_uv=0
$Z set MaXiMuM_uv=1
$Z set P_uv=`calcul $MaXiMuM_uv-$MiNiMuM_uv`
$Z set MaIlLe_uv=16
$Z set NPts_uv=`calcul $_____FNPts_uv*$_____NNombres*$MaIlLe_uv`
$Z set ZMiNiMuM=0.4
$Z set PaRaMeTrEs="$K_VIDE"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" mu=$MiNiMuM_uv Mu=$MaXiMuM_uv"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" mv=$MiNiMuM_uv Mv=$MaXiMuM_uv"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" aFz=1"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" pu=$P_uv dpu=$NPts_uv eu=$MaIlLe_uv"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" pv=$P_uv dpv=$NPts_uv ev=$MaIlLe_uv"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" N_AU_CARRE=FAUX"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" textures_standard=VRAI"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" ROUGE_T=1"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" imageTR=$ITeMpOrAiRe.TEXTURE$ROUGE"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" VERTE_T=1"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" imageTV=$ITeMpOrAiRe.TEXTURE$VERTE"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" BLEUE_T=1"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" imageTB=$ITeMpOrAiRe.TEXTURE$BLEUE"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" Zminimum=$ZMiNiMuM"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" ZminimumT=$ZMiNiMuM"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" r=0.010"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" ZOOM=0.85"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" ROTATION_OX=-0.1"
$Z $xrs/project2D.02$Z $ITeMpOrAiRe.13 \
$Z $_____ImageR \
$Z "$PaRaMeTrEs" \
$Z "$K_VIDE" "$K_VIDE" "$K_VIDE" \
$Z "$K_VIDE" \
$Z "$K_VIDE" "$K_VIDE" "$K_VIDE" \
$Z FAUX