Intro to CodeLab 2011

このクラスは、田中浩也研究室で「デジタル・ファブリケーション(工作機械)」と「コンピュテーショナル(アルゴリズミック)デザイン」を結びつけた新しい造形技法を習得したい人のための発展的なクラスです。

履修条件は以下
(1) ファブラボ工作機械の基本的な使い方をマスターしていること
(2) 基本的なプログラミングをマスターしていること (「メディア技術基礎(web)」レベル)。特にProcessing。
(3) Rhino, Grasshopperを自分のPCに用意できること

授業は主として、
(A)   コンピュテーショナル(アルゴリズミック)デザインの本質理解
(B) 「解析」 (CAE)を加味した、さらに発展的なマテリアル×コンピュテーション
(C) Webと連携したスマート・カスタマイゼーション
の3つを扱い、最終課題は「デザイン・ツール(ソフトウェア)を自ら実装すること」となります。
学期末には、 個々が実装したソフトウェアを、ローカルあるいはウェブ上に公開します。

学期末参考作品: Nervous, Higashism

=================================================================================

Schedule (予定)

=================================================================================

[01] Install and SetUp
[02] Code and Fab [EncodingとDecoding]
[03] Bio-Inspired Modular Structure (with Grasshopper)
[04] Parametric Modeling (RhinoWorks, SolidWorks)  10/14(fri)
[05] Grasshopper I (Reverse Engineering)  10/28(fri)
[06] Grasshopper II (Process Description)  11/11(fri)
[07] Grasshopper III (Plugins) 11/25(fri)
[08] Script Chains (Collaborative Design), Creative Chains  12/9(fri)
[09] Material Computation, Simulation, Emulation, FEM 12/23(fri)?
[10] Kinetic Strucutures, Folding Structures, Dynamics, Hinge Construction, Mechanics  1~
[11] Web Applet, Web 3D (Processing + ControlP5), Smart Customization
[12]  Web Applet, Server Side Scripting, Database
[13]  Final Presentation (Design Tools)
=================================================================================

=================================================================================

Schedule (現実)

=================================================================================

[01] 概論 (Code and Fab)
[02] パラメトリック・モデリング (Processing or Grasshopper or SolidWorks)
[03] 物理シミュレーション (Processing or SketchUp or Rhino)
[04] リバース・エンジニアリング(既存の椅子)×パラメトリック・モデリング (Grasshopper)
[05] 文通としてのスクリプティング(Script Chains)
[06] 文通としてのスクリプティング・リベンジ(ルールのデザイン含む)(Script Chains)

(Lecture: 自然界のルールとアルゴリズム、ボロノイ、フラクタル等)

[07] パラメトリック・モデリングで、「ある花」にあう「ある花瓶」をデザインする

(Lecture: 最適化のためのコンピューティング)

=================================================================================
参考文献・教科書
理論編

=================================================================================

People/ Assigned Machine / Skill

Taisuke Oshima
Yuichi Hirose
Yusuke Tominaka
Kenji Kanasaki
Atsushi Masumori
Mikiya Sasaki
Ken Inoue
Hideyoshi Moriya

=================================================================================
Topics

セルラーオートマタ、ライフゲーム
ピクセルモデルとボクセルモデル
テンソル
デジタルマテリアルとデジタルマテリアリティ
デジタル・マテリアリズム
デジタルなマチエール

オプティマイズ
Neri Oxmanのムービー
Bio-Mimetic, Bio-Inspired
Programmable Matter
CAI (Computer Aided Intergration) = CAD + CAE + CAM

=================================================================================

Reference

Skylar Tibbets
Neri Oxman
Hod Lipson Digital Material Printer
Mathias Kohler
Neil Gershenfeld
Marc Gross

Digital Material Exhibition

=================================================================================

=================================================================================

Lecture

=================================================================================

[00] Introduction

2 Purposes
Skill
: Grasshopper, Processing, Mathematica, Web-Service ===> Final Project
Perspective: It’s a new world!

Digital=「数」
Digital Design=「数」を使ったデザイン

