Algorism

2009年の春休みや夏休み、まだGrasshopperを使い始める前、Processingで、アルゴリズムをスケッチする訓練をしていた。
当時のファイルを見てみると、以下のようにフォルダが整理されている。

01 GeoPlateCad
これは「超地形CAD」としてJA77にも発表した。結局、雪や砂といった粒子(Grain)を操作して3次元立体を造形するという僕の原風景から生まれたプログラムなのだと位置づけられる。砂の陥落のアルゴリズムは楽しかったなぁ。

02 TreeObject
これは「オープンリソースファニチャー」として樹木状の構造物として結実した。L-Systemを物質モデルで実現したいと思っていたのだった。

03 Floor (Ishidatami)
これはまだ実現していない。石畳のようなものをイメージしていたのだが、よく考えてみれば、あらかじめ手元にある(ひとつずつ違う不定形の)材料を3次元スキャンして、それをコンピュータ上で組み合わせていく「Computer-Aided Bricolage」に一番近い考えのような気もする。アイディアとしてストックしておこう。

04 Flower Lights
これはミラノサローネで照明を見て思いついたもので、植物の花弁とランプシェードの相同性から発想した。Grasshopeerで似たようなプログラムが既にたくさんあるし、2010年につくった「松ぼっくり」のプログラムに発展的に吸収されているといえるかもしれない。

05 Tsurumaki TableFoots
当時、代々木上原の自宅の近くに、不思議なアールデコの金属オブジェがあった。その不思議な印象をプログラムしたもの。

06 Arabesque_Ceiling
これは隈研吾さんと一緒につくったアラベスクのプログラムの発展版。2次元的に展開した後、そこから3次元的にも伸びてくるものを考えていた。

07 DLA
DLAのアルゴリズムをつかもうとしたもの。Nature of Codeなどにも刺激されて。

08 ESO_Method_Structure
さて、これがたぶんこの当時の最大の成果であると思う。
フリーの構造解析ソフトCalculixと、Processingを繋げて、独自の構造解析+形態生成ソフトを作った。



BMWのBionic Carや、佐々木さんのESO法による曲面生成のソフトウェアなどを、自前で用意してしまおうというものである。
(Grasshopper+Kangalooでは、まだこういうことはできない)

Calicuxを c:\\calculix_p5に保存し、以下のコマンドで通信する。

“C:\\PROGRA~1\\CalculiX\\common\\site\\cmdStartup.bat”, “ccx”, “C:\\PROGRA~1\\CalculiX\\common\\site\\

このソフトのアイディアは、Neri Oxmanのようなモジュールの変形にもっていく方法もある。
具体的なプロジェクトが立ち上がってきたときに、再び利用してみたいプログラムである。

さて、もうひとつ、残りは、SubwayStation2000のアルゴリズム再考である。
(これは平本君がORF2009のために作っていたソフトと関係がある)。
1: ある空間範囲のなかで形状が自由に伸びていくアプローチ
2: 球(空間)をパッキングしてその接点をつないで構造物化していく
3: 多面体状に分割していく(3次元ボロノイ)

この3つのうちどれがいいのか???ということで、2をやったことがないので試してみたいな、と思う今日この頃。

アルゴリズム・スケッチ 2009

増井潔さんが、 2010年8月28日にFabLabJapan Blogに次にような書き込みをしてくださいました。
「これらに知識(レシピ/ノウハウ/主義主張)の共有革命が合流して新しい生産の時代が来るのでしょう…と。」

たしかに、ツール革命マテリアル革命だけでは、FabLab= Industrial (Re)Volutionにはなりません。知識共有、特に「デザイン+エンジニアリング」の知識の記述から伝達・共有・派生・進化のさらなるかたちを構想することが必要不可欠で、それはFab6でも盛んに議論されたことでした。

私の視点から言えば、アルゴリズミック・デザイン+オープンソースというのが「知識の記述から伝達・共有・派生・進化」に当てはまる研究キーワードになります。これまで、自分の4つのサブトピックを、「アルゴリズミック・デザイン」「オープンソース」「デジタルファブリケーション」「ワールドワイドロジスティクス」(そして全体を包含するメタな理論的視点としての「バイオミミクリ」)として構造化してきましたが、以下のようなブレイクダウンも可能であることに最近気がつきました。

