アルゴリズム建築コース 第5日目

 

こんにちは。

前田紀貞建築塾【アルゴリズム建築コース】の講師兼TAの殿村勇貴です。

今日で早くも5回目を迎えました。受講生もすっかりこの塾の雰囲気に慣れて、盛り上がってきました^^

 

***

それでは早速5日目の授業の様子をご紹介します!

 

アルゴリズム建築講義】13:30〜14:30

この日は塾長が出張のため、プログラミング講師である辻による臨時講義が行われました。

いつもとは違う雰囲気で、受講生も改めて気を引き締めて講義を聞いていました。

 

【プログラミング演習】14:30〜16:00

f:id:maedajuku_algorithm10:20140805014016j:plain

 

この日のプログラミング演習は、Processing第一の山場「forループ」に続いて、第二の山場「配列Array」の講義でした。この「配列Array」はなかなかの強敵で、ここから急にコードが複雑になってきます。逆に言うと、これを乗り切れば、いわゆるコードらしいコードが書けるようになるのです。

 

 

さて、「配列」という言葉は、CADや3Dモデリングソフトを使っている人であれば、「配列複製」などでよく目にする言葉だと思います。複数のオブジェクトが均等に列となって配置される機能ですよね。このように複数のデータを扱う、という点では、Processingでの「配列Array」も基本的に同じイメージで考えることができます。

言葉で説明すると「配列とは、同じ意味を持つ複数の変数を1つにまとめて扱うための手段」となります。

言葉だけの説明だと分かり辛いので、この「配列Array」を使うとProcessingでどのようなことができるのか、簡単な例をいくつかお見せしましょう。

 


array01 - YouTube

 


array02 - YouTube

 


array03 - YouTube

 

上の動画のように、複数の円を異なるスピードで大小に拡大縮小させたいとき、それぞれの円の半径には変化の速さを表す変数が1つづつ与えられています。例えば、1つ目の円は1秒に20ピクセル、2つめの円は1秒に15ピクセル…のような感じですね。これを

配列Arrayを使わずに単純にプログラミングすると、それぞれの円の半径を表す4つの異なる変数(r1・r2・r3・r4)についてその増減を計算するコードを別々に書かなければなりません。4つならまだ何とかなりそうですが、例えば1000個の円を異なるスピードで動かしたいとなると、単純に1000行の変数のコードをプログラミングしないとならないということですね。また、計算のルールを少しでも変えたくなったら(例えば変化のスピードを2倍にしたい、など)、また全ての行に「×2」を書き加えていかなければならず、かなりの根性と気長さが必要になります(><;)。。

 

そんな時にコーディングをグッと効率的にしてくれるのがこの「配列Array」です。

動かしたい円が4個だろうと1000個だろうと100,000個だろうと(コンピューターの処理能力が及ぶ限りで、ですが)この「配列Array」と前回説明した<forループ>を組合せて使えば、全ての円の半径を表す変数を一つにまとめることができ、円の個数に関わらずほんの数行でコーディングできるんです。

驚きですね(*゚∀゚)!

 

f:id:maedajuku_algorithm10:20140805014405p:plain

前述の円の例で具体的にいうと、<半径>と名前をつけた仕切り箱を用意して、この箱の中に実際の値をどんどん入れていくイメージになります(図参照)。こうすることで、個々の変数を一つ一つ呼び出す代わりに「<半径>という箱の◯番目に入っている値」という形で呼び出すことができ、コーディングがずっとシンプルに、分かりやすくなるんです。

 

※専門用語では、この箱を「配列」、それぞれの値(要素)に順番につけられた番号を「インデックス」といい、<配列名+インデックス>で要素(データ)を呼び出す、ということになります。また、全要素を一気に処理したい場合(例えば全ての要素に2を掛けたい)ときには、個々の要素ではなく箱(配列)に直接演算を施すこともできるので、1,000個の要素に2を掛ける処理がたった1行でできてしまうのです。

 

 

 

このように、プログラム内で同等の性質・意味を持つ複数の変数をまとめて扱いやすいように管理する機能(考え方)が「配列Array」で、Processingのみならずほとんどのプログラム言語に実装されている基本機能です。

Processingで複数の変数を扱うときに「配列Array」なしでプログラミングすることも可能ですが、その場合とんでもない行数のコードを書かなければならず、変更・修正の都度膨大な手間がかかるので、プログラミングを学ぶならば早い段階で必ず習得すべきものの一つなんです。

 

