Fibonacci 数列で TikZ してみた
あべのりさんが [id:abenori:20120422] で、脱 Xy-pic 宣言をしていたので、ぼくも真似してみた。いや、ぼくの場合は、某職場以外で PSTricks を使わない宣言をしたほうがいいな(わら
今日の気分は…、
今日の気分は、目覚めからFibonacci numberなので、なんか #MathGirl テトラちゃんのピッピッピやな。あとで、なにか作ろう :)
2012-04-25 16:26:16 via web
なので、Fibonacci 数列を題材にしました。
ただ単に、Fibonacci 数列をそのまま出力するのはつまらないので、diagram にしてみました。まぁ、某数学分野の K 理論入門書などで、Bratteli diagram wikipedia:en:Bratteli_diagram としてしばしば見かける例だけど(汗
%#!lualatex fibdiag \documentclass{article} %\def\pgfsysdriver{pgfsys-dvipdfm.def} % for dvipdfmx \usepackage{tikz} \usetikzlibrary{arrows} \pagestyle{empty} \begin{document} \makeatletter \newcount\FibDiag@counter \newcount\FibDiag@temp \newcount\FibDiag@F \newcount\FibDiag@G \newcount\FibDiag@oldF \newcount\FibDiag@oldG \def\FibonacciDiagram#1{% \FibDiag@counter=#1 \FibDiag@temp=\z@ \FibDiag@oldF=\@ne \FibDiag@oldG=\z@ \FibDiag@F=\@ne \FibDiag@G=\@ne \begin{tikzpicture}[arrows={->},auto] \node (F1) {1}; \node [right of=F1] (G0) {1}; \FibDiag@loop \end{tikzpicture} } \def\FibDiag@loop{% \let\FibDiag@next=\FibDiag@loop \FibDiag@temp=\FibDiag@F \FibDiag@F=\FibDiag@G \advance \FibDiag@G by \FibDiag@temp % \node [below of=F\the\FibDiag@F] (F\the\FibDiag@G) {\the\FibDiag@G}; \node [right of=F\the\FibDiag@G] (G\the\FibDiag@F) {\the\FibDiag@F}; \draw (F\the\FibDiag@oldF) -- (F\the\FibDiag@G); \draw (G\the\FibDiag@oldG) -- (F\the\FibDiag@G); \draw (F\the\FibDiag@F) -- (G\the\FibDiag@F); % \ifnum \FibDiag@counter=\z@ \let\FibDiag@next=\relax \else \FibDiag@oldF=\FibDiag@G \FibDiag@oldG=\FibDiag@F \advance \FibDiag@counter by \m@ne \fi \FibDiag@next } \makeatother %\FibonacciDiagram{100} \FibonacciDiagram{10} \end{document}