Keiko Kimoto
John Maeda (Design by Numbers)
Carsten Nicorai

Design by numbers(data) –> Design by Codes [ the nature of code ] –>  Fabrication by Numbers and Codes

=========================================================================

Code = “CODE” and “COmputational DEsign”
CODE
CODE and FORM
Codelab @ CMU ====>Related Papers

=========================================================================

Digital Design, Computational Design.
Computational Design? Computer as (1) Media, (2) Tool,  (3) Computer

=========================================================================

What is Computation?
状態遷移 *****

数の計算とかたちの計算
Numeric Computation/ Morphological Computation
DNA Origami

=============================================================
“Bio-Mimetic”

生物、人工物、自然物  *****

Bio-Inspired Design/ Algorithm
Bio-Mimicry Design/ Algorithm

生物の理→(応用)→人工物の理: みたことのない物体 ex. Neri’s Class ( Dogishow  I II )  Crafted by nature
生物の理←(要請)←人工物の理: より洗練された人工物  ex. Bionic Car  image movie

Abstraction(抽象化) – Translation(翻訳) – Application(適用)
抽象性の高いもの:遺伝的アルゴリズム、進化の法則など
具体から具体へ: (生物学から工学への技術移転)   TRIZ

=================================================================

生物の理か?人工物の理か? 美濃部さん

Performance-Driven Design
Optimization

Material-Selection to Material-Design
Material-Based Design Computation/ Ph.D Dissertation by Neri Oxman

Form ・・・ Material ・・・ Structure

材料力学と構造力学 (ちなみに4力は材料力学」,「流体力学」,「熱力学」,「機械力学)

==============================================================

Bio-Mimetic Process (I)  CODE<=>FORM

Code -> DNA(DNA: 2bit) -> RNA -> Amid Chain -> “Folding”

リボゾーム
コドン
タンパク質とプロテオーム

Any kind of polygons can be folded
Akihiro Kubota [***** ]
Skylar Tibbets [Logic Matter] thesis

Encoding (Code=>Form), Decoding (Form=>Code)

Bio-Mimetic Process (II) DISCRETE, ABOGADORO Number Engineering

最小構成素
Module (Cell) -> Body  細胞

“Physical Bit”  [Neil 2011 ***** ]
Pixel vs Voxel
Tensor
FEM (CAE)

======>>> Digital Material

GIK
scalability of GIK fractal GIK Maker
Utility Fog

Modular Matrix (2010)

New LEGO
Jonathan Ward

Programmable Matter (CMU) ClayToronics Origami Vision

構造を考えれば・・・
Kumiki, Tsugite [*****]
Modular Structure, 3 across- structure, Ideal Joint

Mezo-Level “Joineries”
Resolution
Number of Pieces

Design->Optimize->Fabrication (and Assemble)
CAD->CAE->CAM

==============================================================

“Assemble”

Self-Assembly
Skylar Tibbets

AND
OR
XOR

==============================================================

Cellar Automata
Particle Model

==============================================================

デザインスクリプト入門

******************************************************************

企画趣旨:

かつて、製図板とT型定規の時代の建築図学教育は、初等幾何学や投影法・変形法をはじめとする数理的な思考と、立体の基礎造形・デザインの技法とを繋ぐ、重要な知の基盤を担っていた。そこでは、「原理を発想すること」と「形態を造形すること」が分け隔てなく連続し、そこにこそ建築的思考の原点があったといえる。

しかしCADの普及後、数理的な原理はすべてコンピュータのコマンドに隠蔽されてしまい、

学習者はソフトウェアの操作法を覚えるのみとなってしまった。思うままにコマンドを操ることはできるが、原理や法則を本格的に思案する契機が失われた。初等幾何学や投影・変形の基本的な仕組みを学ぶ機会が失われたことで、結果的にデザインを論理的に捉える思考も一部弱体化したといってよい。

しかし2000年代の後半になって、単に与えられたコンピュータソフトのコマンドを選択するだけではなく、自ら数理的な法則をコードやスクリプトとしてコンピュータ上に記述することで、「原理を発想すること」と「形態を造形すること」を再び繋げようとする、新たな展開が起こってきた。

