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.