発言者: 田中徹
発言日: 2013 11/29 11:20
皆様お久しぶりです。いかがお過ごしでしょうか。
さて、となりの教師が試験問題で、線分を1本1本コマンドを書いているのを見かねて
意地で作成しました。(お節介といわれているようですが)
今更ながら \emrlineto ・・・ なんてすてきなコマンド !!
エラー処理なしですが(\Depth を 5 にすると黙り込んでしまいます。)
「二分木」描画のワクワク感に浸れました。
%--------------------------------------
\documentclass[a4j]{jarticle}
\usepackage[papersize,notMy]{emathP}
\usepackage{emathC}
\pagestyle{empty}
\begin{document}
\def\L{0.3}% 1辺の長さ{×\unitlength}
\def\Depth{4} %再帰回数 [0-4]
%定数
\def\ConstKeiro{RLR}%定数
\EMedef\Keiro{LL}
\Ifor*\Cnt{1}\Depth\Do{%
\def\WorkStr{}%
\strlen\Keiro\KeiroL%
\Ifor*\I{1}\KeiroL\Do{%
\EMsubstr\Keiro\I{1}\Bunki%
\EMedefappend\WorkStr\ConstKeiro% RLR 追加
\EMedefappend\WorkStr\Bunki % 分岐 追加
}%
\EMedefappend\WorkStr\ConstKeiro% 最終 RLR 追加
\EMedef\Keiro{}%
\EMedefappend\Keiro\WorkStr%
}
\begin{zahyou*}[haiti=t,ul=4mm](-15,15)(-15,15)%
\def\A{240}%
\def\Left{L}
\strlen\Keiro\KeiroL
\calcval{\L*(3**(\Depth))/(1*(sqrt(3)))}\Hankei%
\emmoveto(0,0)
\emrmoveto[r](\Hankei,90)
\emrlineto[r](\L,\A)
\Ifor*\Cnt{1}{\KeiroL}\Do{%
\EMsubstr\Keiro\Cnt{1}\Bunki%
\ifx\Bunki\Left
\Addself\A{120}
\else
\Addself\A{-60}
\fi%
\emrlineto[r](\L,\A)
}%
\end{zahyou*}%
\end{document}
▼関連発言
│
└◆1155:コッホ雪辺の描画 [田中徹] 11/29 11:20
└◆1156:Re:コッホ雪片の描画 [tDB] 11/29 14:58
└◆1157:Re[2]:コッホ雪片の描画 [田中徹] 11/29 18:15<-last