検索
  • masui

繰り返しの処理 // Anemone,GhPython,Processing...


今回はGrasshopperのプラグインである、

Anemone

を紹介します。

Anemoneは、繰り返し処理を行うことのできるプラグインです。

ここでは簡単な例でどんなことができるのかを見てみます。

Anemone以外のやり方として、GhPython、それからGrasshopperから少し離れますがProcessingでの描画の方法もコードを用いて紹介します。

それでは簡単な例を見てみましょう。

ここでは、Grasshopperにて始点と終点を指定したラインを描き、

そのラインををXY平面上でX方向(TopViewから見たときに右方向)のみに指定の距離だけ移動させて、そこからまた同様にX方向に移動させて、、、、これを繰り返します。

イメージとしては以下の図のような処理(絵が下手ですみません・・・)。

Anemoneを使用して描画する場合

まず、Lineの始点と終点となる点オブジェクトを作成し、【Line】コンポーネントによって1本のLineを作成しています。

この後からAnemoneのコンポーネントが登場します。

ここでは【Loop Start】と【Loop End】を用いています。

以下のキャプチャはAnemoneが使用されているコンポーネント部分の詳細です。

【Loop Start】

【Loop Start】のインプットの「Data」にはこれから繰り返し処理を行いたいデータを入れます。

「Repeat」には繰り返しの回数を入れます。

アウトプットとして出てくる「Data」は、繰り返し処理の内容とつなぎます。

また【Loop Start】のアウトプットの 「>」 を

【Loop End】のインプットの 「<」 とつなぎます。

【Loop End】

【Loop End】のインプットの「Data」には繰り返し処理のデータをつなぎます。

また、【Loop End】コンポーネントを右クリックし「Record Data」にチェックを入れることで、繰り返し処理が行われたすべてのデータを最終的なアウトプットデータとして取り出すことができます。

ここで行ったことをもう一度まとめると、

まずLineを描く。

Lineを、X方向に距離指定して移動させる処理を繰り返したい回数分行う、というものです。

GhPythonで描画する場合

コードの詳細はここでは書きませんが、

やっていることとしては、Anemoneの場合の処理と少し違います。

Anemoneでは「Lineを移動する」という処理を繰り返していましたが、

GhPythonのこちらのコードでは、「Lineの始点と終点を for文 によって繰り返し作成し、それをもとにLineを作成する」ということを行っています。

Processingにて描画する場合

GhPythonと似ています。

for文を用いて繰り返し処理を行っています。

これくらいの例であればProcessingを用いるほうがコードが少なくていいかもしれません。ただ、座標の扱いと、変数の定義には少し気を付ける必要があると思いました。

Processingの場合、座標の原点(0,0)は画面の左上となり、下方向にY座標のプラス という点に注意する必要があると思います。

今回は、GrasshopperのプラグインであるAnemoneを紹介しましたが、

上記のような例であれば、Anemoneを使わなくても【Series】コンポーネントを用いるなどして点を作成し、Lineを作る手順を選択するほうが早いと思います。

Anemoneを使用するほうが処理として早い事例はまたどこかでご紹介できればなと思います。

#generativedesign #grasshopper #processing

852回の閲覧

Copyright © 2018 iSOL JAPAN Inc. All Rights Reserved.