建築でコンピュータ、する?
2024年12月13日(金) 02:52 JST
GDL講習会で学んだ成果を発表する、GDL作品発表会が今年も行われました。この発表会は、オープンラボとして学部三年生向けにも開放しました。作品発表では時間の都合もあって簡単な説明しか行えませんので、発表作品が年々、着々と建築から離れつつある状況(※)も相まって、そもそもGDLってなに?とか建築でなんでコンピュータ言語を使うの?なども含めてどういった趣旨なのかわかりにくかったかもしれませんが、この講習会は、CAD上でのマウスドローイングでは描けないようなモデルをコンピュータ言語でのプログラミングによって描く方法を学ぶものです。三次元モデルの記述やプログラミングの考え方などを身に着けるために、研究室のM1が講師役、四年生が受講生となって毎年行っています。
(※)好きなものをモデリングしてこよう、というとなぜか建築から離れがちです。なぜでしょうか、、、とはいってもモデリングの考え方などはもちろん建築に応用可能なのでOKですが。
今年度からはこのホームページでも紹介している講習内容(昨年度版はこちらです)に加え、講習内容を発展させた課題(GDLメモで紹介しています)を宿題にするといったスタイルで講習を行いましたが、着々と作品(と講習会)の質が上がっているのは喜ばしい限りです。この発表会は、院生も余興として参加しているため、発表作品ではGDLを使っていないものもあります。この記事では、四年生(受講生)の作品、院生の作品(余興)の順に紹介を行いたいと思います。
この時期には涼しげでいいですね、GDLのブーリアン演算(ソリッド)を多用した鹿威しです。GDLでのプーリアン減算(SUBGROUP)の場合、切り欠かれてできた新しいポリゴンの属性(色など)は、オペレータ(切り欠く形状)の属性が引き継がれます。このため、例えば竹の内側と外側で色を変えたい場合は、ターゲット(切り欠かれる形状、この場合は太い円柱)の色を緑に、オペレータ(この場合は細い円柱)の色を薄緑にし、減算することで実現できます。節の部分や水が流れる様子なんかがモデリングされているとよりリアルになりますね。
Olafur Eliassonによる「Umschreibung」と題された階段上のアート作品(参考)のGDLでのモデリングを試みた作品です。まず注目したいのは手摺の部分でしょうか?第2回GDL講習会では、螺旋階段の手摺を太さのない線でモデリングしましたが、この作品では太さのある手摺としてモデリングしています。このような形状のモデリングにはいくつかの方法がありますが、ここでは円柱の両端をカットした形状によって手摺を表現しています。また、この作品は、上から見ると八の字を二つ組み合わせたような形状をしていますが、この形状を楕円と円の組み合わせによって定義しています。楕円と円によって定義される曲線をスムーズにつなげる、といった処理はプログラミングによるモデリングならではのものですがうまく処理されています。
スカイツリーの三次元モデルです。GDLでモデリングされています。スカイツリーは、断面が上に上がるにつれて三角形から円に変化するよう設計されています。この設計を再現するために、極座標で記述した円と三角形を、Z方向の高さをパラメータとしながら合成していくといった方法を採用しています。このように計算した概形から、鋼管を配置するための頂点を求め、傾く円柱に手を加えたものを呼び出し(CALLし)モデルを作成しています。断面が変化しながら少しづつ配置が変わる鋼管によってファサードの表情が微妙に変化していますね。展望台なども合わせてモデリングしてあり、よく出来ていると思います。実物の近くにお住みの方、このモデルの出来はいかがでしょうか。
傾く円柱を改良したものを組み合わせてモデリングしたタワーです。こちらもGDLのみによるものです。極座標を基本に各フロアの平面をモデリングしていますが、ランダムに操作されている部分があるため不思議なファサードになっています。内側にも似たようなモデルがありますが、こちらは外側のモデルと少し変化が付けてあり、タワー全体を支えているかのようなイメージがあります。スラブや外装のガラスがモデリングされているため、ビル、あるいは展望台のようにも見えます。
立方体を再帰させたフラクタル図形です。メンガーのスポンジ、立方体によるメンガーのスポンジの逆のようなモデル、シェルピンスキーのギャスケット、といくつかのフラクタル図形を作成してくれました。GDLでは、自分そのものを呼び出す(CALLする)ことができないため、再帰を表現するのは手間がかかります。この作品では、C/C++言語によるプログラミングからGDLのコードを書きださせることでモデリングしています。C/C++でGDLプログラムを書き出させる方法は第7、8回講習会(こちらです)で扱いましたが、再帰をC/C++で書いてしまうというのはいいアイディアですね。
球体に隕石のようなものが衝突し、球体が変形していく様子を表したモデルです。この作品はC/C++で計算を行っています。球体の分割が荒いため少し変化が捉えにくいですが、上手く衝突する隕石を設定できれば月のようなモデルも作成できそうですね。レンダリング画像はそんなイメージで作成されたものです。左から右に行くほど隕石による変形が大きくなっていますが、一番右のものでは、衝突によってクレータのように球体が凹んでいる様子がわかるかと思います。
第7、8回目の講習会では、C/C++言語によってGDLコードを生成させるといったテーマの中で、ビルのような建築モデルをCALLし街並みのような三次元モデルを作成しました。これはそれの町家版です。CALLする町家モデルはGDLで、町らしくそれらを配置するためのコードは、アルゴリズミックシティに関する研究の中で、C/C++で計算されたものです。 ビルモデルと町家モデルの違いは使用しているテクスチャと概形(ビルは直方体、町屋は切り妻なので五角柱)のみのように見えますが、テクスチャのはり方が実は違います。GDLでテクスチャをはるには、DEFINE MATERIAL文でテクスチャとして利用したい画像を指定し、形状記述の前にSET MATELIALを行い、PLANEやPRISMなどを記述すればいいのですが、この方法だとテクスチャ座標を扱えないため、壁の端とテクスチャの端を合わせるといった調整ができません。この町家モデルの例でいうと、桁行方向の面のテクスチャは左から入り口、掃き出し窓といった順になるようはられていますが、こういった調整ができず、図面上に配置すると隅のところに入り口がきたり開口部がきたりしてしまい、違和感が生じてしまいます。こういった問題を解決するために、この町家モデルでは、プリミティブ要素のうち、TEVEという、VERTにテクスチャ座標を扱えるような拡張が加えられた頂点定義コマンドを使っています。このTEVEコマンドによってテクスチャ座標を調整しながらモデルを記述することで、ファサード面にテクスチャを違和感なくはれ、画像のような昔の街並みを表現することができます。TEVEについてはいずれGDLメモで紹介したいと思います。
ArchiCAD上での操作をリアルタイムでARに反映するシステムのデモです。右のウィンドウがArchiCAD、左がARです。小さくて少々見づらいですが、ArchiCAD上で柱などの部品の作成・編集などの操作を行うと、それらがデータベースにアップロードされます。AR側のプログラムはデータベースを常時監視しており、データベースが更新されるたびにデータベースから部品情報をロードし、模型上にCAD図面上の部品と同じように三次元モデルを重畳していきます。このシステムの実用を考えれば、オペレーターがCADを操作し設計案の変更を行い、クライアントの目の前の模型上に重畳された三次元モデルでのプレゼンテーションや設計検討を行うといった提案ができますね。
螺旋の描き方を応用した二枚貝のモデルです。GDLで記述されています。貝のモデルは螺旋によって定義できるものが多いようで、巻貝のモデルなどは時々目にします。このモデルをよく見ると、螺旋半周分の中心線(スイープする軸)が蝶番の中心から外周円の中心に向かって定義されていることがわかります。イモ貝を代表に、貝殻の模様はセル・オートマトンで描けることも有名ですが、貝というものはなかなか幾何学と近しいもののようで、神秘的な何かを感じますね。
建築物の精緻なデジタルアーカイブ化に関する研究で作成した、法華経寺五重塔の初層四天柱付近と二層目三手先付近を物理エンジンに出力するデモです。物理エンジンにはOpen Dynamics Engine(ODE)を利用しています。ODEでは、このデモでお見せした部品のように、ある程度複雑なモデルであっても処理を行うことができます。デモの前半では、四天柱を前後左右に動かすよう力を加えています。しばらくすると頭貫の蟻が外れてしまい、頭貫は落下し始めますが、四天柱は足固め貫によって倒れずに耐えています。実際このような挙動になるのかは不明ですが、眺めているとなかなか面白いですね。
ARに物理エンジンを用いたデモです。物理エンジンを用いることで、3DCGに現実感のある動きを与えることができ、これをARで表現することで、より自然な合成シーンを得られます。こちらのデモでは、物理エンジンにPhysxを利用しています。3Dモデルには球と立方体しか使っていませんが、より複雑なモデルを用いることももちろん可能なので、物理エンジンを用いないと現実感のある表現ができない物体(例えばカーテンなど)の表現など、様々な利用方法が期待できるかと思います。このデモでは物体同士の接触によりかなり大きな力が働いていて、接触するたびに立方体がはじき飛ばされてしまっているため、自然さを追求するならもっと力のかかり方を調整したほうがいいかとは思いますが、これはこれでストレス解消になって面白いかもしれませんね。
今年度のGDL発表会もなかなかの力作ぞろいでした。各作品を簡単に紹介しましたが、寸評の中で紹介しきれなかったプログラミングやプログラミングによるモデリングのテクニックは、今後GDLメモで取り上げていきたいと考えています。