マリオネット・スクリプト解説講座

第36回「メッシュからカラーマップを作る」

ArchitectLandmarkSpotlightDesigner2023

デザインにもシミュレーションにも使える2次元のメッシュモデルを作成して、簡単な最短距離のシミュレーションを実行します。さらに、実行結果をカラーマップで可視化します。

プログラミングでは膨大な数のデータを扱うのが得意ですので、多数のメッシュからなるメッシュモデルも簡単に作ることができます。

メッシュモデルを用いたシミュレーションでは、空間や部材を要素(メッシュ)に分割して、各メッシュにデータを持たせることで事象を解析します。

今回はxy平面に作成したメッシュモデルに2つの観測点を配置して、メッシュから観測点までの最短距離を求めるシミュレーションを実行します。

同時に、Vectorworksが得意とする2Dの表現を活かして、シミュレーション結果の可視化パターンをいくつか紹介します。

36-1. メッシュモデルの作成

xy平面に50×50マスのメッシュを作成します。

配列複製の要領で、x方向y方向それぞれの要素数と配置間隔を指定して、座標データを作成します。ここでは配置間隔を10mmとしています。

x方向の数列と、y方向の数列をMix2(Cross Reference)に入力して、xとyの組み合わせを作成します。そこに配置間隔をかけて座標データにを作成します。

基準点を置いて確認します。50×50のグリッド状の座標を生成できました。

基準点を削除して四角形を配置します。

四角形のサイズは配置間隔と同じ値を使用します。メッシュの座標が四角形の中心となるように、配置間隔の半分だけ座標をオフセットします。Realノードには-0.5を入力します。

すべての座標に四角形が配置されて、プレーンなメッシュモデルが生成できました。

36-2. 最短距離のシミュレーション

それぞれのメッシュから2つの観測点までの最短距離を求めます。

2つの観測点を配置します。ここでは次の位置に配置します。

    • 観測点1:(80,80)
    • 観測点2:(320,380)

Distanceノードを使用してメッシュから観測点までの距離をそれぞれ調べます。2つの距離を比較して、小さい方を最短距離とします。値の比較にはless equalを使用します。

算出した距離を、メッシュに文字図形でプロットして確認します。見易いように値を四捨五入してからCreate Textノードで文字図形を作成します。

メッシュ上に距離のデータが文字図形としてプロットされました。このデータをシミュレーションの結果として扱います。

36-3. シミュレーション結果の可視化

メッシュモデルでのシミュレーションによって、任意の点から観測点までの最短距離を算出することができました。ただ、文字だけ全体の特徴をとらえることは難しいです。メッシュに付与されたデータを元に図形を加工することでシミュレーション結果を可視化します。

文字のプロットの部分は「ノードを無効にする」にチェックを入れておきます。

36-3-1. 凡例による色分け

まずは色分けによって可視化します。値の大きさによって、あらかじめ設定した凡例の色を割り当てます。

次のように0〜8の9段階で色分けの凡例を設定します。

    • 0:0~60
    • 1:61~120
    • 2:121~180
    • 3:181~240
    • 4:241~300
    • 5:301~360
    • 6:361~420
    • 7:421~480
    • 8:481~540

Color InputOrdered Listを使って9段階の色のデータをリスト化しておきます。

各メッシュの最短距離のデータ(dist)が9段階のうちどの色になるのか判定しましょう。次の式で計算します。

n = round( (dist/540) * 9 )

functionノードには次のように入力します。

int( round( (x/540)*9 ) )

この値がリストの番号と対応するので、GetItemを使って色のデータを選択します。

最後にSet Fillノードでメッシュをカラーリングします。

観測点から円を描くように同じ距離のメッシュが分布していることが確認できます。

36-3-2. 図形サイズの増減

次は、値の大きさによって図形のサイズを変化させます。図形のスケールを次の式で決定します。

scale = dist/max(dist)

Extremaノードで距離のデータの最大値max(dist)を取得できます。

Scaleノードで四角形のサイズを変更します。スケールの違いがわかりやすいようにメッシュには任意の単一色を設定します。

メッシュ全体で見ると粗密が発生し、距離の近いところでは祖、遠いところでは密になることが分かります。

36-3-3. 図形の回転

次は図形の回転です。距離のデータを角度として用いて四角形を回転します。

四角形の場合はデータの分布によって粗密が見られ、波形のようにパターンが繰り返される様子が確認できます。

四角形でなく指向性のある図形を使用しても面白いですね。

36-3-4. 柱状体

最後は柱状体です。値の大きさを元にメッシュに高さを与えて、3次元的に可視化します。メッシュの四角形を輪郭図形に指定して、距離のデータを柱状体の高さとして入力します。

実行結果は観測点の位置に谷が生成されたような表現となりました。距離の変化の様子が傾斜に反映されるので、より直感的に把握できます。

この機能を利用できる製品

Architect

Vectorworks Architect

建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品
詳細情報 購入ページ

Landmark

Vectorworks Landmark

地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品
詳細情報 購入ページ

Spotlight

Vectorworks Spotlight

ステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品
詳細情報 購入ページ

Designer

Vectorworks Design Suite

専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品
詳細情報 購入ページ