dimanche 27 janvier 2019

Nouvelle version de pst-marble 1.1

La nouvelle version de pst-marble (1.1) est disponible sur le serveur du CTAN :
Les changements sont décrits dans le fichier : CHANGES-1.md
Cette version est incompatible avec la précédente car Aubrey Jaffer a simplifié l'écriture des commandes de base des actions, en a renommé certaines et ajouté de nouvelles, ceci afin de permettre à tous les éventuels utilisateurs, en particulier à ceux qui ne sont pas familiers du langange postscript, d'expérimenter sans difficulté la simulation de la création de papiers marbrés avec ce package.

Cependant les exemples créés avec la version précédente sont aisément adaptables. La superbe documentation écrite par Gilg Juergen reprend tous les exemples de la version 1.0, vous pourrez constater que les commandes sont maintenant plus simples à écrire, d'autres exemples sont inclus en supplément de la documentation.
Juergen Gilg a réalisé une animation au format SVG  en utilisant le package animate d'Alexander Grahn :

Voici 3 exemples qui sont sur le CTAN et dont j'ai rajouté une commande pour inverser les couleurs originales dans deux d'entre eux.

\documentclass[pstricks]{standalone}
\usepackage{pst-marble}
\begin{document}
\begin{pspicture}(-5,-5)(5,5)
\psMarble[
colors={
  [0.176 0.353 0.129]
  [0.635 0.008 0.094]
  [0.078 0.165 0.518]
  [0.824 0.592 0.031]
  [0.059 0.522 0.392]
  [0.816 0.333 0.475]
},
actions={
      0    0 600 colors 4 get drop
   -200  -90 100 colors 5 get drop
   -200 -200 200 colors 0 get drop
   -200  200 200 colors 1 get drop
    200 -200 200 colors 2 get drop
    200  200 200 colors 3 get drop
% Commenting vortex gives a fine result ...
  0 0 -32e3 750 vortex
  250 0 [ 120 80 ] 20 -100 20 stir
   0 -500 850 -30 15 colors 2 get 5 50 arc-drops
   0 -500 840 -30 16 colors 1 get 5 50 arc-drops
   0 -500 850 -30 15 colors 5 get 5 50 arc-drops
   0    0 150   0 15 10 [105 160 99] 35 20 spiral-drops
}]
\psMarble[drawcontours,linewidth=0.2,bckg=false,
actions={
      0    0 600 [0 0 0] drop
   -200  -90 100 [0 0 0] drop
   -200 -200 200 [0 0 0] drop
   -200  200 200 [0 0 0] drop
    200 -200 200 [0 0 0] drop
    200  200 200 [0 0 0] drop
  0 0 -32e3 750 vortex
  250 0 [ 120 80 ] 20 -100 20 stir
   0 -500 850 -30 15 [0 0 0] 5 50 arc-drops
   0 -500 840 -30 16 [0 0 0] 5 50 arc-drops
   0 -500 850 -30 15 [0 0 0] 5 50 arc-drops
   0    0 150   0 15 10 [0 0 0] 35 20 spiral-drops
}]
\end{pspicture}
\end{document}

\documentclass[pstricks]{standalone}
\usepackage{pst-marble}
\begin{document}
\pstVerb{
/inverse-color {
    /rgb exch def
    [ rgb {1 exch sub } forall ]
} bind def }%
\begin{pspicture}(-6,-6)(6,6)
\psMarble[
          viscosity=-1000,bckg=false,
colors={
  [0.176 0.353 0.129] inverse-color
  [0.635 0.008 0.094] inverse-color
  [0.078 0.165 0.518] inverse-color
  [0.824 0.592 0.031] inverse-color
  [0.059 0.522 0.392] inverse-color
  [0.816 0.333 0.475] inverse-color
},
actions={ 1.2 1.2 scale
  0 0 35 colors 35 concentric-rings
  0 350 shift
  180 [ 20 50 25 tines ] 40 200 31 rake
  90 {0.75 mul sin -120 mul} wiggle
  180 [ 3 600 -150 tines ] 40 200 31 rake
  90 {0.75 mul sin 240 mul} wiggle
  180 [ 3 600 150 tines ] 40 200 31 rake
  90 {0.75 mul sin -120 mul} wiggle
}]
\end{pspicture}
\end{document}

\documentclass[pstricks]{standalone}
\usepackage{pst-marble}
\begin{document}
\begin{pspicture}(-5,-7)(5,7)
\pstVerb{
/inverse-color {
    /rgb exch def
    [ rgb {1 exch sub } forall ]
} bind def }%
\psMarble[
      colors={
[0.98 0.89 0.56]   inverse-color
[0.357 0.525 0.13] inverse-color
[0.2 0.05 0.015]   inverse-color
[0.07 0.41 0.255]  inverse-color
[0.87 0.63 0.051]  inverse-color
[0.98 0.89 0.56]   inverse-color
},
    actions={
0 100 50 colors 25  concentric-rings
 /signe 1 def
  100 100 1000 {/radius exch def
  0 0 [radius] 10 60 signe mul 50 stir
    /signe signe neg def
    } for
     90 [ 7 200 200 tines ] 40 200 31 rake
    -90 [ 7 200 100 tines ] 40 200 31 rake
     0 {2 mul sin 20 mul} wiggle
   }](10,14)
\end{pspicture}
\end{document}



1 commentaire: