emath saloon (Read Only)

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

スレッド

└◇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