検索
  • masui

Anemoneによる再帰処理(樹木の作成)


新年あけましておめでとうございます。

平素はご愛顧を賜わり、厚く御礼申し上げます。

2019年も宜しくお願い申し上げます。

さて、今年初めのブログの記事は、Grasshopperによる再帰処理についてです。

再帰処理とは、関数を何度も繰り返し呼び出して処理を行うことです。

例えば、喫茶店でコーヒーを一杯頼んで、コーヒーの量がゼロになったら、

その半分の量をおかわりをする、というものです。

それを飲んで、またコーヒーの量がゼロになったらその半分の量をおかわりする。

コーヒーの量が一番初めに200mlだとして、それを飲み干したら

次は100mlの量をおかわり。それを飲み干したら、次は50mlの量をおかわり・・・。

どんどんコーヒーの量はゼロに収束していきますね。眠れないことでしょう。

この例でいうと

関数 →→→ コーヒーの量がゼロになったら最初の量の半分をおかわりをする

ということです。

この関数を繰り返している状況が上記の例(コーヒーを飲んでは半分おかわり、飲んでは半分おかわり・・・)です。

幾何学の分野では、フラクタル図形(フランスの数学者ブノワ・マンデルブロが導入した幾何学の概念)

などが再帰処理を用いて作成されます。

ググってみるといいかもしれません。

それでは、今回はそんな再帰処理で作成される図形をGrasshopperで書いてみましょう。

ここでは樹木の形状(2D)を作成していきたいと思います。

使用するプラグインは「Anemone」です。

樹木の形状が生成される簡易的なプロセスを考えてみましょう。

地面があり、そこから天に向かって幹(枝)が一本生え、それが二つに枝分かれする。

枝分かれした二つの枝は、更に最初の長さの半分(例えばです)の長さで伸び、そのあとまた二つに枝分かれする・・・。

図でイメージしてみましょう。

以下が完成形のコンポーネント群とPreview画面です。

一番初めの【Curve】コンポーネントにはRhino上でFrontViewよりLineを書いたものを格納(定義)してください。

以下に作成プロセスの動画をのせておきます。

Grasshopper側で「Pipe」を使ってLineに太さを与えてもよいのですが、処理が重くなるので、CrvをBakeしてから、Rhino側でPipeコマンドを実行することをオススメします。

#Rhinoceros #grasshopper #Anemone

205回の閲覧

Copyright © 2018 iSOL JAPAN Inc. All Rights Reserved.