Создание графа в ВТК - PullRequest
       14

Создание графа в ВТК

0 голосов
/ 25 апреля 2020

Я хочу создать график с использованием класса VTK https://lorensen.github.io/VTKExamples/site/Python/Graphs/ConstructGraph/

def main():
    g = vtk.vtkMutableUndirectedGraph()

    v1 = g.AddVertex()
    v2 = g.AddVertex()

    g.AddEdge ( v1, v2 )
    print ('Number of vertices:', g.GetNumberOfVertices())
    print ("Number of edges:", g.GetNumberOfEdges())

    g.AddEdge ( v1, v2 )
    print ('Number of vertices:', g.GetNumberOfVertices())
    print ('Number of edges:', g.GetNumberOfEdges())
    graphLayoutView = vtk.vtkGraphLayoutView()
    graphLayoutView.AddRepresentationFromInput(g)
    graphLayoutView.ResetCamera()
    graphLayoutView.Render()
    graphLayoutView.GetInteractor().Start()

- это определенная функция. Но я не совсем уверен, как это использовать.

Например, в networkx я бы сделал

t = [0, 2, 4, 5, 6, 8, 9, 11, 13, 1, 10, 1, 3, 7]
h= [1, 3, 3, 1, 7, 7, 10, 12, 12, 14, 14, 12, 14, 10]
ed_ls = [(x, y) for x, y in zip(tail, head)]
G = nx.OrderedGraph()
G.add_edges_from(ed_ls)
nx.draw(G)

Предложения о том, как создать тот же граф в VTK, будут полезны

1 Ответ

2 голосов
/ 27 апреля 2020

Вы уже нашли правильный API. Просто надо это использовать. Что-то вроде

g = vtk.vtkMutableUndirectedGraph()

# add your 15 vertices
for i in range(15):
    g.AddVertex()

t = [0, 2, 4, 5, 6, 8, 9, 11, 13, 1, 10, 1, 3, 7]
h= [1, 3, 3, 1, 7, 7, 10, 12, 12, 14, 14, 12, 14, 10]

for start, end in zip(t,h):
    g.AddEdge( start, end )
...