こうした潮流は、プロフェッショナルな建築論壇では「アルゴリズミック・アーキテクチュア」等と名付けられてその可能性が現在進行形で議論されている。

本書籍は、プロフェッショナルな建築論壇ではなく、これからデザインを学ぼうとする若い学生に向けたものである。コードやスクリプトを伴う立体造形の手法を、かつての図学教育の正統な進化形と位置づけ、学部1~2年生向けのデザインの基礎教育体系としてまとめなおす。

「原理」と「形態」の相関関係を、単純なものから複雑なものへと辞書的に並べると同時に、実際に2人の執筆者がどのように発想し、どのようにコードやスクリプトと「共に」デザイン作業を進めているのか、その思考法を明らかにする。

*******************************************************************

1点透視、2点透視、3点透視
・図学と図形科学(T型定規と製図板の時代→コンピュータの時代)
・スクリプトのリテラシー(=原理を発想すること)とデザインのリテラシー(=形態を造形すること)
・この本の読み方、使い方

1章 幾何学 ―ジオメトリ
1-1 基本エレメント
・点  (自然界のサンプル/コード/デザイン応用)
・線  (自然界のサンプル/コード/デザイン応用)
・面  (自然界のサンプル/コード/デザイン応用)
・立体  (自然界のサンプル/コード/デザイン応用)

1-2 変換・操作Ⅰ
・ベクトル  (コード/デザイン応用)
・行列    (コード/デザイン応用)

1-3 変換・操作II
・ブーリアン演算  (自然界のサンプル/コード/デザイン応用)
・メタボール    (自然界のサンプル/コード/デザイン応用)

1-3平面パターン
・場   (自然界のサンプル/コード/デザイン応用)
・フィボナッチ (自然界のサンプル/コード/デザイン応用)
・ボロノイ (自然界のサンプル/コード/デザイン応用)
・ドロネー (自然界のサンプル/コード/デザイン応用)

1-4 曲面パターン
・メッシュ (自然界のサンプル/コード/デザイン応用)
・パネリング (自然界のサンプル/コード/デザイン応用)
(章間・コラム1 原理の発想と形態の造形をつなぐコツその1)

2章  演算―コンピュテーション
2-1  セルラーオートマタ (自然界のサンプル/コード/デザイン応用)
2-2  エージェントとパーティクル/  サークルパッキング、ビンパッキング→Kangaloo
(自然界のサンプル/コード/デザイン応用)
2-3  生成文法系(L-System, Shape-Grammer)
(自然界のサンプル/コード/デザイン応用)
(章間・コラム1 原理の発想と形態の造形をつなぐコツ その2)

3章   生成―アルゴリズム
3-1 物理系
3-1-1 マス・スプリング系 (自然界のサンプル/コード/デザイン応用)
3-1-2 極小曲面、吊り実験 (自然界のサンプル/コード/デザイン応用)
3-1-3 折紙 (自然界のサンプル/コード/デザイン応用)
3-1-4 拡散系 (自然界のサンプル/コード/デザイン応用)
3-1-5 振動系 (自然界のサンプル/コード/デザイン応用)
3-1-6 静電気 (自然界のサンプル/コード/デザイン応用)

3-2 生物系
3-2-1 反応拡散系 (自然界のサンプル/コード/デザイン応用)
3-2-2 ボイド (自然界のサンプル/コード/デザイン応用)
3-2-3 アント (自然界のサンプル/コード/デザイン応用)
3-2-4 遺伝的アルゴリズム/進化的プログラミング→Garapagos

4章
原理の発想と形態の造形をつなぐ方法、その実例集
(デザインへの応用のコツ、面白い事例集)

おわりに

==================================================================================

[01] Install and SetUp
  • 「メディアとしてのPC」「ツールとしてのPC」「コンピュータとしてのPC」
  • 計算とは?
  • コンピュータライゼーションとコンピュテーション
  • ツール・メーカーとツール・ユーザー
  • コードと生物
  • コードとファブリケーション
