Rhino/GH-python Graph Module 評価関数サンプル(媒介度)

Rhino/GH-python Graph Module 、内部に組み込まれているDijkstra(Fast)関数や、traceRoute(s)関数を使って、評価関数を作る例です。以下のサンプルはこのライノモデルの使用を想定。

全通りを行き来する媒介度計算(エッジを2つだけ持つノードを含める場合)

#betweenness
for n in g.nodes:
    n.passcount = 0
    
for n in g.nodes:
    g.Dijkstra(n)
    for nn in g.nodes:
        route = g.traceRoute(nn)
        for i in range(len(route)-1):
            if i != 0:
                route[i].passcount += 1

for n in g.nodes:
    print n.name, n.passcount

全通りを行き来する媒介度計算(エッジを2つだけ持つノードを含めない場合)

import graph_1_0 as gph
g = gph.Graph(cvs)

#betweenness
for n in g.nodes:
    n.passcount = 0
    
for n in g.nodes:
    if len(n.edges) != 2:
        g.Dijkstra(n)
        for nn in g.nodes:
            if len(nn.edges) != 2:
                route = g.traceRoute(nn)
                for i in range(len(route)-1):
                    if len(route[i].edges) != 2:
                        if i != 0:
                            route[i].passcount += 1

for n in g.nodes:
    print n.name, n.passcount

Comments are closed.