graph_1_1 グラフモジュール バージョン1.1

graph_1_0 はモジュールからクラスインスタンスを作る形でしたが、クラス内の関数などがエディタ補完機能で、補完されずに使いにくかったので、モジュール対して直に初期化するようにしました(その代わり複数のグラフを同時に作れません)。その他、関数も追加してあります(ネットワーク距離でのクラスタリング、ward, k-means++ など)。 graph_1_1.py 座標精度により、カーブの頂点がマッチしていないと、グラフがうまく生成されない、というやっかいな問題ですが、スタジオユーティリティーモジュール studio_utility_1_0.py に という関数が実装されています。ライン、ポリラインの始点・終点の座標の指定桁を丸める(切り捨てる)関数です。 これで無理やりライン、ポリラインを変換すると割りとグラフ化できる率があがります。

  • Comments Off on graph_1_1 グラフモジュール バージョン1.1

studio_utility_1_0 更新

download studio_utility_1_0.py studio_utility_1_0.py ユーティリティモジュールを更新しました。 新しい関数は、渋谷さんのプロジェクトで必要そうなものです。 木を配置→ヴォロノイダイアグラムを描く→ghpc.Voronoi(self.treepoints)ヴォロノイセル毎にポリラインが返ってくる→ポリラインを線に分解(su.explodeRsPolyline)→線の重複を除去(su.delDupLineInList)→一筆書きのエッジ組み合わせを作る(オイラー経路を調べること!)→グラフを作る  

  • Comments Off on studio_utility_1_0 更新

studio_utility_1_0 更新

download studio_utility_1_0.py studio_utility_1_0.py ユーティリティモジュールを更新しました。 dorpbox に熊谷さんのプロジェクトファイルを置きました。 下記 checkPolyline という関数を使っています。今後配置問題を解決するのに多用すると思われます。 rev_0609_kumagai.3dm, rev_0609_kumagai.gh

  • Comments Off on studio_utility_1_0 更新

rhinoscriptsyntaxで生成したオブジェクト

意味がよくわからないかもしれませんが、「rhinoscriptsyntaxで生成したプレビューオブジェクトは、コンポーネントを経る時点で破棄される」とい暗黙の仕様があるようで(おそらくメモリリークを防ぐため、メモリをセーブするため)、その認識が甘かったために昨日の諸々のエラーを誘発していたようです。Rhino.Geometryのデータではなく、rhinoscriptsyntaxやコンポーネントの入力オブジェクトを使う場合は、実行しているコンポーネントに入力する必要がある、、、、、、ということで、コードの書き方、スタイルをすこし変更します。 というところに、毎回 site オブジェクトを入力するようにします。つまり として、毎回 site オブジェクトを入力します。proceess コンポーネントに site 入力ポートをつくります。スタジオモジュールのsetBoundary も とproc関数をコールするごとにセットします。 修正版をdropboxに置きます。他の人も参考にしてください。 rev_150609_shibuya.gh, rev_150609_shibuya.3dm 後に熊谷さんのものもアップします。studio_utility_1_0 も更新します。 ※type hint をオブジェクトにあわせて明示するように変更していましたが、↑に注意すればtype hint はすべて標準の “ghdoc Object when geometry (…” で問題ありません。

  • Comments Off on rhinoscriptsyntaxで生成したオブジェクト

選択ノード群の中心ノード

center_node.zip 指定したノード群において、中心となるノードはどのように考えればよいでしょうか。指定ノード群からの分散が最も小さくなるノードを探す場合 mini deviation と 指定ノード群からの距離の合計が基も小さくなる場合 mini-sum のサンプルです。入力点群の最寄が指定ノードとなります。入力ノード群を動かして、どちらが中心ノードに使えそうか試してみてください。 分散の小さいノードを探す 距離の合計が小さいノードを探す

  • Comments Off on 選択ノード群の中心ノード

ノードの情報の書き込み graph_1_0

graph_module_betweenness_view_result.zip とりあえずのサンプルです。 write_info モジュールにつながっている Toggle を True にスイッチすると、ノードのパスカウントをRhinoモデルに書き込みます。Grasshopperのプレビューではなく、Rhinoモデルの実体として(ベイクされたものといえばよいでしょうか)書き込まれてしまうため、値が変わるたびに SelText、 Delete などでテクストオブジェクトを消さなければなりません。面倒です。プレビューでダイナミックに変更するやり方、情報求む。

  • Comments Off on ノードの情報の書き込み graph_1_0

studio_utility_1_0.py 更新

download studio_utility_1_0.py studio_utility_1_0.py ユーティリティモジュールを更新しました。いくつか機能追加です。クラスタリングの関数がありますが、これはユークリッド距離によるものなので、スタジオで必要な”ネットワーク距離でのクラスタリング”はもう一ひねり必要です。それらは後ほど。 クラスタリングは k-means法(クラスタ数指定)、k-means ++ 法(クラスタ数指定)、ward法(ステップ指定)、ward法(クラスタ数指定) となっています。それぞれググればアルゴリズムは調べられると思います。 Rhino-Pythonでのサンプルコード GH-Pythonでのサンプルはこちら 以下実装関数:

  • Comments Off on studio_utility_1_0.py 更新

studio_utility_1_0.py ユーティリティモジュール

studio_utility_1_0.py graph_1_0.py と同じようにセットアップしてください。今後機能を追加していきますが、配置干渉チェック、エリア内外チェックを簡素化するための関数を作りました。 utility_test.zip 住居ユニット配置、樹木配置に使えると思います。取り急ぎアップします。詳しくは次回スタジオか補講で。          

  • Comments Off on studio_utility_1_0.py ユーティリティモジュール