emath saloon

新規発言一覧最新記事過去一覧検索HOME

No.1155  コッホ雪辺の描画
発言者: 田中徹
発言日: 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

Pass 保存


CGIROOM