SlideShare a Scribd company logo
1 of 48
Processingによる可視化と
装飾的模様生成の技法
巴山竜来 Tatsuki Hayama
数学ソフトウェアと
フリードキュメントXXVIII
March 16, 2019
数学から創るジェネラティブアート
Processingで学ぶかたちのデザイン
技術評論社 2019年4月17日発売
第I部 数
1. ユークリッド互除法
2. 連分数
3. フィボナッチ数列
4. 対数らせん
5. フェルマーらせん
6. 合同な数
7. セルオートマトン
第II部 タイリング
8. 行列の織りなす模様
9. 正多角形の対称性
10. 正多角形によるタイリング
11. 正則タイリングの変形
12. 周期性と対称性を持つ模様
13. 周期タイリング
14. 準周期タイリング
Processingとは
• JAVAをグラフィックスに特化し簡易化したプロ
グラミング言語
• プログラミング環境構築が容易
• オープンソースプロジェクト
• JavaScript版p5.jsなどwebへの応用が効く
図形の描画
ellipse() rect() bezier()
線形変換
scale() rotate() translate()
1. 平面タイリング
定義 𝑇𝑖 𝑖 ∈ 𝐼} が以下を満たすとき、(平面)タイリング
と呼ぶ
• 𝐼は可算無限添字集合
• 𝑖∈𝐼 𝑇𝑖 = ℝ2
• すべてのタイル𝑇𝑖は連結コンパクト
• タイルどうしは境界で接する
• 平面タイリングの合同変換群が2方向の格子を部
分群として含むとき、周期タイリングと呼ばれる
• 周期タイリングの合同変換群(壁紙群)は17種類に
分類できる
1.1 周期タイリング
正則タイリング
• 1種類の正多角形タイルによるタイリングを正則
タイリングと呼ぶ
• 正則タイリング可能な正𝑛角形は𝑛 = 3,4,6に限ら
れる
正方格子六角格子
正方形/正六角形タイリングの実装
1. 格子を張るベクトルをつくる
2. 正方形/正六角形タイルをつくる
3. 格子に従ってタイルを並べる
正三角形タイリングの実装
1.正三角形タイル6つを正六角形に並べたグルー
プをつくる
2.正六角形グループを六角格子に従って並べる
タイリングの双対性
正三角形
頂点
辺
面
正六角形
面
辺
頂点
シュレーフリ記号
(36
) (63
)
半正則タイリング
• 2種類以上の正多角形によるタイリングを半正則
タイリングと呼ぶ
• 半正則タイリングは8種類に限られる
By Tomruen - Own work, CC BY-SA 4.0,
三角形と正方形によるタイリング
正方形の分割 鏡映変換によるコピー
三角形と正方形によるタイリングの実装
1. 正方形タイルを分割する
2. 分割した正方形タイルを鏡
映コピーし,正方形に並べ
たグループをつくる
3. 正方形グループを正方格子
に従って並べる
合同変換群の構造
壁紙群p4g
• 正方格子
• 90°回転
• 2方向の鏡映
• 4方向のすべり鏡映
双対五角形タイリング
等面(isohedral)タイリング
1枚のタイルを固定すれば,
合同変換群による軌道から
タイリングが得られる
双対等面タイリング
• 半正則タイリングの双対によって得られる等面タ
イリングはLavesタイリングと呼ばれる
By Tomruen - Own work, CC BY-SA 4.0,
等面タイリング:タイル張り
等面タイリングの変形
等面タイリングの変形
等面タイリング:M. C. Escher
M.C. Escher's “Symmetry Drawing E02”
no image
等面タイリングの変形
pgg
等面タイリング
• 等面タイリングは正則タイリング、またはLaves
タイリングのどれかと同相(Grünbaum-
Shephard)
• 辺の変形は93種類に分類できる(Grünbaum-
Shephard)
• 頂点の移動による変形は43種類に分類できる
(Kaplan)
等面タイリングの変形の実装
IH01
1. 正六角形タイルの辺をラ
ベル付け
2. 辺の接合を保つようにタ
イルを変形
3. 六角格子に従ってタイリ
ング
IH01タイリング
ピタゴラスタイリング
•2種類の正方形によるタイリング(non-edge-to-edge)
No machine-readable author provided. Roger McLassus 1951 assumed (based on copyright claims). [CC BY-SA 3.0]
ピタゴラスタイリング
1.2 準周期タイリング
• 周期性を持たないタイリングを非周期タイリング
と呼ぶ
• ある種の「おもしろい」特性を持つ非周期タイリ
ングを準周期タイリングと呼ぶ
おもしろくない非周期タイリング
フィボナッチチェイン
• 1次元のタイリングは直線を区間のあつまりと見た鎖
(チェイン)であり、記号列(ワード)と見なせる
• {A, B}を次のルールで置き換える
• A→AB
• B→A
A→AB→ABA→ABAAB→ABAABABA→…
このワードは周期性を持たず、A(またはB)の個数はフィ
ボナッチ数列をなす
Cut and Projection Scheme
• 黄金比のピタゴラスタイリン
グの切断面としてフィボナッ
チチェインがあらわれる
• ある種の準周期タイリングは
高次元格子の切断と射影から
つくることができる
ペンローズタイリング
• 黄金三角形の置き換えルール
ペンローズタイリング
ペンローズタイリング
カイト&ダート
ペンローズタイリング
ひし形
ペンローズタイリングの実装
1. 黄金三角形の分割と描画に関する関数を定義
2. 分割と描画の再帰呼び出し
2. 装飾的パターン
平面上の周期的な模様: 万華鏡
p3m1
p3m1パターン模様の生成
1. 正三角形基本領域上の模様をつくる
2. 点群𝐷3に従って模様をコピーし,正六角形上の模
様をつくる
3. 模様付き正六角形を六角格子に従ってコピーする
p3m1パターン模様
p3m1パターン模様
ペンローズタイリング上の模様
ペンローズタイリングの頂点
Geometry guy at English Wikipedia [CC BY-SA 3.0]

