#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D ' U N   E N S E M B L E   F R A C T A L                                                       #
#         D A N S   L E S   " P S E U D O - Q U A T E R N I O N S "  :                                                                #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirc/.MANE.41.3.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20100828095203).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Ombrage                  VRAI
$Z                                      # Parametre introduit le 20180124093324...                                                    #

$Z                  SETParam            _____Standard                 FAUX
$Z                                      # Parametre introduit le 20140928102538...                                                    #

$Z                  setParam            _____Compatibilite_20140917   FAUX
$Z                                      # Parametre introduit le 20140929120538...                                                    #

$Z                  setParam            _____Compatibilite_20170517   VRAI
$Z                                      # Parametre introduit le 20170819105630...                                                    #

$Z                  setParam            _____IncompletOZ              FAUX
$Z                                      # Parametre introduit le 20120322173008...                                                    #

$Z                  setParam            _____InterpolerO              VRAI
$Z                                      # Parametre introduit le 20101125175134...                                                    #

$Z                  setParam            _____LineaireO                VRAI
$Z                                      # Parametre introduit le 20101125175134...                                                    #

$Z                  setParam            _____Fseuil                   `GetParam $xci/ombrage.11$X Fseuil`
$Z                                      # Parametre introduit le 20100831171928...                                                    #

$Z                  setParam            _____ORotationX               `GetParam $xci/ombrage.11$X ROTATION_OX`
$Z                                      # Parametre introduit le 20111125085050...                                                    #
$Z                                      #                                                                                             #
$Z                                      # On notera le 20170517041538 qu'en fait, il est imperatif que :                              #
$Z                                      #                                                                                             #
$Z                                      #                   _____ORotationX=0                                                         #
$Z                                      #                                                                                             #
$Z                                      # afin que le champ "objet" et son champ "ombre" soient exactement "superposables", en        #
$Z                                      # en notant que '$_____RotationX' destine a 'v $xci/accumule.42$K ROTATION_OX' s'applique     #
$Z                                      # ensuite a ces deux champs "superposes"...                                                   #

$Z                  setParam            _____ORotationY               `GetParam $xci/ombrage.11$X ROTATION_OY`
$Z                                      # Parametre introduit le 20111125085050...                                                    #
$Z                                      #                                                                                             #
$Z                                      # On notera le 20170517041538 qu'en fait, il est imperatif que :                              #
$Z                                      #                                                                                             #
$Z                                      #                   _____ORotationY=0                                                         #
$Z                                      #                                                                                             #
$Z                                      # afin que le champ "objet" et son champ "ombre" soient exactement "superposables", en        #
$Z                                      # en notant que '$_____RotationY' destine a 'v $xci/accumule.42$K ROTATION_OY' s'applique     #
$Z                                      # ensuite a ces deux champs "superposes"...                                                   #

$Z                  setParam            _____ORotationZ               `GetParam $xci/ombrage.11$X ROTATION_OZ`
$Z                                      # Parametre introduit le 20111125085050...                                                    #
$Z                                      #                                                                                             #
$Z                                      # On notera le 20170517041538 qu'en fait, il est imperatif que :                              #
$Z                                      #                                                                                             #
$Z                                      #                   _____ORotationZ=0                                                         #
$Z                                      #                                                                                             #
$Z                                      # afin que le champ "objet" et son champ "ombre" soient exactement "superposables", en        #
$Z                                      # en notant que '$_____RotationZ' destine a 'v $xci/accumule.42$K ROTATION_OZ' s'applique     #
$Z                                      # ensuite a ces deux champs "superposes"...                                                   #

$Z                  setParam            _____IORotations              `GetParam $xci/ombrage.11$X inverser_rotations`
$Z                                      # Parametre introduit le 20111126101906...                                                    #

$Z                  setParam            _____FactIncrLambda           `GetParam $xci/ombrage.11$X facteur_increment_lambda`
$Z                                      # Parametre introduit le 20141203163752...                                                    #

