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

こんにちは^^

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

授業もこの日で3回目となり、受講生はアルゴリズム建築を創る上での思想や、Processingの基礎を少しずつ吸収してきていると思います。

 

      *      *      *

 

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

 

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

f:id:maedajuku_algorithm10:20140606000114j:plain

今回は、アルゴリズム建築を扱ううえで必須となる「非線形とは何か?」についての説明です。「非線形」とは、ある形態や現象の底にひそむ原理が“線形(linear)ではない”ということですが、ではそれがどういう点で「線形」と異なるのか?また、さまざまな分野で使われる「非線形」という言葉が、それぞれの分野で具体的にどのような意味で用いられ、どのようなイメージを伴っているのか…など、「アルゴリズム建築」の実践にあたっては避けて通ることができないこのキーコンセプトを、塾長がさまざまな例を取り上げて解説しました。

 

簡単に言えば、「線形」とは「原因と結果が単純な一対一対応にもとづいて予測できる」というものです。シンプルな数学や物理の方程式のように、そのシステムさえ設定されれば、答は自動的に決定されてくるものをいいます(「シンプルな」と書いたのは、数学や物理の方程式でも少し複雑なものになると「非線形」の関係がそこここに現れてくるためです)。一方で【非線形】とは、そういう予定調和的決定が成されない現象が持つひとつの奇妙な状況といえます。システムがシステム自身で自己調整をするようなシステムについての理解です。
これをリズム・計算可能性・自己組織化・散逸構造・セルオートマトン・DNA・チューリングマシンノイマン型コンピューター・ボトムアップ的手法・フラクタル・カオス、その他沢山の言葉と関連付けて説明されました。

 

大切なことは、アルゴリズム建築とは、計画し得ないものを計画する「非=計画」の姿勢だということです。そう言って分かりにくければ「原因と結果の一対一対応を前提とする従来の“計画”から逸脱しつつ、ある幅を持った空間の“質”“様相”へと接近しようとする」設計思想だと言い換えてもよいでしょう(それでも禅問答のようで分かりにくいかもしれませんが(^_^;)、建築塾で学ぶ塾生たちは徐々にその意味が体得してゆくはずです)。だからこそそれは、「私」や「建築家」「(普遍的)人間」等々という「主体」を信じ続けてきた西洋論理主義と相反する東洋思想(相・禅仏教・老子)などと、本当に深い部分で関わりあってくるのです。

 

もっとも、それが何となく理解できたからといって、一足飛びに建築設計に取り入れることは決して簡単なことではありません。ですが、昔ながらの「計画」概念が限界とほころびを見せ始めてきた今日、これから未来を志す建築人にとって「非線形(あるいは非平衡)」という考え方を理解し、それを各自の建築において実践する途を模索することは、は絶対に避けて通れない道なのです。

 

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

f:id:maedajuku_algorithm10:20140606000139j:plain

塾長によるアルゴリズム建築講義の次は、実際にパソコンを使いながらProcessingによるコーディングの技術を学ぶプログラミング演習です。塾生たちは、前回は初めて見るコンピュータ言語の扱いに戸惑っていましたが、それぞれしっかり復習してきたこともあり、少しずつ慣れて前よりスムーズにコードを打ち込めるようになってきました。

 

ところで、今期の受講生にはタッチタイピングできる人と、そうでない人がいますが、プログラミングにはタッチタイピングがとても重要になってきます。

 

f:id:maedajuku_algorithm10:20140606000240j:plain

ただでさえ、コードの解析などに時間がかかるのに、コードを打ち込むのにも時間が掛かっていては、なかなかプログラミングの勉強が進みませんよね。大切なのは、じっくり考えて素早くコードを打ち込むことです。早くタイピングできればそれだけ限られた時間を有効に使えますし、勉強する時間も増えるので良いこと尽くしです(*゚∀゚)!前田紀貞建築塾のアルゴリズム建築コースでは、さすがにタッチタイピング自体をじっくり教えることはありませんが、苦手な人のためにタッチタイピング習得に便利なサイトもお勧めしていますので、現在タッチタイピングができない方・苦手な方でも大歓迎です。

 

さて、ここで少しだけProcessingプログラミングの中身についても紹介したいと思います。今回は、Processing習得の1つ目の難関である「forループ」。言語に関わらず、プログラミングにおいて最重要な処理の一つに、コンピュータに同じ処理(演算)をある回数だけ繰り返し行わせる「繰り返し処理」がありますが、Processingにおける「for」はこの繰り返し演算を命令する方法です。

 

例えば、「forループ」を使った簡単なコードを書くと、Processingでこのような2次元グラフィックを描くことができます(゚∀゚)↓↓    

 

f:id:maedajuku_algorithm10:20140606000309p:plain

f:id:maedajuku_algorithm10:20140606000314p:plain

f:id:maedajuku_algorithm10:20140606000318p:plain

f:id:maedajuku_algorithm10:20140606000322p:plain

どの絵にも共通して、「あるモノ(描画要素)の繰り返し」が現れていますよね。これが「for」ループでできることの取っ掛かりのイメージを与えてくれる例です。直接グラフィックをいじることなく、「言葉」で指示を与えるだけでコンピューターがこんな絵を描いてくれるなんて面白いですよね。

ちなみに最初のグラフィックはこんな風にProcessingでプログラミングしています。下半分がこのコードの「forループ」の部分で、画面上下のエッジ上にあるランダムな点同士を結ぶ直線を150本描画しています。Illustratorなどの描画ソフトでこれをやろうとすると大変なのは想像に難くありませんが、Processingなら(一度コードを書いてしまえば)左上の「実行」ボタンを押すだけで何パターンでも異なるアウトプットを出してくれます。また、少しコードを改変すれば線の一本一本の色や太さを変化させたり、それぞれの線がフラフラと動くアニメーションにすることもできるんです。

 

f:id:maedajuku_algorithm10:20140606000421p:plain

ところでこの「forループ」、考え方だけ聞くと簡単そうに見えますが、特に初めてプログラミングに触れる人には少し頭を慣らす必要があるようで、分かる人にはあっさり分かり、分からない人は理解するのに少しだけ苦労します(実際、講師陣も初めてプログラミングに触れた際にはここが最初の「壁」でした(^_^;))。

この「アルゴリズム建築コース」でも「forループがProcessing学習の最初の難関」と言われていますが、その分塾生一人一人がきちんと理解できるよう、豊富な事例やミニテストでしっかり指導します。今期の塾生たちも、復習をしながらコツコツ理解を進めています。最初の難関、一緒に頑張りましょう!

 

      *      *      *

 

いかがだったでしょうか?次回は、前田紀貞建築塾の他のコースである設計演習コースの第一課題の講評会があり、アルゴリズム建築コースもいつもの授業はお休みしてこの講評会を一緒に見学します。4ヶ月間の学習の集大成としてそれぞれの「アルゴリズム建築作品」を発表することになるアルゴリズムコースの塾生達にとっては、どのように建築をつくり、どのようにその魅力を相手(聴衆)にプレゼンテーションするのか?を他コースの塾生のプレゼンやそれに対する審査員のコメントなどから吸収し、考えることのできる良い機会です。お楽しみに^^

 

また、この前田紀貞建築塾アルゴリズム建築コースが気になってきた方や「ちょっと詳細知りたいなと」いう方は、下記URLからこのコースの詳細をご覧下さい↓↓。お問い合わせも随時受け付けていますので、ご遠慮なく(^_^)

 

前田紀貞建築塾【アルゴリズム建築コース】

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

 

 

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