▼スレッド
│
└◇143:Re:タイリング^^ [田中徹] 11/17 21:09
├◇144:Re[2]:タイリング^^ [kaji] 11/18 01:21
├◇146:Re[2]:タイリング^^ [田中徹] 11/18 13:31
└◇147:Re[2]:タイリング^^ [dualignited] 11/18 14:49<-last
143● Re:タイリング^^[ 田中徹 ] 2006 11/17 21:09
> 大学の授業でタイリングについて研究しているのですが,
> なんだかきれいなタイリングに仕上がったので
> 見てもらおうと持って来ましたw
タイリングの定義にもよりますが
合同なタイルでないと面白くないのではないですか???
# 私の20年以上前の卒業研究ではそうだったはず
ゼミでは George E.Martin Transformation Geometry
卒業後に TILING AND PATTERNS を購入
次のソースは 丸善 「ペンローズ・タイルと数学パズル」 一松 信 氏訳 の
p.3 にある合同な形による非周期的なタイル張りです。
時間がないので2重ループにしてありません。m(_)m
> やっぱりemathはすごいなぁ
同感
\documentclass[a4j]{jarticle}
\usepackage[papersize]{emathP}
\pagestyle{empty}
\setlength{\paperwidth}{210mm}
\setlength{\paperheight}{297mm}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-22mm}
\setlength{\textheight}{\paperheight}
\addtolength{\textheight}{-30mm}
\setlength{\leftmargin}{0mm}
\setlength{\oddsidemargin}{-12mm}
\setlength{\topmargin}{-10mm}
\setlength{\headsep}{0mm}
\setlength{\parindent}{0zw}
\setlength{\columnsep}{12mm}
\setlength{\columnseprule}{0.1mm}
%\setlength{\mathindent}{0mm}
\makeatletter%
\def\DrawTriC#1#2{%
\Add{#2}{15}\@LAngle%
\Sub{#2}{15}\@RAngle%
\rtenretu*[#1]{@R(1,\@RAngle);@L(1,\@LAngle)}%
\Takakkei{#1\@R\@L}%
}%
\def\DrawTriR#1#2{%
\Add{#2}{30}\@LAngle%
\Sub{#2}{0}\@RAngle%
\rtenretu*[#1]{@R(1,\@RAngle);@L(1,\@LAngle)}%
\Takakkei{#1\@R\@L}%
}%
\def\DrawTriL#1#2{%
\Add{#2}{0}\@LAngle%
\Sub{#2}{30}\@RAngle%
\rtenretu*[#1]{@R(1,\@RAngle);@L(1,\@LAngle)}%
\Takakkei{#1\@R\@L}%
}%
\def\DrawTriV#1#2#3{%
\Add{#3}{15}\@LAngle%
\Sub{#3}{15}\@RAngle%
\rtenretu*[#1]{@R(#2,\@RAngle);@L(#2,\@LAngle)}%
\Bunten\@R\@L{1}{1}\@M%
\DrawTriC{\@M}{#3}%
}%
\makeatother%
\begin{document}
\def\UniLen{10mm}%
\begin{zahyou*}[ul=\UniLen](-4,4)(-4,4){}%
\def\O{(0,0)}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1番内側の 12個
\def\Angle{-15}%
\Ifor\Cnt{0}{12}\Do{%
\Add\Angle{30}\Angle%
\DrawTriC\O{\Angle}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2番内側の 24個 (12個は描画なし)
\def\Angle{-30}%
\Ifor\Cnt{0}{12}\Do{%
\Add\Angle{30}\Angle%
\rtenretu*[\O]{C(1,\Angle)}%
\DrawTriR\C{\Angle}%
\DrawTriL\C{\Angle}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3番内側の 36個 (24個は描画なし)
\def\Angle{-30}%
\def\CAngle{-15}%
\Ifor\Cnt{0}{12}\Do{%
\Add\Angle{30}\Angle%
\Add\CAngle{30}\CAngle%
\rtenretu*[\O]{C(2,\Angle)}%
\DrawTriR\C{\Angle}%
\DrawTriL\C{\Angle}%
\rtenretu*[\O]{C(2,\CAngle)}%
\DrawTriV\O{2}{\CAngle}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4番内側の 36個 (24個は描画なし)
\def\Angle{-30}%
\Ifor\Cnt{0}{12}\Do{%
\Add\Angle{30}\Angle%
\Add\Angle{15}\CAngle%
\Add\Angle{30}\RotAngle%
\rtenretu*[\O]{C(3,\Angle)}%
\DrawTriR\C{\Angle}%
\DrawTriL\C{\Angle}%
\rtenretu*[\O]{C(2,\Angle)}%
\rtenretu*[\C]{P(1,\RotAngle)}%
\DrawTriC\P{\CAngle}%
\rtenretu*[\O]{C(1,\Angle)}%
\rtenretu*[\C]{P(2,\RotAngle)}%
\DrawTriC\P{\CAngle}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{zahyou*}%
\end{document}
スレッド一覧
144● Re[2]:タイリング^^[ kaji ] 2006 11/18 01:21
dualignitedさん,田中徹さん,お二人の作品とても
綺麗でした.ただただ関心しました.
ありがとうございmす.
それにつけてもemathの潜在能力の高さには改めて驚きます.
ところで,素人にもわかるタイリング入門サイトなどご存知
であればお教え下さいませんか?
スレッド一覧
146● Re[2]:タイリング^^[ 田中徹 ] 2006 11/18 13:31
開始角や分割数、描画の中心など指定できるようループ処理しました。
(相変わらずの粘着質m(__)m)
今回はすべての三角形を描画しています。
時間的に余裕ができたらカイトとダーツに挑戦したいとも思いますが
いつのことになるやら...です。
\documentclass[a4j]{jarticle}
\usepackage[papersize]{emathP}
\usepackage{emathPa}
\pagestyle{empty}
\begin{document}
\def\UniLen{8mm}%
\makeatletter%
\def\DrawTri#1#2{%
\Add{#1}{1}\IncX%
\Sub{#1}{1}\DecX%
\Add{#2}{1}\IncY%
\Sub{#2}{1}\DecY%
\azNuritubusi[0]{(#1,#2)(\IncX,#2)(#1,\IncY)(#1,#2)}%
\azDrawline{(#1,#2)(\IncX,#2)(#1,\IncY)(#1,#2)}%
}%
\def\DrawTriRe#1#2{%
\Add{#1}{1}\IncX%
\Sub{#1}{1}\DecX%
\Add{#2}{1}\IncY%
\Sub{#2}{1}\DecY%
\azNuritubusi[0.2]{(#1,#2)(#1,\IncY)(\DecX,\IncY)(#1,#2)}%
\azDrawline{(#1,#2)(#1,\IncY)(\DecX,\IncY)(#1,#2)}%
}%
\makeatother%
\begin{zahyou*}[ul=\UniLen](-6,6)(-6,6){}%
%%%%%%%%%%%%%%%%%%%%%%%%
\def\開始角{0}%
\def\終了角{360}%
\def\分割数{14}%
\def\中心点{(0,0)}%
\def\環数{5}%
%%%%%%%%%%%%%%%%%%%%%%%%
\Sub\終了角\開始角\描画角%
\Div\描画角\分割数\頂角%
\Ifor\Cnt{0}{\分割数}\Do{%
\calcval{\開始角+(\頂角*\Cnt)}\方向x%
\Add\方向x\頂角\方向y%
\rtenretu*{Ex(1,\方向x);Ey(1,\方向y)}%
\begin{azahyou}[\中心点]\Ex\Ey{}%
\Ifor\Ring{0}\環数\Do{%
\Add\Ring{1}\IncRing
\Ifor\X{0}\IncRing\Do{%
\Sub\Ring\X\Y
%\azkousi{3}{3}
\DrawTri{\X}{\Y}%
\ifnum\X=0\relax\else%
\DrawTriRe{\X}{\Y}%
\fi%
}% end of X
}% end of Ring
\end{azahyou}%
}
\end{zahyou*}
\begin{zahyou*}[ul=\UniLen](-6,6)(-6,6){}%
%%%%%%%%%%%%%%%%%%%%%%%%
\def\開始角{0}%
\def\終了角{180}%
\def\分割数{6}%
\def\中心点{(0,0)}%
\def\環数{5}%
%%%%%%%%%%%%%%%%%%%%%%%%
\Sub\終了角\開始角\描画角%
\Div\描画角\分割数\頂角%
\Ifor\Cnt{0}{\分割数}\Do{%
\calcval{\開始角+(\頂角*\Cnt)}\方向x%
\Add\方向x\頂角\方向y%
\rtenretu*{Ex(1,\方向x);Ey(1,\方向y)}%
\begin{azahyou}[\中心点]\Ex\Ey{}%
\Ifor\Ring{0}\環数\Do{%
\Add\Ring{1}\IncRing
\Ifor\X{0}\IncRing\Do{%
\Sub\Ring\X\Y
%\azkousi{3}{3}
\DrawTri{\X}{\Y}%
\ifnum\X=0\relax\else%
\DrawTriRe{\X}{\Y}%
\fi%
}% end of X
}% end of Ring
\end{azahyou}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%
\def\開始角{180}%
\def\終了角{360}%
\def\分割数{6}%
\def\中心点{(2,0)}%
\def\環数{5}%
%%%%%%%%%%%%%%%%%%%%%%%%
\Sub\終了角\開始角\描画角%
\Div\描画角\分割数\頂角%
\Ifor\Cnt{0}{\分割数}\Do{%
\calcval{\開始角+(\頂角*\Cnt)}\方向x%
\Add\方向x\頂角\方向y%
\rtenretu*{Ex(1,\方向x);Ey(1,\方向y)}%
\begin{azahyou}[\中心点]\Ex\Ey{}%
\Ifor\Ring{0}\環数\Do{%
\Add\Ring{1}\IncRing
\Ifor\X{0}\IncRing\Do{%
\Sub\Ring\X\Y
%\azkousi{3}{3}
\DrawTri{\X}{\Y}%
\ifnum\X=0\relax\else%
\DrawTriRe{\X}{\Y}%
\fi%
}% end of X
}% end of Ring
\end{azahyou}%
}%
\end{zahyou*}%
\end{document}
スレッド一覧
147● Re[2]:タイリング^^[ dualignited ] 2006 11/18 14:49
> タイリングの定義にもよりますが
今研究しているのは,準周期タイリングです^^
なので,図形は二等辺三角形2種類と,あとは普通の三角形です^^
3種類で構成されてますが,ダンザータイリング
っていう名前だったと思われます^^;
書籍の名前にも出てきたとおり,ペンローズの方もやってます^^
自分は幾何学を統計的に攻めてみたくて,ランダムウォークと絡めて
研究していっています^^
あれです,酔っ払いの歩くルールみたいなもので知って・・ますか?w
というか,自分はemathの既存のコマンド等を使ってしか図形を描いたこと
ないので,TeXの中の@付きのコマンドとかほとんど知りませんw
だからループとかわかんねーww
その点,ソースを解読してみたいと思います^^
styファイル作る技術とかは自分にはないけど,自分なりにループとか理解して
みたいと思いますw
自分が書いたへっぽこタイリングの話題を拡張してくれて;゜+.゜Special(`・ω・´)b゜Thanks+.゜;!!
スレッド一覧
CGIROOM