こんな便利な「配列Array」ですが、考え方と文法がちょっと独特なので“良薬は口に苦し”とはよく言ったもので、すぐに理解するのがなかなか難しい部分なんです。それまで余裕の表情を見せていた塾生たちもこの「配列」には苦戦(-_-;)していて、授業中何度も質問が出ました。

しかし、これは誰もが通る道なのです!講師である私たちも同じ経験をしたからこそ、この部分は特に、できるだけ丁寧に、全員が分かるまで説明します^^

 

塾生たちは第一の難関「forループ」を乗り越えているので、きっとこの第二の山場も乗り越えられるでしょう。

たくさん復習して乗り切りましょう^^

 

 

いかがだったでしょうか?次回はお待ちかね、アルゴリズム建築コースの設計課題「弔いの場」のエスキスが始まります!設計課題「弔いの場」と塾生たちの戦いをご紹介します。お楽しみに^^

 

また、この前田紀貞建築塾アルゴリズム建築コースへの入塾を検討したい方や、もうちょっと詳細知りたいなという方は、下記URLからこのコースの詳細をご覧下さい↓↓

前田紀貞建築塾【アルゴリズム建築コース】http://www5a.biglobe.ne.jp/~norisada/SCHOOL/course/index.html - 4

 

 

 

前田紀貞アトリエ 殿村勇貴

 

f:id:maedajuku_algorithm10:20140805014405p:plain

アルゴリズム建築コース 第6日目

 

こんにちは^^

前田紀貞建築塾【アルゴリズム建築コース】の講師兼TAの殿村勇貴です。

この日からアルゴリズム建築の創作を目指した設計課題のエスキスがはじまりました!

どんな提案がなされるのか、とても楽しみです^^

 

***

 

それでは早速授業の様子をご紹介します。

アルゴリズム建築講義】13:30〜14:30

f:id:maedajuku_algorithm10:20140805021201j:plain

 

前回まででアルゴリズム建築の創作に最低限必要な思想の講義は終わり、この日で6回目となる今回の講義から、塾長による設計課題のエスキスがはじまりました。塾生たちの熱い戦いが幕開けです!!

 

設計課題のタイトルは『弔いの場』。コンピューター・アルゴリズムという、一見冷たい機会的な響きのあるアプローチと「死/弔い」という人間的な感情の極点といえるようなテーマをどのように結びつけるのかが問われる難しい課題に、これから数ヶ月をかけて各人が挑みます。単にプログラミングを学ぶだけではなく、それを如何にして「建築」へと昇華させていくのかを問う前田紀貞建築塾ならではの課題。塾生たちに示された課題概要は以下のとおりです:

 

 

アルゴリズム建築コース設計課題 『弔いの場』】

一人ないしは複数人の故人を選考し、その人のための【弔いの場】を計画する。

当然のことながら、今回は今までの課題で訓練をした、初歩のアルゴリズムを駆使することで、自分の“手”や“頭”からは、決して発想のできなかった地点にまで、創造の可能性を広げ、己の限界を打ち破ってみることを試みていただきたい。この無私なる方向が、今回は最も大切なことである。

尚、【弔いの場】とは、墓であってもよいし、墓石であってもよいし、故人を忍ぶことのできる空間であってもよいし、故人の記憶を埋蔵させたモニュメントでもよいし、記念館でもよいし、それ以外のものでもよい。

敷地もまた自由であることより、それは都市部でもよいし、海辺でもよいし、山中でもよいし、時には車中や室内であることも可能だし、提案によっては、自分の“意識の中”ということすらも可能性としては設定し得る。

当然のことながら、構造や機能への整合性を問うことはしない。

提出物、その他一切も設計者の自由によるものとする。

 

以上の課題文を元に、塾生各人が「弔いの場」について考えてきました。エスキス初日であるこの日は、いきなり具体的な作品のコンセプトや形態を問うのではなく、弔う対象、すなわち「何を弔うのか?」を各人10個ほど考え、リストアップして来てもらいました。塾生各人が持ってきた各人各様のの提案は次のようなものです:

 

***

 

【松島案】

f:id:maedajuku_algorithm10:20140805021240j:plain

