####################################################################################################################################### # # # 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