%% %% Ein Beispiel der DANTE-Edition %% %% 1. Auflage %% %% %% Copyright (C) 2013 Herbert Voss %% %% It may be distributed and/or modified under the conditions %% of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% %% See http://www.latex-project.org/lppl.txt for details. %% %% %% ==== % Show page(s) 1 %% %% \documentclass[]{exaarticle} \pagestyle{empty} \setlength\textwidth{352.81416pt} %StartShownPreambleCommands \usepackage{luamplib} \newsavebox\MPBox %StopShownPreambleCommands \begin{document} \begin{lrbox}{\MPBox} \begin{mplibcode} vardef randomwalk(expr C,wd,ht,n,l,f,r)=save A,B,a,b; pair A,B;a=0; draw ((wd,-ht)--(wd,ht)--(-wd,ht)--(-wd,-ht)--cycle) shifted C; A=C; for i=1 upto n: forever: b:=a*f+((uniformdeviate 2)-1)*180r; B:=A+l*(uniformdeviate 1)*dir(b); if (abs(xpart(B-C))>= wd) or (abs(ypart(B-C))>= ht): B:=A+l*(uniformdeviate 2)*dir(b+180); fi; exitif (abs(xpart(B-C))< wd) and (abs(ypart(B-C))< ht); endfor; draw A--B;A:=B;a:=b mod 360; endfor; enddef; beginfig(1) randomwalk(origin, 2cm,2cm,1000,10mm,0,1); randomwalk((5cm,0),2cm,2cm,3000, 4mm,1,0.3); endfig; \end{mplibcode} \end{lrbox} Text \fbox{\usebox\MPBox} Text \end{document}