$m4                 _____include(_____xiirc/.MANE.41.3.1._____U)
$Z                                      # Introduit sous cette forme le 20170801102253 pour 'v $xiirf/$Fnota xiirc..MANE.41.3.1'...   #

$Z                  setParam            _____DetecteurVide            $GRIS_4

$Z                  setParam            _____AttenuationOmbre         0.2

$Z                  setParam            _____ParamOmbrage             "$K_VIDE"
$Z                                      # Parametre introduit le 20141126121317...                                                    #

$Z                  SETParam            _____ConvoluerOmbre           $NEXIST
$Z                                      # Parametre introduit le 20220220113836, la valeur par defaut garantissant la compatibilite   #
$Z                                      # anterieure...                                                                               #
$Z                                      #                                                                                             #
$Z                                      # On notera le 20220221122340 que le resultat est plutot mauvais (euphemisme...).             #

$Z                  setParam            _____ConvolutionSpherique     VRAI

$Z                  setParam            _____ConvolutionNoyau_X       3

$Z                  setParam            _____ConvolutionNoyau_Y       3

#20220221111822____:$Z                  setParam            _____ConvolutionNoyau_Z       3                                           #
$Z                  setParam            _____ConvolutionNoyau_Z       0

$Z                  setParam            _____ParamConvolution         "$K_VIDE"

#20140928102559____:$Z                  $xci/ombrage.11$X                                                                          \  #
#20140928102559____:$Z                                      A=$_____ImageTd.                                                       \  #
#20140928102559____:$Z                                      incomplet_Z=$_____IncompletOZ                                          \  #
#20140928102559____:$Z                                      standardA=FAUX                                                         \  #
#20140928102559____:$Z                                      standardR=VRAI                                                         \  #
#20140928102559____:$Z                                      premiere=$cPremiere                                                    \  #
#20140928102559____:$Z                                      inverser_Z=FAUX                                                        \  #
#20140928102559____:$Z                                      Zmin=`calcul $cPremiere-$cPremiere`                                    \  #
#20140928102559____:$Z                                      Zmax=`calcul $cDerniere-$cPremiere`                                    \  #
#20140928102559____:$Z                                      binariser=VRAI                                                         \  #
#20140928102559____:$Z                                      Fseuil=$_____Fseuil                                                    \  #
#20140928102559____:$Z                                      ROTATION_OX=$_____ORotationX                                           \  #
#20140928102559____:$Z                                      ROTATION_OY=$_____ORotationY                                           \  #
#20140928102559____:$Z                                      ROTATION_OZ=$_____ORotationZ                                           \  #
#20140928102559____:$Z                                      inverser_rotations=$_____IORotations                                   \  #
#20140928102559____:$Z                                      interpoler=$_____InterpolerO lineaire=$_____LineaireO                  \  #
#20140928102559____:$Z                                      detecteur_vide=$_____DetecteurVide                                     \  #
#20140928102559____:$Z                                      attenuation_ombre=$_____AttenuationOmbre                               \  #
#20140928102559____:$Z                                      slx=$_____SourceX sly=$_____SourceY slz=-$_____SourceZ                 \  #
#20140928102559____:$Z                                      R=$_____ImageTo.                                                       \  #
#20140928102559____:$Z                                                                                                       $formatI #