More Related Content

What's hot

整数計画法に基づく説明可能性な機械学習へのアプローチ
整数計画法に基づく説明可能性な機械学習へのアプローチ整数計画法に基づく説明可能性な機械学習へのアプローチ
整数計画法に基づく説明可能性な機械学習へのアプローチKentaro Kanamori
 
RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例MicroAd, Inc.(Engineer)
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方ychtanaka
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイするTakayuki Itoh
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有Naoaki Okazaki
 
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15Yoichi Ochiai
 
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日Yoichi Ochiai
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive Estimation[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive EstimationMakoto Takenaka
 
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方Shun Nukui
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択kazutantan
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案Masanori Kado
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3までYahoo!デベロッパーネットワーク
 
大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリアTakayuki Itoh
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底Hiromi Ishii
 
ggplot2をつかってみよう
ggplot2をつかってみようggplot2をつかってみよう
ggplot2をつかってみようHiroki Itô
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1matsuolab
 
研究の基本ツール
研究の基本ツール研究の基本ツール
研究の基本ツール由来 藤原
 

What's hot (20)

整数計画法に基づく説明可能性な機械学習へのアプローチ
整数計画法に基づく説明可能性な機械学習へのアプローチ整数計画法に基づく説明可能性な機械学習へのアプローチ
整数計画法に基づく説明可能性な機械学習へのアプローチ
 
RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
 
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive Estimation[研究室論文紹介用スライド] Adversarial Contrastive Estimation
[研究室論文紹介用スライド] Adversarial Contrastive Estimation
 
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 
大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
 
ggplot2をつかってみよう
ggplot2をつかってみようggplot2をつかってみよう
ggplot2をつかってみよう
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
 
研究の基本ツール
研究の基本ツール研究の基本ツール
研究の基本ツール
 

Processingによる可視化と装飾的模様生成の技法