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

評価関数サンプル(媒介度)の続きです。

有向グラフにおいてminisum評価の基になる、各ノードからの他のすべてのノードに行く距離の合計の求め方

#sum to go
for n in g.nodes:
    n.sumdistance = 0
    
for n in g.nodes:
    g.Dijkstra(n)
    for nn in g.nodes:
        n.sumdistance += nn.cost
for n in g.nodes:
    print n.sumdistance

有向グラフにおいてminisum評価の基になる、各ノードへの他のすべてのノードから来る距離の合計の求め方(超絶微妙な違いわかります?)

#sum to come
for n in g.nodes:
    n.sumdistance = 0
    
for n in g.nodes:
    g.Dijkstra(n)
    for nn in g.nodes:
        nn.sumdistance += nn.cost
for n in g.nodes:
    print n.sumdistance

以下のように続ければ、数値の高いノードほどminisum近接性が高いということになります

import sys

maxsumdist = sys.float_info.min
for n in g.nodes:
    if maxsumdist < n.sumdistance:
        maxsumdist = n.sumdistance

for n in g.nodes:
    print n.name, 1. / (n.sumdistance / maxsumdist)
    if maxsumdist < n.sumdistance:
        maxsumdist = n.sumdistance

print "maxsumdist", maxsumdist

Comments are closed.