#20140929120538____:$Z                  $xci/ombrage.11$X                                                                          \  #
#20140929120538____:$Z                                      A=$_____ImageTd.                                                       \  #
#20140929120538____:$Z                                      incomplet_Z=$_____IncompletOZ                                          \  #
#20140929120538____:$Z                                      standardA=$_____Standard                                               \  #
#20140929120538____:$Z                                      standardR=VRAI                                                         \  #
#20140929120538____:$Z                                      premiere=$cPremiere                                                    \  #
#20140929120538____:$Z                                      inverser_Z=FAUX                                                        \  #
#20140929120538____:$Z                                      Zmin=`calcul $cPremiere-$cPremiere`                                    \  #
#20140929120538____:$Z                                      Zmax=`calcul $cDerniere-$cPremiere`                                    \  #
#20140929120538____:$Z                                      binariser=VRAI                                                         \  #
#20140929120538____:$Z                                      Fseuil=$_____Fseuil                                                    \  #
#20140929120538____:$Z                                      ROTATION_OX=$_____ORotationX                                           \  #
#20140929120538____:$Z                                      ROTATION_OY=$_____ORotationY                                           \  #
#20140929120538____:$Z                                      ROTATION_OZ=$_____ORotationZ                                           \  #
#20140929120538____:$Z                                      inverser_rotations=$_____IORotations                                   \  #
#20140929120538____:$Z                                      interpoler=$_____InterpolerO lineaire=$_____LineaireO                  \  #
#20140929120538____:$Z                                      detecteur_vide=$_____DetecteurVide                                     \  #
#20140929120538____:$Z                                      attenuation_ombre=$_____AttenuationOmbre                               \  #
#20140929120538____:$Z                                      slx=$_____SourceX sly=$_____SourceY slz=-$_____SourceZ                 \  #
#20140929120538____:$Z                                      R=$_____ImageTo.                                                       \  #
#20140929120538____:$Z                                                                                                       $formatI #

#20170819105630____:$Z                  $xci/ombrage.11$X                                                                          \  #
#20170819105630____:$Z                                      A=$_____ImageTd.                                                       \  #
#20170819105630____:$Z                                      incomplet_Z=$_____IncompletOZ                                          \  #
#20170819105630____:$Z                                      compatibilite_20140917=$_____Compatibilite_20140917                    \  #
#20170819105630____:$Z                                      standardA=$_____Standard                                               \  #
#20170819105630____:$Z                                      standardR=VRAI                                                         \  #
#20170819105630____:$Z                                      premiere=$cPremiere                                                    \  #
#20170819105630____:$Z                                      inverser_Z=FAUX                                                        \  #
#20170819105630____:$Z                                      Zmin=`calcul $cPremiere-$cPremiere`                                    \  #
#20170819105630____:$Z                                      Zmax=`calcul $cDerniere-$cPremiere`                                    \  #
#20170819105630____:$Z                                      binariser=VRAI                                                         \  #
#20170819105630____:$Z                                      Fseuil=$_____Fseuil                                                    \  #
#20170819105630____:$Z                                      ROTATION_OX=$_____ORotationX                                           \  #
#20170819105630____:$Z                                      ROTATION_OY=$_____ORotationY                                           \  #
#20170819105630____:$Z                                      ROTATION_OZ=$_____ORotationZ                                           \  #
#20170819105630____:$Z                                      inverser_rotations=$_____IORotations                                   \  #
#20170819105630____:$Z                                      interpoler=$_____InterpolerO lineaire=$_____LineaireO                  \  #
#20170819105630____:$Z                                      detecteur_vide=$_____DetecteurVide                                     \  #
#20170819105630____:$Z                                      attenuation_ombre=$_____AttenuationOmbre                               \  #
#20170819105630____:$Z                                      facteur_increment_lambda=$_____FactIncrLambda                          \  #
#20170819105630____:$Z                                      slx=$_____SourceX sly=$_____SourceY slz=-$_____SourceZ                 \  #
#20170819105630____:$Z                                      ValiderAxes=FAUX                                                       \  #
#20170819105630____:$Z                                      Progression=VRAI                                                       \  #
#20170819105630____:$Z                                      ChronometrerCommande=VRAI                                              \  #
#20170819105630____:$Z                                      $_____ParamOmbrage                                                     \  #
#20170819105630____:$Z                                      R=$_____ImageTo.                                                       \  #
#20170819105630____:$Z                                                                                                       $formatI #

