Rhino/GH-python Graph Module 、内部に組み込まれているDijkstra(Fast)関数や、traceRoute(s)関数を使って、評価関数を作る例です。以下のサンプルはこのライノモデルの使用を想定。 全通りを行き来する媒介度計算(エッジを2つだけ持つノードを含める場合) 全通りを行き来する媒介度計算(エッジを2つだけ持つノードを含めない場合)
Author: 管理人
敷地情報の準備
スタジオメンバーで手分けして、敷地周辺の街路をトレースして、グラフ化しましょう。.3dm形式で保存してスタジオのdropboxに置きましょうか。 北青山三丁目地区まちづくりプロジェクト 敷地再開発関係
北青山三丁目地区まちづくりプロジェクト 敷地再開発関係
北青山三丁目地区まちづくりプロジェクト 都営北青山町アパート 敷地: 約 3.95ha 戸数: 25棟 586戸 S32~43 年建設 大きな地図を表示
Rhino/GH-python Graph Module
graph_1_0.py → Rhino-python / GH-Python 用のGraphモジュール version 1.0 です(重みつき有向グラフ、マルチショーテストパス対応フレーム)。スタジオ用拡張モジュール置き場の c:\MAsunit\ 直下にコピーし(始めてモジュールを追加する人はパスも通してください)、アップしてライノを再起動してください。 グラフの作り方は今のところ2通り。こちらサンプルです。 graph_module_test.zip TextDotとそれらをつないだCurveからインスタンスを作る方法(クラスGraphDot) つながったCurveからインスタンスを作る方法(クラスGraph, hclab. Street Viewに近い) 全ノードアクセス 全エッジアクセス 現在組み込んである関数は、ダイクストラ法による最短経路距離計算、ショーテストパス検出のみです。 g.Dijkstra(基点ノードのインスタンス) g.DijkstraFast(基点ノードのインスタンス) g.traceRoute(目的ノードのインスタンス) g.traceRoutesNode(目的ノードのインスタンス) g.traceRoutesEdge(目的ノードのインスタンス) シングルパスダイクストラ、各ノードまでのコスト シングルパスダイクストラ、トレースルート(ノードリスト取得) マルチパス対応ダイクストラ、トレースルート(ノードリスト取得、エッジリスト取得)
設計に使えそうなグラフの指標(スタジオ全体で検討)
住宅系集積: 入口・エントランスから全ての住戸へ最短経路を通った場合の、各ノードの媒介度 → 媒介度の高いノードや経路を充実させる? minisum to come(近接性) 全ての住戸から、全員が来やすい場所 → 集会室や自販機設置場所? minimaxは? 展示室系集積: 全ての展示室間を最短経路で移動させたときの、媒介度 minisum to come(近接性) 全ての展示室から来やすい場所 minisum to go(近接性) 全ての展示室に行きやすい場所 → 展示室群全体の入口? / ローディングの基点? minimaxは? 最小木 MST (Minimum Spanning Tree) : 最小エッジで全てのノードをつなぐネットワーク → エッジ ≒ 廊下などの動線とした場合、低コストといえる?
ノード指定媒介度計測 (StreetView) など
hclab. StreetView の機能説明です。 有向グラフエッジの上り下りの負荷設定は ‘,’ カンマキーを押すと、上り:3.0 下り:-1.0 に設定されます。 キー’1’を押して設定パネル群を出し、edit パネルからスライダーで設定することもできます。 エッジの負荷は、表示モードを”weight” にすると見やすいです。 また “show edge section” チェックを入れると斜めの視点からより見えやすいです。 origin とdestinationから最短ルートを表示した状態で、負荷を変えると結果も追従します evaluation experimental パネル:Betweenness(single path to destination) とBetweenness(multi paths to destination) のいずれかのボタンを押し、目的ノードを選択すると、他の全てのノードから選択した目的ノードへ最短経路で向かった場合に各ノードを通過する回数をカウントします。目的ノードは複数選択できます。同じノードを複数回選択した場合は、そのノードへ複数回向かった媒介回数をカウントします(重み付けに使うことができます)。 Betweenness(single path to destination) とBetweenness(multi paths to destination) はほぼ同じ機能ですが、後者のほうが計算コストがかかる分正確です。Betweenness(multi paths to destination)では、同じ距離の最短ルートが複数ある場合に、媒介度を最短ルート数に応じて分配します。 pick up destinations Betweenness(multi paths) と pick up origins Betweenness(multi paths) も媒介度の評価に使えますが、こちらは目的ノードと出発ノードをそれぞれ指定するためのものです。 目的ノードも出発ノードも複数選べます。出発ノードのみ、同じノードを複数回選択できます(重み付けに使えます) 選択する順番は必ず、目的ノード(単数、複数)、出発ノード(単数、複数、重複あり)となります。
StreetViewテクスチャ
StreetViewでテクスチャ表示の機能制限をはずしました。最新版をhclab / donwlod からダウンロードしてください。ファイルの作り方は Dropbox\MAS-GRAPH_studio_sharing の 0502_TheMontrealPavilion_edge00.3dm montP.png を参考にしてください。.3dmファイルの隣に、pictureframeで貼った. png, .jpgなどのテクスチャを置く必要があります。
Graph tips を GH-python (Grasshopper)で
各典型グラフ参考例にコード(GG, MST, DT)を追加しました → Graph tips Minimum Spanning Tree: MST (最小木) のみ grasshopper , gh-pythonのサンプルを貼ります。 MST_test.gh ポイントは、rs.Addxx などで生成したらいのオブジェクトを全て objs というリストに格納して、最後に 出力ポート a にリダイレクトする、というところです。今回は最初のランダムポイント生成数をスライダで x 入力 に割りあえてています。
Sequential Time-map on directional weighted graph (street network including public transportation on slopes)
This example is about Tokyo Ueno area. Considering about undulating terrain can be ignored when thinking about how various means of transportation shrink cities. When trying to consider about this effects, calculating the ratio of walking speed to the other speed of transportation. In this article, we will show “Time Distance Map” of a city, which has various transportation. The above animation shows traveling time distance map when a traveler move from his origin to destination. The procedure of drawing time distance map. Calculating shortest path and time from a present point. Drawing concentric circles at regular intervals (1 minutes). Moving all points with preserving the angle between origin andRead More »
python excel module (which works on Iron-Python)
簡単な統計的処理分布図作成などexelはとても便利です。同様の機能を持ったフリーのソフトもあります → libre →OpenOffice python 用 excel モジュールがあります。excelの簡単な統計機能を使う想定で、pythonからexcel file の読み書きを行います。 xlwt: 書き込み xlwt-0.7.5 xlrd: 読み込み xlrd-0.8.0 注意: xlwt, xlrd は基本的に c-python用モジュールです。iron -pythonでの動作は保障されませんし、特に最新バージョン(xlwt 1.0.0, xlrd 0.9.3)はiron-python で動きません。xlwt-0.7.5、xlrd-0.8.0が iron-python上で .xls ファイル拡張子に対してのみ動作する模様。 rhino-python, GH-pythoで使う場合のインストール先は、諸説ありますが、本スタジオではここに統一します。 c:\MAsunit\xlwt c:\MAsunit\xlrd と配置してください。配置後モジュールまでのパスも確認してください。モジュールインストール後はライノ本体の再起動が必要です。 書き込みサンプル 読み込みサンプル ヒストグラムの作り方




