建築でコンピュータ、する?
2021年1月26日(火) 11:22 JST
本学建築学コースでは、三年生後期に建築情報処理としてC言語を学ぶ講義を開講しています。C言語の基礎からということでint型、float型などの変数と型、if文やforループなどの分岐や制御、関数、と一通りの基本を抑えます。が、それだけではどうしても味気なくなってしまうため、プログラミングで二次元のグラフィクスを描こうというグラフィクス回を設定し、フラクタル図形やローレンツアトラクタ、DLA: Diffusion Limited Aggregation(的なもの、簡単な解説はこちら)、などをプログラムするということをしています。
GDL講習会は2017年度から建築生産設計として講義化しており、こちらの講義は建築情報処理でC言語を学んだ上で三次元モデルをプログラミングでつくる方法や考え方を学ぶということをテーマの一つにしています(他、ArchiCADでBIMの基本を学ぶのもテーマ)。教科書どおり立体トラスまで学んだあとの+αを試行錯誤しているのですが、今年度は建築情報処理のグラフィクス回で扱ったフラクタルを、GDLで三次元化する、というネタをやってみました。今回のGDLメモではこれについて簡単に紹介したいと思います。
GDLでは動画が作れない、そう思っていませんか?こちらの記事ではOpenSCADで組木が組みあがるアニメーションをお見せしました。今回はGDLでのアニメーションについて紹介します。もちろん、決して手軽ではありませんが、ArchiCAD本体とうまくやりとりすることで、GDLスクリプトで動画の作成も可能です。
このアニメーションはArchiCADのフライスルーを使って作っています。ArchiCADでシーンをレンダリングしているので、影やテクスチャなども綺麗に表現できます。詳しくは続きを読むからご覧ください。
不定期記事とはいえ、前回のGDLメモからずいぶん間があいてしまいました。さて、先日紹介させていただいた、GDL教科書のkindle化にあたって、初級編である当教科書では割愛したトピックの記憶が蘇りましたので、ここ、GDLメモで紹介していきたいと思います。今回はパラメータバッファを題材にします。
前回のGDLメモではプリミティブ要素を使った滑らかなモデルの記述の仕方について紹介しました。その中で、厚さのないメビウスの輪をエッジの重複がないようにモデリングすると、不自然な箇所が出てきてしまうことがわかりました。確かに厚さのないものは現実世界には存在しませんから、処理がうまくいかないのでしょう。今回は掃引体を使って厚さのあるメビウスの輪、しかも中身が詰まった滑らかなモデルを描いてみましょう。
今回は前回(こちら)告知したように、プリミティブ要素のコマンドを使って滑らかメビウスの輪を描く方法を紹介したいと思います。初回のGDLメモ(こちら)で紹介したメビウスの輪のモデルが下図左、今回紹介するプリミティブ要素によるメビウスの輪が右のものです。モデルの分割数はともに32分割ですが、今回のものは面と面のつながりがスムーズなのが確認できます。初回のGDLメモではモデリング方法を紹介する中で、レンダリング結果があまりきれいではない理由を分割数が少ないからだけではないとしましたが、もう一つの理由は、法線の定義の仕方にあります。