2024年7月24日(水) 00:03 JST

GDL作品発表会 2010

  • 2010年7月 5日(月) 22:16 JST
  • 投稿者:

今年もGDL講習会で学んだ成果を発表するGDL作品発表会(通称GDL運動会)が行われました。今年で4回目の発表会になりますが着々と作品の質があがり、研究室の院生(講習生ではありませんが余興?としてGDL作品を作っています)のハードルもあがってきています。建築物からおもちゃ、折り紙まで、いろいろなモデルを作成する中で言語によるモデリングに慣れていければいいですね。では、今年度の作品を紹介していきます。



◆GDLのみによる作品◆

ヨーン・ウッソン設計のシドニー・オペラハウスのモデルです。オーストラリアのシンボルともいえるこの屋根形状ですが、球体から切り出したピースの組み合わせで構成されています。このモデルでは、二枚目の画像をひとつのGDL部品として作成してあり、パラメータを変えたものを6セット用意して図面に配置することで一枚目のようなモデルを作成することができます。


ネジ巻きで動く車のおもちゃです。レンダリングの綺麗さも然ることながら、それぞれのパーツが細かく作られていることにも注目ですね。ネジとゼンマイの接続部も全てモデリングされているようです。赤い雄ネジの部分などはPLANEによる多面体としてかかれているので雌ネジ部分はソリッド演算で済ますことができません。(GDLではサーフェスモデル(表面のみで中身が空洞)とソリッドモデル(中身が詰まっている)が区別されていて、PLANEなどでかかれたサーフェルモデルでは、ソリッド演算(SUBGROUPなど)を行っても上手く差分がでません。)雌ネジ側でも雄ネジで使った座標点群を使ってネジ山をモデリングしてあります。


折り紙でつくる正二十面体のくす玉です。正二十面体そのものの頂点は「チカラ技で求めた」とのことですが、この頂点を利用して三角錐のユニットを呼ぶことでくす玉をモデル化しています。三角錐のユニットの色の配置は二通り(時計回りと反時計回り)あるのですが、ユニットの呼ぶ際にどのパターンかをパラメータとして与えること実際、折り紙で折ったときと同じ色配置になるようになっています。


坂茂設計のフォレストパークパビリオンのシェルのモデルです。講習会で学んだシェルを発展させたモデルですね。シェルを描くループの中で、トラスパーツがどのタイミングで生成されるかを上手く制御してあります。二枚目を見ると縦と横の部材が高さ方向に少しだけずれて配置してあるのがわかります。細かいところまでテクニカルな処理がされています。


まるで何かのウイルスのようですね。球体をベースに一部を外側に押し出すとこのようなモデルになります。もちろんモデルの一部を押し出すといったコードはGDLにはありません。このモデルではベースとなる球体は極座標の要領でかいていますが、この時にRを操作する処理を加えることで押し出しを表現しています。また、表面が滑らかにシェーディングされていることに気付きましたか?一般的にGDLではポリゴンをかくときPLANEが使われますが、プリミティブと呼ばれるコード類を用いることでこのように滑らかな曲面をかくことも可能です。これについてはいずれGDLメモで紹介したいと思います。


こちらは五重塔の相輪です。彫刻的な部材がありますが、なんとこちらの部分も他の作品同様にパラメトリックにモデリングされています。形のもつ幾何学的法則をうまく取り出して数式化することがGDLによるモデリングの基本ですが、基本を積み重ねることで、このようなモデリングもできるようになるんですね。五重塔と合わせると右のようになります。相輪がのることとやはり五重塔らしくなりますね。


こちらは設計競技の作品にGDLを応用した例です。繊維で構成された薄いスクリーンのようなファサードを表現するのにGDLを用いています。GDLモデルは建具や家具などの他にもこういった複雑なイメージパースを作成するのにも利用できます。スクリーンのファサードが二次元のイメージの合成でなく三次元モデルで表現されているため、床や海面に影が落ちるのはもちろんのこと、スクリーン自体にも微妙な陰影が表れ表情豊かなイメージパースが出来上がっていますね。


GDLでの掃引体の実装です。詳しい説明はこのページにお任せしますが、右の8の字のモデルの考え方はぜひ来年度のGDL講習会で取り入れたいですね。