(1) マシン/ ツール研究
(2) マテリアル/ デザイン研究
(3) デザイン&エンジニアリングにおけるナレッジシェアリング研究
(4) 社会応用

(1)+(2) = 「デジタルファブリケーション」
(2)+(3) = 「アルゴリズミックデザイン」
(3)+(4) = 「オープンソース」
(4)+(1) = 「ワールドワイドロジスティクス」


10+1の「アーキテクチュアル・コーディング」連載を執筆するなかで深化してきた考え方なのですが、私の場合、「アルゴリズミックデザイン」を、単にデザインの手法として捉えているのではなく、デザイン知識の記述と共有の手法として捉えているところにおそらく独自性があるのだと思います(それは連載第2回を書きあげてますますはっきりしました)。

こうした視点は学生のときに読んだ「デザインの知識工学」などから繋がってきているものだが、
http://www.amazon.co.jp/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E7%9F%A5%E8%AD%98%E5%B7%A5%E5%AD%A6-R-D-Coyne/dp/4274077985
MIT School of Architectural Computationグループに脈々と流れる、ビル・ミッチェル~ジョージ・スティニーのコンピュテーショナル・デザイン・セオリーからも無意識的に強い影響を受けている感じがします。

アルゴリズミックデザインと、デザインナレッジのオープン化がつながる、という視点は非常に重要なのではないかと確信しています。








FabLabの「研究的側面」

Lattice FurnitureからOrigami Furnitureへと本格的に移行する中間に、植物にヒントを得たバージョンをスタディしていた。
(松ぼっくり、コーン、多面体などをゆっくり調べられたのでこれはこれで収穫)。

寄り道:Plant Furniture

20世紀と21世紀の比較図/
The Evolutions of Designs (Philip Steadman) pp.14をもとに作成


The Evolutions of Designs pp.14

「創造的エラーとしての生命」というメモが自分の手帳の2010年2月の欄に残ってるのだが、どなたから聞いた(インスパイアされた)言葉だっただろうか・・・・・。アルゴリズムがもたらすエラーの豊かな帰結、というくだりを考えていて、Marcos Novakのことを思い出した。

以下、全く別の文脈で書かれたものだが(内容も別なのだが)、エラーやコンフリクトの奇妙な美学、オーバードライブによる異化の
面白さを考える上での参考資料として。

木内俊克氏「汚いシステムを目指して」
http://aar.art-it.asia/u/admin_edit1/tH3GRgqNuUCr8s6bMhde
The Very Many “DIRTY DIGITAL”
http://www.theverymany.net/2008_01_01_archive.html





Creative “Mutation” derived from Conflicts, Error and OverDrives


いかにして物質化するかを考えるために書いたアルゴリズムのスケッチ―田中浩也―2009

「コンピュータ上でまず自由にかたちを造形し(多くの場合ぐにゃぐにゃ系)」(アルゴリズム)→「あらゆる手を使ってそれをなんとか物質化する」(ファブリケーション)という一方向プロセスは、まだ未成熟の証であると考えています。本当は双方向に影響を与えあうべきなのではないかと思うのです。 ファブリケーションの道具・環境を「前提として」アルゴリズムを書いてみる、というエクササイズをはじめたのは1年半くらい前だったかと思います。 練習として、CNCルータを念頭に置きながら、2次元L-Systemを3次元化し→さらに部際に割って物質化し→組み立ててオブジェとして成立させる、という回路を考え始めました。これはProcessingを書いて作った簡単な「アルゴリズムのスケッチ」なのですが、Open (Re) Source Furniture Ver 0.8 「創意の庭」の原型となったファブリケーションシステムでもあります。


Algorithm Sketch for Digital Fabrication

“Three Essential Books”というエントリーが面白かったので要約してみます。
http://www.nzarchitecture.com/blog/index.php/2009/11/01/three_essential_books/

「建築におけるアルゴリズム」においてエポックメイキングな3冊の書物がある。


An Evolutionary Architecture – John Frazer – 1995