$Z                  $xci/ombrage.11$X                                                                                                   \
$Z                                      A=$_____ImageTd.                                                                                \
$Z                                      ombrage=$_____Ombrage                                                                           \
$Z                                      incomplet_Z=$_____IncompletOZ                                                                   \
$Z                                      compatibilite_20140917=$_____Compatibilite_20140917                                             \
$Z                                      compatibilite_20170517=$_____Compatibilite_20170517                                             \
$Z                                      standardA=$_____Standard                                                                        \
$Z                                      standardR=VRAI                                                                                  \
$Z                                      premiere=$cPremiere                                                                             \
$Z                                      inverser_Z=FAUX                                                                                 \
$Z                                      Zmin=`calcul $cPremiere-$cPremiere`                                                             \
$Z                                      Zmax=`calcul $cDerniere-$cPremiere`                                                             \
$Z                                      binariser=VRAI                                                                                  \
$Z                                      Fseuil=$_____Fseuil                                                                             \
$Z                                      ROTATION_OX=$_____ORotationX                                                                    \
$Z                                      ROTATION_OY=$_____ORotationY                                                                    \
$Z                                      ROTATION_OZ=$_____ORotationZ                                                                    \
$Z                                      inverser_rotations=$_____IORotations                                                            \
$Z                                      interpoler=$_____InterpolerO lineaire=$_____LineaireO                                           \
$Z                                      detecteur_vide=$_____DetecteurVide                                                              \
$Z                                      attenuation_ombre=$_____AttenuationOmbre                                                        \
$Z                                      facteur_increment_lambda=$_____FactIncrLambda                                                   \
$Z                                      slx=$_____SourceX sly=$_____SourceY slz=-$_____SourceZ                                          \
$Z                                      ValiderAxes=FAUX                                                                                \
$Z                                      Progression=VRAI                                                                                \
$Z                                      ChronometrerCommande=VRAI                                                                       \
$Z                                      $_____ParamOmbrage                                                                              \
$Z                                      R=$_____ImageTo.                                                                                \
$Z                                                                                                            $formatI
$Z                                      # Le parametre "ValiderAxes=FAUX" a ete introduit le 20141126121039 afin de faciliter les     #
$Z                                      # tests a echelle reduite, ainsi que '$_____ParamOmbrage' le 20141126121317...                #
$Z                                      #                                                                                             #
$Z                                      # Le parametre "facteur_increment_lambda=$_____FactIncrLambda" a ete introduit le             #
$Z                                      # 20141203163752 dans le but de faire des tests de performance (et de fait, par exemple       #
$Z                                      # en doublant la valeur de '$_____FactIncrLambda' on divise pratiquement par 2 la duree de    #
$Z                                      # l'ombrage...                                                                                #
$Z                                      #                                                                                             #
$Z                                      #                                                                                             #
$Z                                      # Aux environs du 20150309120210, j'ai fait sur '$CMAP28' -ex "porte-brancion"- des           #
$Z                                      # mesures de performance en fonction des differents parametres pouvant agir sur elle.         #
$Z                                      # Elles utiliserent la generation de l'image 'v $xiirc/JULJ.U4.1' avec les arguments          #
$Z                                      # modifies suivants :                                                                         #
$Z                                      #                                                                                             #
$Z                                      #                   Pud                                                                       #
$Z                                      #                   SET       cDerniere=128                                                   #
$Z                                      #                                                                                             #
$Z                                      # Voici donc les resultats :                                                                  #
$Z                                      #                                                                                             #
$Z                                      #                   interpoler=FAUX interpoler_lineairement=VRAI AccelerateurFonctions=FAUX   #
$Z                                      #                                  time =  9.227u 0.272s 0:10.43 90.9%                        #
$Z                                      #                                                                                             #
$Z                                      #                   interpoler=VRAI interpoler_lineairement=VRAI AccelerateurFonctions=FAUX   #
$Z                                      #                                  time = 19.074u 0.325s 0:20.31 95.4%                        #
$Z                                      #                                                                                             #
$Z                                      #                   interpoler=VRAI interpoler_cubiquement=VRAI  AccelerateurFonctions=FAUX   #
$Z                                      #                                  time = 32.325u 0.315s 0:33.59 97.1%                        #
$Z                                      #                                                                                             #
$Z                                      #                                                                                             #
$Z                                      #                   interpoler=FAUX interpoler_lineairement=VRAI AccelerateurFonctions=VRAI   #
$Z                                      #                                  time = 11.983u 0.286s 0:13.20 92.8%                        #
$Z                                      #                                                                                             #
$Z                                      #                   interpoler=VRAI interpoler_lineairement=VRAI AccelerateurFonctions=VRAI   #
$Z                                      #                                  time = 21.818u 0.285s 0:22.96 96.2%                        #
$Z                                      #                                                                                             #
$Z                                      #                   interpoler=VRAI interpoler_cubiquement=VRAI  AccelerateurFonctions=VRAI   #
$Z                                      #                                  time = 34.650u 0.323s 0:35.93 97.3%                        #
$Z                                      #                                                                                             #
$Z                                      #                                                                                             #
$Z                                      # Et l'on voit que l'accelerateur de fonctions est finalement PENALISANT contrairement a      #
$Z                                      # 'v $xiirc/.MANE.41.4.$U 20150309120210' ou il est benefique. Cela a donc conduit a la       #
$Z                                      # modification 'v $xci/ombrage.11$K 20150309143702'...                                        #
$Z                                      #                                                                                             #
$Z                                      # Le 20170519133201 furent introduites des aides permettant de savoir quelle charge           #
$Z                                      # represente ce calcul...                                                                     #
$Z                                      #                                                                                             #
$Z                                      # Le 20170819105630, la "compatibilite_20170517" a ete introduite car, en effet, dans le      #
$Z                                      # cas contraire, les resultats obtenus a l'aide de l'optimisation ne sont pas identiques      #
$Z                                      # a ce qu'ils sont sans optimisation ('v $xiii/di_album$FON 20170819110449').                 #
$Z                                      #                                                                                             #
$Z                                      # Le 20180124093324, l'option '$_____Ombrage' a ete introduite pour d'accelerer le processus  #
$Z                                      # lors de phases de mise au point d'une image...                                              #

