堀川淳一郎(ほりかわ・じゅんいちろう)
明治大学大学院建築学修了後、米コロンビア大学AAD を修了。その後建築設計事務所のNoiz Architects で建築設計と建築やプロダクト、インスタレーションのアルゴリズミック・デザインやデザイン支援ツール制作などに携わる。2014年に石津優子氏とOrangeJellies というユニットを結成。現在は建築系プログラマーとして個人で活動中。プログラミングを介した建築やプロダクトのバーチャル、フィジカルを問わない造形デザイン・シミュレーションを中心に、プラットフォームを問わないソフトウェア開発等を行なっている。株式会社gluon のテクニカルディレクターを兼任。東京藝術大学と早稲田大学で非常勤講師として教えている。著書に『Parametric Design with Grasshopper—建築/プロダクトのための、Grasshopper クックブック 増補改訂版』(石津優子氏との共著、小社刊、2018 年)がある。
Algorithmic Design with Houdini
Houdiniではじめる自然現象のデザイン
Description
自然が創り出す美しい模様や動きをアルゴリズムで生成する!
本書は、映画やゲームを中心とする3DCG領域でますます注目を集めているソフトウェア「Houdini」を用いて、自然界に見られる魅力的な現象を生成するデザインレシピ集です。【Houdini 17.5 完全対応! 】
フラクタル構造、シマウマ模様(反応拡散系)、鳥や魚の群れ(群知能)、霜や雪の結晶......
合計16種類にも及ぶ形状や現象の背後ではたらくしくみ(アルゴリズム)を説明し、それをどのようにHoudiniで再現・生成できるかについてステップ・バイ・ステップで解説します。
各事例の制作を通して、アルゴリズミック・デザインの考え方と作り方を同時に学ぶことができます。
Houdiniを実務で使用している方も、趣味で使用している方も、この本でHoudiniの新たな活用方法を体得しましょう。
ISBN:978-4-8025-1102-5
定価:本体3,900円+税
仕様:B5判/320ページ
発売日:2019年04月24日
著者:堀川淳一郎
デザイン:松川祐子
Profile
Contents
なぜこの本が存在するのか
なぜHoudiniなのか
本書の対象読者
本書の動作環境
レシピのダウンロードについて
●Chapter 1:アルゴリズミック・デザイン
1-1 アルゴリズミック・デザインとは
1-2 デザインのモチーフの探し方
1-3 アルゴリズムの探し方
1-4 アルゴリズムの理解
1-5 Houdiniでアルゴリズムを実装する
●Chapter 2:アルゴリズミック・デザインのためのHoudini基礎知識
2-1 パラメータの登録
2-2 アトリビュートの基礎
2-3 VEXの基礎
2-4 Expression関数の基礎
2-5 For-Eachノードの基礎
2-6 Solverノードの基礎
●Chapter 3:レシピ編
01 Mandelbulb マンデルバルブ
02 Chladni Pattern クラドニ・パターン
03 Reaction Diffusion 反応拡散系
04 Diffusion-Limited Aggregation 拡散律速凝集
05 Iris 虹彩
06 Magnetic Field 磁場
07 Space Colonization スペース・コロナイゼーション
08 Curve-based Voronoi 曲線ベースのボロノイ
09 Differential Growth 分化成長
10 Strange Attractor ストレンジ・アトラクター
11 Fractal Subdivision フラクタル・サブディビジョン
12 Swarm Intelligence 群知能
13 Frost 霜
14 Edge Bundling エッジ・バンドリング
15 Snowflake 雪の結晶
16 Thermoforming 真空成形
レファレンス
Errata
初版第1刷 | |
p.72 下から12行目 | 誤:∂v/∂u = Du∇(2乗)v + …… 正:∂v/∂u = Dv∇(2乗)v + …… |
p.143の最後(「Point Wrangleノードのコード」)に、次のVEXコードを追記 | // 0~1にリマップされた幹の終点からの距離を、アトラクションポイントの最大削除範囲と最小削除範囲でリマップし、実際のアトラクションポイントの削除範囲を作る float removedist = fit(dist, 0, 1.0, removedistmax, removedistmin); // 作った削除範囲をポイントのremovedistという名前の浮動小数点数のアトリビュートに格納する f@removedist = removedist; |
p.206 メインパラメータの最後 | 誤:agent_size 正:boid_size |
p.214 上から3行目 | 誤:sumのベクトル値をcountの値で割り、…… 正:// sumのベクトル値をcountの値で割り、…… |
p.232 下から3行目 | 誤:もう1つのPoint Wrangleノードに…… 正:Primitive Wrangleノードをつなげて…… |
p.233 上から1行目 | 誤:《Point Wrangleノード…… 正:《Primitive Wrangleノード…… |
p.263 下から13行目 | 誤:function vector getclosestpoint(vector a; vector b; vector p) 正:function vector getclosestpoint(vector a; vector b; vector p){ |
p.276 ページ中央左の図中数字 | 誤:22 正:20 |