デザインアナロジーとして「生物学」を利用ー特に、遺伝的アルゴリズム、ニューラルネットワーク、セル・オートマトンを特に採りあげる。
モジュラー・システムを利用した、3次元セル・オートマトンの物理モデルをこの時期(1995年!)に提出していた。PDFファイルとしてダウンロードできる。
(因みにこのアイディアの応用展開形研究するのがスケーラブルモジュラーデザイングループです)

Algorithmic Architecture – Kostas Terzidis – 2006

日本語訳の監訳を担当させていただいた本。「コンピュータ・アルゴリズム」と「人間のデザイナー」の各々の特性とその質的な差異を精密に吟味したうえで、両者を組み合わせることの意義ー相乗効果・共進化関係について丁寧に説明している。哲学的な議論の後にプログラミング言語の解説が挟まるという他に例のないフォーマットで綴られている。コスタスは他にデザイナーがプログラミング言語を学ぶための教科書
Algorithms for Visual Design Using the Processing Languageも出版している。

Google Booksで読めます。

Tooling – Benjamin Aranda, Chris Lasch – 2005

「スケッチとしてのプログラミング」に焦点が置かれた本。
7つのアルゴリズムが説明され、ダイヤグラムと、建築プロジェクトへの適用例が掲載されている。

Google Booksで読めます。

3冊の書物


「植物インターフェイスと栽培メディア」 in エコッツェリア/  慶應義塾大学田中浩也研究室 2007

ハイエクの自生的秩序に詳しい井庭崇先生から教えてもらいました(Twitterから転記します)。
「農夫や庭師が植物を栽培する(cultivates)。その場合、彼は決定環境の一部しか知らず管理できない。そしておそらく、賢明な立法者や政治家は、社会的過程の力を管理するのではなく、むしろ養成する(cultivate)ことを試みるであろう」(SPPE, 19)『ハイエクと現代リベラリズム』 (渡辺幹雄)より

何故『栽培』なのか?



オープン(リ)ソースファニチャーVer.1モジュラーシステム―形態「派生」の仕組み(田中浩也+岩岡孝太郎+平本知樹, 2010)

「アルゴリズミック・デザイン」「パラメトリック・デザイン」のあいだに一線を引いて区別しておきたい、と以前より思っていました。3つの水準で議論してみます。

[1] デザインプロセスにおける役割の違い

―「アルゴリズミック・デザイン」は、アルゴリズム(論理)を構築することで“問題を解く“
―「パラメトリック・デザイン」は、パラメーター(変数)を操作することで“バリエーションを出す“


[2] コードの問題

アルゴリズムを記述するプログラムは通常、数式・論理演算・宣言文などの「複合物」になります。
「パラメトリック・デザイン」は、数式(フォーミュラ)のみを取り出して用いるのものが多く見られます。
「パラメトリック・デザイン」は、「アルゴリズミック・デザイン」の一部であり、比較的低位の(易しい)問題を解くもの、とするのもよいと思います。(「論理演算」が含まれないタイプのものは、コンピュータサイエンスを知っている者から見ればおそらくアルゴリズムと見なしにくいでしょう。) デザインコミュニティからは見えにくいでしょうが、より「高次」の、複雑な「問題」を解くために、アルゴリズムそのものを開発(デザイン)しようとする営みが無数にあるわけです。


とみると、私たちの「オープン(リ)ソースファニチャープロジェクト」「派生」に留まっていて、これはまだ「パラメトリック・デザイン」ですね。











アルゴリズミックデザイン解説(3)


隈研吾「台湾胡弓博物館」コンペ案のための、唐草模様エンヴェロープの生成ソフトウェア(田中浩也,2004)

先のエントリーでも指摘したとおり、(1) コンピュータサイエンスでいうところの「アルゴリズム」から、いきなり(3) 建築デザインへのアルゴリズムの応用を考えると、問題が複雑化して議論が錯綜します。

そのため、橋渡しとして、(2) 「建築以外の他のデザイン領域でアルゴリズムがどのように応用・消化されてきたか」を確認しておくことが、建設的な議論の土俵=思考のための共通の文脈をつくるのに有益なのではないかと思います。