◆C/C++とGDLよる作品◆

これらの作品はC/C++プログラムで計算を行い、計算結果をGDLのスクリプト形式で書き出しています。


三角形をもとに再帰を繰り返すことで山のような地形を作っています。講習会で取り扱った自由曲面を思い出してください。あるx、yの組み合わせに対してzが(一つ)決まるといった具合に設計しているので、図のようにオーバーハングした崖はかくことができません。このモデルでは、三角ポリゴンを再起させる際に少しランダムに動かしていくことで自然な地形を描いています。モデルの色によっては割栗石のようにも見えますね。


この有機的なファサードを持った高層建築は、メタボールで形態生成をしました。メタボールのサーフェスを構築するアルゴリズムはいくつか挙げられますが、ここではマーチングキューブ・アルゴリズムを用いました。メタボールのコアの配置には、evolo2010に応募したTHE LIVING CELLと同様のアルゴリズムを用いています。実寸を意識してテクスチャを張ることで、違和感のないフォトリアルなレンダリングができますね。


画像の濃淡から三次元のメッシュを生成するC/C++プログラムです。ペイントでかいた絵でも左図のように三次元化できます。以前のGDL運動会で作成した先生のスキャン結果をコンター図にしたもの(詳しくはこちら)からメッシュを作成すると中図のようになります。もう少し真面目な使い方では、二次元のノイズ画像を読み込ませることで右図のような地形メッシュを作成することができます。この図では、二次元のフラクタルノイズ画像(WEBから拝借)をもとに地形メッシュを作成しています。フラクタルノイズによる地形は映画の添景などに使われていますが、設計案の添景や敷地などにも利用できそうですね。


メタボールから生成される形状ははわりと建築と親和性があるように思います。例えばプランニングで配置されるコアをメタボールに置き換えれば、なかなか有機的な設計案ができそうです。こういったアルゴリズミックデザイン、有機的な設計では、得られた形状を建築物へと落とし込むための図形的な処理として当たり判定が必要な場合があります。そこで多面体と多面体の当たり判定をC/C++プログラムとして実装したものがこちらです。ここでは、メタボールで作成した領域(多面体、図では半透明)と、ランダムに発生させたキューブ(図では黒)との当たり判定を行い、左図、中図では内側にあるキューブのみを、右図では内側と交差しているキューブを残してあります。キューブのエッジが領域を構成する面上にあるか否か、領域外の点とキューブの頂点を結ぶ線分が領域面とどのように交差するかで当たり判定を行っています。


◆C/C++のみ、他の言語による作品◆

こちらはC/C++プログラムによる作品です。3D テクスチャという技法を用いて、ある木材から部品を切り出したらどういった木目になるかをシミュレーションしています。左図は方斗、右図は鬼斗で、両方もと伝統木造建築の三手先に用いられる部材です。少し木目の濃淡が強すぎる気もしますが、なかなか現実的なシミュレーション結果かと思います。木目にはリアリティを出すためにパーリンノイズによってゆらぎを出しています。


こちらは、アニメ監督板野一郎氏による、「板野サーカス」と呼ばれる技法をProcessingで再現してみたものです。「板野サーカス」はミサイル群(飛び方に数パターン)と回避行動をとるターゲット、そして独特のカメラワークからなっています。ここでは、ターゲットの飛行軌道はエルミート曲線を使って決定されています。これは始点、終点、始点からの接線(方向線)、終点からの接線(方向線)から曲線を直感的にかくことができる曲線で、滑らかな線をかくのに適しています。



//

今年もいろいろなGDL作品ができました。建築に関係があるのか難しいものもありますが、言語によるモデリング、プログラミングでどのようなことができるかの参考にはなったかと思います。三次元CADが普及しつつあり、三次元モデルを扱っての設計が一般的になりつつありますが、まだまだ三次元CADのツール類ではかけない形状は随分あるのですね。当研究室では日常的に設計や研究の中でGDLあるいはC/C++言語による三次元モデル作成を行っていますが、こういった中で面白い形状などがあればGDLメモアルゴリズミックデザインページのギャラリーなどで紹介していきたいと思います。