2020年4月26日日曜日

ジェネレーティブデザイン(2)

相反する課題

3つのBOXのマスの検討では、

条件

ボックス1、2、3は平面形状は変更できませんが、高さとその相対位置を変更することができる。

目標

床面積を最大化して、表面積を最小化すること

この二つの条件は一般的には相反する内容ですが、3つのBOXを適切に重なり合わせる(3つのSOLIDをブーリアン演算で結合する)ことで、表面積を抑えながら床面積を最大化することを目指します。

生成の設定について

生成の設定では既定値を受け入れました。
生成の設定
訳がちょっとおかしいので、それぞれを英語版がどのように表示しているか確かめてみました。
  • Population Size : 母数
  • Generation :世代
  • Seed :シード
となります。
母数: 各世代で生成するオプションの数。
世代:作成する世代の数。次の世代は前の世代のベスト解の二つから派生します。

母数が多ければ多いほど、世代が多ければ多いほど、設定した目標に向かってよりよい結果を得ようと進化していきますが、時間もかかってしまいます。

結果の見方

生成ボタンを押すと次の図のような結果が表示されます。
デザイングリッド
赤枠の部分を「デザイングリッド」といいます。このデザイングリッドの個々の3Dビューはマウスで回転することができます。
左上のボタン(下図緑枠)を切り替えることで、下の図のような「デザインテーブル」に切り替え一覧表示することもできます。
デザインテーブル
また、下の図の赤枠の欄は「平行座標」で、結果として各変数がどのような値になったかを示しています。
平行座標
こちらも左上のボタンで切り替えができて、「分布図」として表示することができます。
分布図

フィルタ

平行座標を使って結果をフィルタリングしてみます。まず、床面積と表面積をみて、床面積が大きく取れているうちで比較的表面積が小さなもの、つまり床面積から表面積に向かって右下がりの要素をフィルタしてみます。床面積のバーの上をドラッグして下の図のように範囲を選択します。
床面積をフィルタする
すると、上部のデザイングリッドの数が絞られてくることがわかります。
次にボックス2の高さを大きくとるとすれば、一番右の三つの指標がへの字になるような位置にフィルタを作成します。
高さにフィルタを作成
こうしたフィルタリングを繰り返して、だんだんと候補を絞り込んでいきます。
絞込

今回のような例では、決定的な方向性というのはなかなか見えてきませんが、多くのオプションの中から、適切な指標をもって選択することが可能になります。