トップバッターの松島は、<ジョン・レノン><季節><ホームラン><リカルド・リゴレッタ>…などを弔う対象の候補に挙げてきました。人物だけでなく、「季節」や「ホームラン」(笑)など、抽象的な概念もあるのが面白いですね。中でも、多彩な色を使うリゴレッタを弔う対象にしたときのアルゴリズムの使い方のイメージとして、通常は色彩理論やデザイナーの好みによって意図的に計画される「配色計画」をアルゴリズミックに計画できないかと考えていました。彼はもともとリゴレッタに憧れていて、彼の事務所で働きたいと考えていたそうです。とても思い入れのある対象を考えてきていました。

塾長からは「どの案でいくにしろ、結果として最終的にアウトプットした作品にどこか弔いの対象の持つ“らしさ”がにじみ出ていないと面白くない。非線形的に作れば何でもよい、という訳ではないことを意識してくれ」とのコメントがありました。単なる不思議な形を生み出せばいい、ということではないんですね。

 

【谷口案】

f:id:maedajuku_algorithm10:20140805021228j:plain

2番手の谷口は、<桜><今朝食べた鶏肉><21世紀><笑っていいとも!><共産主義><四谷アートステュディウム><国立駅舎><ガラケー>などを挙げてきていました。いずれも目の付け所が面白いですが、日常的なものからスケールの大きなものまで色々混ざっているのがいいですね(*゚∀゚)

講師の辻も「弔う対象としてどれも面白そうで、中でも「笑っていいとも!」はテレフォンショッキングの相関図をアルゴリズムのパラメーターとして使ってみたら何か面白いものが出てくるかも…」とコメントしていました。

また、塾長からは「共産主義」は“弔い”の対象として少し抽象的すぎるから、例えば<チェ・ゲバラ>など、個別性の強い対象に絞った方が面白くなる。また、自分だけが知っているものではなくて、世間一般に知られているものを弔う対象とした方が、共感を得られやすく案として面白くなるだろう」とのコメントがありました。

 

【丹羽案】

f:id:maedajuku_algorithm10:20140805021224j:plain

3番手・丹羽は、<ある人の思い出><腐敗するプロセス><ワールドトレードセンター><STAP細胞><時間/距離><3.11の被災者><ニルヴァーナ(バンド><ラオウ(漫画「北斗の拳」のキャラクター)><あしたのジョー><ピラネージ><建築様式>などを弔う対象として挙げてきていました。時事ネタや個人の趣向が色濃く出てくるのもこの案出しの段階の面白さですね。

塾長からは「クラシック、バロックロココ…等の個別の様式ではなく<建築様式>という考え方それ自体を弔うという案は面白い。また<ピラネージ><あしたのジョー>などは、独自の濃密な世界観/イメージを背負っているので、弔うストーリーを考えたときにはアドバンテージがあるだろう」といったアドバイスがありました。

 

【太田案】

f:id:maedajuku_algorithm10:20140805021245j:plain

今回のアルゴリズム建築コース塾生の中で唯一の大学生・太田は、<金子みすゞ(童謡詩人)><安斎水丸(イラストレーター)><佐野実(ラーメンの鬼)><永井一郎サザエさん磯野波平役の声優)>など、いずれも最近なくなった人物たちを弔いの対象として挙げてきました。

辻講師は「この中で<金子みすゞ>の「詩」を、言葉の意味・音・文字などが重層してイメージを生む“非線形の言語芸術”と考えると、アルゴリズム的思考/手法との親和性も高く、面白い案につながるのではないか?」とコメント。

また、塾長からは「極端に言えば敷地は具体的な場所でなく、“脳内”や、もっと抽象的な、実在しない場所でもよい。また、人の提案を聞くとそれが魅力的で1つの正解だと感じてしまいやすいが、むしろ他の人との差別化がオリジナリティにつながることを意識してほしい」とのアドバイスがありました。まさに、互いに「弔う対象」案を発表しあう個の場が、各人自身のオリジナリティを確認できる場でもあるわけです。

 

【田中案】

f:id:maedajuku_algorithm10:20140805021235j:plain

