Grasshopper :: 曲面屋根の最高点の近似値 by Galapagos

以前、Pythonで曲面の最高点の近似値を出す方法を紹介しましたが、今回はGalapagosでやってみました。

【参考:曲面屋根の最高点の近似値】

 

レシピ

[Galapagos]進化的アルゴリズムで解を出してくれるコンポーネントです。(正直、中身の仕組みは理解していません。)

解を出したいパラメーターに[Fitness]を繋ぎ、解を出すための変数に[Genome]を繋ぎます。

今回は、最高高さの点を出したいので、[Deconstruct]コンポーネントの[Z component]が最大になれば良いですね。

なお、通常[Number Slider]コンポーネントを使うところを、[Gene Pool]コンポーネントにすると、[Genome]から繋ぐのが楽になります。

あとは、[Galapagos]コンポーネントをダブルクリックして、[Options]タブ内の[Fitness]で最小値か最大値かを選択し、[Solvers]タブ内の[Start Solver]で計算が始まります。

計算が終わると、最適化された変数が出力されます。

よく見ると、RhinoのViewport上のSurfaceに最適化されている点の様子が見えます。

ちなみにこのGIFでは数秒で計算が終わっていますが、実際はもう少しかかっています。

パラメーターによっては何時間もかかってしまう場合もあるそうです。

Galapagosは様々な用途があるかと思うので、ぜひお試しください。

 

使用した主なコンポーネント
  • [Galapagos] (Params > Util > Galapagos Evolutionary Solver)
  • [Gene Pool] (Params > Util > c)
  • [Explode Tree] (Sets > Tree > Explode Tree)
  • [Construct Point] (Vector > Point > Construct Point)
  • [Deconstruct] (Vector > Point > Deconstruct)
  • [Evaluate Surface] (Surface > Analysis > Evaluate Surface)

コメントを残す