「デザイン/アートへのアルゴリズムの応用」は、さらに2つのスレッドに分解して捉えられます。

ひとつは、「音楽(聴覚表現)」におけるアルゴリズムの応用です。これは「アルゴリズミック・コンポジション」と呼ばれます。もともと音は数学と表裏一体ですし、非物質のため物質ドメインよりは実験が容易という特性があるため、歴史をたどればギリシャ時代まで戻ることになります。この系譜は、たとえばこちらなどに詳しく説明されています(最後にアメリカ型自動作曲とヨーロッパ型自動作曲の違いにまで言及してある)。さらには多摩美術大学の「コード・コンポジション入門」も分かり易いと思います。こうした「音楽(聴覚表現)」におけるアルゴリズムの応用」は、Max/Msp, SuperCollider, PureDataといったビジュアルプログラミング環境が普及したために、急速に発展したという側面も見逃せないでしょう。

もうひとつは、「グラフィック・映像(視覚表現)」におけるアルゴリズム(=アルゴリズミック・アート)です。
「デジタル=数」「コンピュテーション=計算」を組み合わせて視覚的表現を生成するという営みは1980年代後半から多数行われてきましたがが、それを「ツール」のレベルで体系化しデザイン言語として定着させたのは、1990年代のジョン前田氏の一連の研究・創作ではないでしょうか。

ジョン前田氏の「Design By Numbers (DBN)

その学生であったBen Fryと Casey Reasによる「Processing」

ウェブサイトでのオープンソースコードプラットフォームである「OpenProcessing.Org」

という流れは、数理的なグラフィックデザインから、インタラクションを加えた一般的なデザイナ向けスクリプティング環境への進化、そしてコードの「社会的共有」というカルチャーへとして、参考になる流れだと思います。

こうした、2つの流れが進行する中、ゼロ年代後半からは、「フィジカル」に着目する動きが見られるようになってきました。
アルゴリズムの出力結果を新しい「装飾(視覚パタン)」と捉えて、物質ドメイン(フィジカル・デザイン)に転写(固着化)するJoshua Davisのようなデザイナーの登場はその象徴です。

私の研究室で修士論文を執筆した関根雅人君が黒田杏子さんとともに制作している“Fluid Texture”シリーズは、流体(水や煙)を直接操作して、永遠に生成流転し続けるパタンを物質の運動として表現するという大作です。

そして、このあたりから自然と建築ドメインの話につなげていくことが出来ます。
建築では、まず、ファサード・パタンにアルゴリズムを応用するものが現れ始めます。かくいう私も、建築家・隈研吾さんからの依頼で、台湾胡弓博物館のエンベロープパタンのためのアルゴリズム実装の仕事を行ったことがあります。その際の要求は「次世代の唐草模様を生成するプログラムをつくる」というものでした。

とはいえ、ファサード・パタンは2次元平面に過ぎません。平面パタンの域を飛び出し、「グラフィックスの3次元化=立体化=物質化」を行おうとする動きが出てきており、これが建築における「パラメトリックデザイン」と軌を一にしていると考えられます。こうした運動が、Rhino Grasshopperなどのツールも相俟って加速しているのでしょう。私の読みですが、こうした試みは、装飾=構造という美学(アルゴリズムによるアール・デコ的なもの)が根底にあるのではないかと思います。とはいえ、私も携わった、渡辺誠さんの「地下鉄大江戸線飯田橋駅」に、既にこうした美学の萌芽があったのではないでしょうか。

「パラメトリック」な手法で「立体構造物」をつくるアプローチの先駆的試みは、「地下鉄大江戸線飯田橋駅」だと思います。そしてもうひとつ、ジョン前田氏がICCでの展覧会「Post Digital」で示した「青テープの部屋」。さまざまな解釈がされている謎の作品ですが、私は、Processingのような「点」「線」「面」といった幾何学要素で組み立てられるグラフィックスを、3次元の実空間にまで展開しようとしていたのではないかと推測しています。そして、その意思を発展的に継承することが自分のミッションのひとつなのではないかと思ってもいるのです。



アルゴリズミックデザイン解説(2)