ラストバッターは田中徹。彼は建築が専門ではありませんが、このコースで学べることが自分の仕事に活かせる部分が多そうだ、という直観に従ってこの日から(!)途中入塾した塾生です。彼が考えてきた弔いの対象は、都市計画分野の古典の一つとして名高い『アメリカ大都市の死と生(Death and Life of Great American Cities)」の著者、ジェイン・ジェイコブス(Jane Jacobs)。不動産の企画やマーケティングに関わる彼は、この課題を通し、この本の中で彼女が批判したスラム・クリアランス(スラム地域の再開発)に対して、地域のアイデンティティを漂白しないような新しい手法を発見したいと考えてきました。自分がやっていることにグッと引きつけた案で、強いモチベーションが働きそうなコンセプトに、塾長も「面白そうだからこの方向で進めてみてくれ」と後押しです。。

 

***

 

塾生は各人各様、面白い着眼点からそれぞれ可能性を感じる弔いの対象を考えてきていました。次回はこの日に受けたアドバイスを踏まえて案を絞り込み、徐々に具体的な案の検討へと進んでいきます。

 

【プログラミング演習】14:30〜16:00    

f:id:maedajuku_algorithm10:20140805021140j:plain

設計課題「弔いの場」エスキス(約1時間)が終わると、頭を切換えてプログラミング演習が始まります。

この日の講義の主題は「パーリンノイズ(Perlin noise)」。これは、完全にランダム(バラバラ)な乱数に対して、“ある程度の連続性を持った擬似乱数的な数列を生み出すアルゴリズムのこと…もっと簡単にいえば、「ある程度秩序を持ったランダムさを生む方法」のことだと思って下さい。

身近なもので言えば、例えば「雲」のイメージ。雲は一つとして同じではありませんが(そもそも境界も定かではないですね)、それでも「雲」と認識できますよね。これは、雲の素材である水の分子が基本的にはランダムに分散しながら、完全にバラバラではなく一定のまとまり=秩序をもって空に浮かんでいるためだと言えます。そして、まさにこの「雲」のイメージを、パーリンノイズを用いてprocessingで次のように擬似的にシミュレートすることができるんです。

 

f:id:maedajuku_algorithm10:20140805021214j:plain

f:id:maedajuku_algorithm10:20140805021248j:plain

f:id:maedajuku_algorithm10:20140805021210j:plain

1つ目の画像は解像度が粗くてあまり雲っぽくありませんが、2つ目は雲や煙の白黒映像だと言われても分かりませんよね。3つ目も雲のように見えますが、よく見ると大きさの異なる半透明の白い小円がグリッド状に配列されているのだと分かります(この画像を出力するコードでは、この小円の大きさをパーリンノイズで決め、隣り合うセルで緩やかに連続性を持つようにコントロールしています)。

 

<雲>という、私たちが普段目にする“自然”の現象を、コンピューターの中に再現(シミュレート)することができるのです(厳密に言うと、この描画のルールは雲の物理的な生成ルールとは異質なものですが、その底に流れる「秩序あるゆらぎ」という原理は同じです)。塾生も、PCの画面に映し出された雲にとても驚いていました。

 

 

ところで、上にも書いたとおり、この日から途中入塾の田中が加わりました(*゚∀゚)!

彼は方は、ある日ふらっとBAR典座(前田紀貞アトリエが経営するバー)にやってきて、途中入塾は可能かどうか尋ねてきたんです。アルゴリズムを今後どのように使いたいかというヴィジョンが明確で、学ぶ姿勢にとても熱意が感じられたので、急遽今日の講義に間に合うよう、平日にこれまでの講義内容の補講を行い、晴れて合流を果たしました。この塾では、やる気のある方は大歓迎なので、このくらいのハプニングは日常茶飯事です(^_^;)。。

 

また、当塾のアルゴリズム建築コースでは、忙しい社会人ために、平日の夜、日曜日、土曜日の講義前など、塾生の都合に合わせて欠席した講義分のサポートにも力を入れています(講師も建築実務があるので「いつでも対応可」というわけには行きませんが…)。忙しくて定期的に土曜日に出席できない!という方は、補講によるサポートもあるので気軽に相談してくださいね。

 

前田紀貞

 

建築塾【アルゴリズム建築コース】

http://www5a.biglobe.ne.jp/~norisada/SCHOOL/course/index.html - 4

 

いかがだったでしょうか?次回は、引き続き「弔いの場」のエスキスをレポートしていきます!お楽しみに^^

 

 

前田紀貞アトリエ 殿村勇貴