Я только начал работать с графическим инструментом и пытаюсь реализовать алгоритм заливки, чтобы выбрать все связанные точки с определенным значением. Но я бы хотел, чтобы был допуск, чтобы, если есть 2 области, скажем, синего цвета, и эти области находятся в пределах, скажем, 3 ребер друг от друга, будут выбраны все узлы. Я не уверен, с чего начать, хотя я даже не знаю, есть ли способ указать критерии остановки для поиска. Вот свободный старт
import graph-tool as gt
class VisitorExample(gt.BFSVisitor):
def __init__(self, color):
self.color = color
def discover_vertex(self, u):
if (self.color[u] == "blue"):
add_to_fill_list(u)
def tree_edge(self, e):
#dont think this is right but trying to keep track of the very edge of our selection
add_to_edge_list(u)
#assuming g.vertex(0) is blue
gt.bfs_search(g, g.vertex(0), VisitorExample(color))