$Z                  if                  ($_____ConvoluerOmbre == $EXIST) then
$Z                                      # Possibilite introduite le 20220220113836...                                                 #
$Z                                      set                 _____ImageToc=$_____ImageT1.oc

$Z                                      $xci/convol_3D.01$X                                                                             \
$Z                                                          A=$_____ImageTo.                                                            \
$Z                                                          standardA=$_____Standard                                                    \
$Z                                                          standardR=VRAI                                                              \
$Z                                                          premiere=$cPremiere                                                         \
$Z                                                          inverser_Z=FAUX                                                             \
$Z                                                          Zmin=`calcul $cPremiere-$cPremiere`                                         \
$Z                                                          Zmax=`calcul $cDerniere-$cPremiere`                                         \
$Z                                                          spherique=$_____ConvolutionSpherique                                        \
$Z                                                          sphere_maximale=VRAI                                                        \
$Z                                                          ddnX=$_____ConvolutionNoyau_X                                               \
$Z                                                          ddnY=$_____ConvolutionNoyau_Y                                               \
$Z                                                          ddnZ=$_____ConvolutionNoyau_Z                                               \
$Z                                                          $_____ParamConvolution                                                      \
$Z                                                          Progression=VRAI                                                            \
$Z                                                          ChronometrerCommande=VRAI                                                   \
$Z                                                          R=$_____ImageToc.                                                           \
$Z                                                                                                                      $formatI
$Z                                      # Le parametre "sphere_maximale=VRAI" a ete introduit le 20220221105820, en particulier, a    #
$Z                                      # cause du cas '_____ConvolutionNoyau_Z=0'...                                                 #

$Z                                      $xci/neutre_3D$X                                                                                \
$Z                                                          A=$_____ImageToc.                                                           \
$Z                                                          standardA=$_____Standard                                                    \
$Z                                                          standardR=VRAI                                                              \
$Z                                                          premiere=$cPremiere                                                         \
$Z                                                          inverser_Z=FAUX                                                             \
$Z                                                          Zmin=`calcul $cPremiere-$cPremiere`                                         \
$Z                                                          Zmax=`calcul $cDerniere-$cPremiere`                                         \
$Z                                                          R=$_____ImageTo.                                                            \
$Z                                                                                                                      $formatI
$Z                  else
$Z                  endif



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.