CA 近傍チェックモジュール

おそらく佐伯さんと蒔苗さんの扱うモデルはCAになります。となるとセルの近傍をidチェックするユーティリティが便利だと思われますので、群ユニット用にCA_neighbourというモジュールを作りました。セルをリニアーに格納した場合の近傍チェックです(多元配列では使えません)。 c:\MASunit というフォルダを作る ↓をDLしフォルダ内にコピーする CA_neighbour.py Rhinoceros を起動→Rhino の コマンドラインで “EditPythonScript” リターン すると Rhino Python Editorが起動するのでTool メニューから optionsを選択→Module Search Pathsの窓の下の + ボタンから 上で作った c:\MASunitフォルダを指定する→ ok →Rhino Python Editorを閉じる→Rhinocerosを再起動→Grasshopperを起動 <使い方> :セル id 0 における セル全体数 幅 5 セル 奥行 5 セル 高さ 5 セル での ノイマン近傍のリストを返しprintします :セル id 0 における セル全体数 幅 5 セル 奥行 5 セル 高さ 5 セル での ムーア近傍のリストを返しprintします :セル全体数 幅 5 セル 奥行 5 セル 高さ 5 セル の全てのセルにおける近傍(ノイマン近傍、ムーア近傍 両方)のリストのリストを表示します。 :セル空間をトーラス(無境界)に設定します。デフォルトはFalse(各辺 境界有り)。

  • Comments Off on CA 近傍チェックモジュール

MAS基本形

ようやくMASの超基本形です。 MAS_00.gh 授業中慌てて書いてしまって正しくない部分がありました。agentがscanを実行して各自の状態が全て更新された後に、次の動作に移行しなければならないので、以下のようになります。2者違いはとても重要でMASの考え方の大前提でもありますので、この辺りは次回説明します。 def proc(self):         for agent in self.agents:             agent.move()             agent.scan(self.agents) def proc(self): for agent in self.agents: agent.move() for agent in self.agents: agent.scan(self.agents)  

  • Comments Off on MAS基本形

programming memo2

120423.zip 今日のセッションで使ったgh+rhino ファイルです。全てのスクリプトが別々のコンポーネントに残してあります。pyコンポーネント自体のPreview  on/off で切り替えてください。 transform について: Py transform 変数のキャスト: py Cast 関数の定義: Py function クラスの定義: Py class (このサンプルのみRhinoのモデル 点 を入力に使います。そのためrhinoファイルが付属します)    

  • Comments Off on programming memo2

programming memo 1

Python: print 見えないデータをコンソールに出力し、内容をチェックする。 インデントが文のまとまりを表現する重要な要素。 import: モジュールをインポートする as によってスクリプト内で使う際の名を設定できる for ループ制御、ラムダ文も使用可能 Grasshopper コンポーネント: データは左から入って、右側に出る Grasshopper Python コンポーネント: 左側の入力名 (x,y など) はスクリプト内で x , y として使用される。スライダーなどからの入力も同様。型を指定することもできる。リストを受け取るように指定することも出来る。 out はコンソールアウト(パネル)に接続する a はライノオブジェクトの出力先。 オブジェクトのリストでも出力できる。 a に出力するオブジェクトのリストはネストすると出力されないことがあるため pipeなどの複合サーフェースは object.append(pipe) ではなく object.extend(pipe) としてリストを結合させること。 Rhino – Python: 頻繁につかうモジュール rhinoscriptsyntax ライノコマンド全般 Rhino.Geometry  ライノ特有の型、基本的な型 Point3dやVector3d —————————————————–

  • Comments Off on programming memo 1

Pythonを選ぶ理由 (Rhino script、C#、VB:Visual Basicではなく)

Rhinoceros 5.x より Pythonが正式サポート、EditPythonScript というコマンドが追加されました。 これによってPythonのスクリプトでRhinoに命令(コマンド)を送れます。 Rhinoにおいて、Pythonの使い道は大きく2通りあります。 1.上記のEditPythonScript でPythonスクリプトエディタ上からスクリプトを直接を走らせる方法。 2.GrassHopperのプラグイン GhPythonを通して、GH上でPythonスクリプトを実行させる方法。 後者のアドバンテージは、GHの特性そのもの:プレビューしながらパラメーターの変更・適用ができること。 両者の基本的な構文は同じである為、RhinocerosをPythonで動かすことは、生産性が高いと思われます。 またPythonは非常にリソースが多く、利便性が高いオープンソースのスクリプト言語です。型などの定義が抽象的なので一長一短ありますが、入門者からエクスパートまで十分仕様に足りる奥の深い言語です。 またGrassHopperはMacOSで動作しないので、依然片手落ちではありますが、Rhino-Python RunPythonScript コマンドは有効ですので、Pythonであれば同じスクリプトがMacでも動かせる可能性が残されています(C#,VBはmicrosoftにより言語仕様が決められている為、プラットフォームもwindows系です)。

  • Comments Off on Pythonを選ぶ理由 (Rhino script、C#、VB:Visual Basicではなく)