[pstricks] psRandom (PSTricks-add command) and Beamer overlays

Christoph Bersch usenet at bersch.net
Wed Sep 19 15:20:14 CEST 2012

Am 19.09.2012 13:09, schrieb Christian Häger:
> consider the following minimal example, where the \psRandom command
> is used to draw random points on a slide, together with an overlay.
> The effect is that on the second slide, where the overlay appears,
> the random points are changing.

A rather small change in the \psRandom at iii definition would allow to set 
a fixed seed or not (with a new parameter randomSeed).
randomSeed=0 retains the current behaviour, using any other integer 
fixes the seed:

\define at key[psset]{pstricks-add}{randomSeed}[0]{\pst at checknum{#1}\psk at randomSeed}
\def\psRandom at iii(#1)(#2)#3{%
   \def\pst at tempA{#3}%
   \ifx\pst at tempA\pst at empty\psclip{\psframe(#2)}\else\psclip{#3}\fi
   \pst at getcoor{#1}\pst at tempA
   \pst at getcoor{#2}\pst at tempB
   \begin at SpecialObj
   \addto at pscode{
     \pst at tempA\space /yMin exch def
     /xMin exch def
     \pst at tempB\space /yMax exch def
     /xMax exch def
     /dy yMax yMin sub def
     /dx xMax xMin sub def
     % changed the following line
     \psk at randomSeed\space cvi dup 0 eq { pop rrand } if srand
     /getRandReal { rand 2147483647 div } def
     \psk at dotsize % defines /DS ... def
     \@nameuse{psds@\psk at dotstyle}
     \psk at randomPoints {
      \ifPst at color getRandReal getRandReal getRandReal setrgbcolor \fi
      getRandReal dx mul xMin add
      getRandReal dy mul yMin add
      \ifx\psk at fillstyle\psfs at solid fill \fi stroke
     } repeat
   \end at SpecialObj

\begin{frame}\frametitle{old behaviour}
   \uncover<2>{I am an overlay}

\begin{frame}\frametitle{fixed seed}
     \psRandom[randomPoints=100, randomSeed=1](0,0)(5,5)%
   \uncover<2>{I am an overlay}


More information about the PSTricks mailing list