Hello,
I was playing a bit with the Lindenmayer libary of PGF-CVS, and I
wanted to use it to create a Penrose P3 Tiling [1] (ideally,
something like this:
http://berteun.nl/tmp/penrose.pdf); for which
Wikipedia has an L-system. But, to make things fancier, I decided not
to wait until the whole path was constructed, but to stroke and fill
as soon as a ] was hit. In order to decide what to do, I used some
calculations, but \pgfmathparse appears to be able to disrupt the
coordinate transformations, because a single usage of it can make the
tiles appear quite misplaced.
The above hopefully explains why I would stroke the path in between.
The culprit appears to be \pgfmathparse{and(0>0,0<1)}, if I
remove the line, the picture comes out alright. Also, if I replace 0>0
by something which is true, like 1>0, the picture comes out alright.
The problem only occurs if the left hand side of the and is false (the
right hand side does not matter). This was as far as I was able to pin
down the problem. I tried to create a smaller example without a
Lindenmayer system, but I didn't succeed.
I also tried the latest CVS build on Kjells site (31-10-2008), which
still has the problem. I can work around it (and did to produce the
picture in the PDF), but it appears to be a bug to me.
Berteun
[1]
http://en.wikipedia.org/wiki/Penrose_tiling%%%
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{lindenmayersystems}
\begin{document}
\pgfdeclarelindenmayersystem{Penrose Tiling}{
\symbol{]}{
%Comment the next line, or replace 0>0 by 1>0 and the result is fine.
\pgfmathparse{and(0>0,0<1)}
\pgfusepath{stroke}
\pgflsystemrestorestate
}
\rule{A -> [7]++[7]++[7]++[7]++[7]}
\rule{6 -> 8F++9F----7F[-8F----6F]++}
\rule{7 -> +8F--9F[---6F--7F]+}
\rule{8 -> -6F++7F[+++8F++9F]-}
\rule{9 -> --8F++++6F[+9F++++7F]--7F}
\rule{F -> }
}
\begin{tikzpicture}
\path[use as bounding box] (-5,5) rectangle (5, 5);
\path[rotate=-18,lindenmayer system={Penrose Tiling, axiom=A,
order=2, angle=36, step=1cm}] lindenmayer system;
\end{tikzpicture}
\end{document}
%%%%
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
pgf-users mailing list
pgf-users@...
https://lists.sourceforge.net/lists/listinfo/pgf-users