[02] Code and Fab [EncodingとDecoding]
  • DNA
  • RNA
  • リボゾーム
  • アミノ酸
  • ペプチド鎖
  • タンパク質
  • 情報と物質
  • ビット列 ビット列の不思議な和
  • hello world
  • QRコード
  • 課題:ゲノム配列を2次元/3次元の表現に物質化せよ。

  • CAAGAGAGCTGAGCTTGGAGAAACTCGATCTTCCAGTTCTACGTAGCTCGAGGCGGGAAGGCATCACACC
    ATAAATGCGCATGCACACGCGCACCTTGAAGGCTGGGCTTTTCTCAGCGAGCTCAGAGGCTCTCGTGAGA
    TTTCATCCTTAGTCTCGCTCTTCTGCCCCTTCCCCCACAAGACACAGGTTTTCCCTCCGAAAAACCACAC
    CCGGAAGCGTGTCACTCAATCCCCACAACAGCGTGCGTGCCCTTTGCAATCTGCGCAGTCCCCAACATCA
    CACATATGCACATTCTAGCCCTCCAATCTCTAGGGTTGTGTGAATGTGCCTCCCCACCGATCCGATCCCT
    AAGAACAGAAGACCTCTAGACAATCGAAACTGCAGCATCAAAAGCATCACAGCACATACAATCACAAACT
    TTATGTGTCTCCTAGCCTGTCCAATCCCCCACT

  • 課題:”Hello World”を2次元/3次元の表現に物質化せよ。
  • (後のフォールディングの課題に続く)
[03] Parametric Modeling (RhinoWorks, SolidWorks)
パラメトリック・デザイン
「微調整」と「可能空間の探索」
Interface Level
  • ツマミ(回転)
  • スライダー

Processing + ControlP5
Grasshopper

Hiramoto MasterThesis (Fab Chair)
Script

Sketch Chair
Sketch Furniture

・・・・・

[Discussion/Conversation]

Constraints?-driven

Form-Exploration/Functional-Exploration

可能空間

Possible Space for Exploration within the boundary of possibility

Evaluation

—————————-

Evaluation <=> Constraints

—————————-

解空間

Solution Space

number of optimal possibility

Exploration vs Contraints?

Parametic-Modelling Modelling
Relation-Based Modelling?

[03] Bio-Inspired Modular Structure (with Grasshopper)
自然物のなりたちを解読する
  • コードとしてのスケッチ
  • 花をスケッチする
  • モジュールに分解する
  • ランプシェードを作る
[05] Grasshopper I (Reverse Engineering)+  Grasshopper II (Process Description)
人工物のなりたちを解読する+プロセスを解読する
[06] Script Chains (Collaborative Design), Creative Chains
スクリプトの単位をシェアする

Grasshopperの整理

-横軸は処理の手順(プロセス)
-縦軸はパラメータ(操作要素)

-まとまりのある領域を、グループセレクションで背景に色をつける
-テキストタグ, テキストボックスでコメントをつける

コードを他の人に分かるようにすること
「理解を伝える」ためのコードでもある

-「まとめ(集約)スライダー」の必要性
– 椅子によって異なるパラメータのとりかた(モデリング戦略)
-かたちのロジックと、ファブリケーションのロジック

Rhino+Brasilでレンダリング

ホワイト・アウトした絵本のようなレンダリング技法(Rhino + Brasil)

(1) Brazil->Render Settings->Load->STUDIO HDR
(2) レンダリング->Ground Plane Settings
(3) オブジェクトをZ=0以上の場所に置く

[07] Grasshopper III (Plugins)
物理と生物
[08] Material Computation, Simulation, Emulation, FEM
[09] Kinetic Strucutures, Folding Structures, Dynamics, Hinge Construction, Mechanics
[11] Web Applet, Web 3D (Processing + ControlP5), Smart Customization
[12]  Web Applet, Server Side Scripting, Database
[13]  Final Presentation (Design Tools)