数学から創るジェネラティブアート
スウガク カラ ツクル ジェネラティブ アート
Processing で学ぶかたちのデザイン
- 著者:
- 巴山竜来(ハヤマ, タツキ)
- 出版社:
- 技術評論社
- 出版日:
- 2019年05月
- ISBN:
- 9784297104634
- 在庫:
- 在庫あり
なぜ注目されているか
技書の森解説
『数学から創るジェネラティブアート』 (巴山竜来 著、技術評論社、2019 年 4 月 17 日発売) は、ジェネラティブアートの作品を実際に作りながら、その発想の元になる数学の知識と視覚表現を学ぶ本です。副題は「Processing で学ぶかたちのデザイン」で、作品づくりの道具に Processing を使います。版元は読者として、数学の美術的側面をコンピューターを使って体感したい人と、これまでアートに取り組んだことのないプログラマーの 2 つを挙げています。
数の部とタイリングの部、第 0 章から第 14 章の構成
本文は「第 0 章 導入」のあと 2 つの部に分かれます。「第 I 部 数:+-×÷がつくるかたち」は第 1 章「ユークリッド互除法」から第 7 章「セルオートマトン」までで、その間に連分数、フィボナッチ数列、対数らせん、フェルマーらせん、合同な数の章が並びます。「第 II 部 タイリング: 対称性・周期性・双対性・再帰性がつくるかたち」は第 8 章「行列の織りなす模様」から第 14 章「準周期タイリング」までで、正多角形の対称性とタイリング、エッシャーの技法とフラクタルタイリングを含む正則タイリングの変形、万華鏡、ピタゴラスタイリング、黄金三角形とペンローズタイリングへ進みます。冒頭には序文と本書の技法を応用した作品事例が、2 つの部の間には 3D グラフィックスの作品事例が置かれています。
規則から形を生む技法と数学の関係
ジェネラティブアートは、図形を一つずつ描く代わりに、図形を生む手順をコードに書いてコンピューターに実行させ、その結果を作品とする表現です。本書では、数学の定義や規則を、図形を生む手順の素材にします。たとえば 2 つの整数の最大公約数を求める手順は紀元前から知られる アルゴリズム で、長方形から正方形を切り取っていく操作として図に描けます。関数が自分自身を呼び出す 再帰 を使えば、同じ切り分けを小さな区画へ繰り返し適用でき、自己相似な図形を少ない行数で得られます。平面を同じ形で隙間なく埋めるタイリングも、回転や鏡映でどの形が重なるかという対称性の問題として扱えるため、数式で書いた規則がそのまま模様の設計図になります。
数学の美術的側面に関心のある人とアート未経験のプログラマーへ
刊行時の版元のプロフィールでは、著者は専修大学経営学部准教授、博士 (理学) で、専門は数学 (とくに複素幾何学) と数学に関する視覚表現の実践とされ、2016 年から雑誌『数理科学』 (サイエンス社) の表紙 CG を担当していると紹介されています。目次は数とタイリングの 2 部で組まれており、乱数や物理シミュレーションを題材にした章はありません。
連分数、セルオートマトン、エッシャーの技法、ペンローズタイリングといった題材を自分のコードで描きながら理解したい人と、アートに取り組んだことのないプログラマーに向けた、数学と Processing の作品づくりを結びつける本です。
言及した記事 (4 件)
この本に興味がある方におすすめ
関連する本
関連記事
機械学習に必要な数学の本ガイド - 「どこまでやるか」で選ぶ 3 レベル
機械学習 / ディープラーニングに必要な数学を学ぶ本の選び方を 3 レベル (数式アレルギーの解消 → 機械学習で使う数学だけ → 数理を体系的に) で整理。学び直しの範囲を絞り、挫折せずに必要十分な数学を身につけるルートを解説します。
機械学習 / ディープラーニング本ガイド - エンジニアが読むべき AI 技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルート、ディープラーニング本への進み方、ML 本の賞味期限の見極め方を解説します。
ディープラーニング本の選び方 - 原理 / 理論 / 実装 / 数学の 4 系統で整理 (2026 年 8 月時点)
ディープラーニング本の選び方を 4 系統 (原理を手で理解する本 / 理論を体系的に学ぶ本 / フレームワーク実装本 / 数学を補う本) に整理。2026 年 8 月時点の定番書を目的別 / レベル別に紹介し、賞味期限の見極め方も解説します。
関連用語
JavaScript
Web ブラウザーで動作する言語として生まれ、今やサーバーやアプリ開発まで担う汎用言語
TypeScript
JavaScript に型を書く手段を足した言語。構造的型付け、型が実行時に残らない仕組み、消せない構文と型定義ファイルの扱いを解説
Null 安全性
null 参照エラーを型システムで防止し、null の可能性がある値を明示的に扱うプログラミング言語の機能
WebAssembly
ブラウザーでネイティブに近い速度でコードを実行するバイナリ命令形式
代数的データ型
直和型と直積型を組み合わせてデータを表現する型システムの概念
ESLint
JavaScript/TypeScript のコード品質と一貫性を自動検証する静的解析ツール