Связывание идентификатора вершины с координатами в PyMeshLab
Я ищу возможность связать идентификатор вершины с координатами.
Используя I, я могу сгенерировать список идентификаторов вершин для ребер, образующих ломаную линию. Как проще всего связать это с реальными координатами?
Использование создает список координат, но не имеет ссылки на идентификатор вершины. Порядок, в котором координаты указаны в
m.vertex_matrix
не похоже, ссылается на порядок, в котором они появляются в
m.edge_matrix
Большое спасибо.
1 ответ
Решение
Матрица, возвращаемая
m.vertex_matrix()
является индексируемой . Строка n соответствует координатам вершины с id = n, поэтому вам просто нужно использовать [] для чтения строки.
v = m.vertex_matrix()
for e in m.edge_matrix():
print("edge", e, "goes from", v[e[0]], "to", v[e[1]])
который производит этот вывод:
edge [0 1] goes from [0.12843863 0.38690682 0.1] to [0.13383933 0.3839188 0.1]
edge [2 3] goes from [0.14307424 0.38100217 0.1] to [0.13592989 0.38318165 0.1]
edge [3 1] goes from [0.13592989 0.38318165 0.1] to [0.13383933 0.3839188 0.1]
edge [4 5] goes from [0.25161905 0.21663008 0.1] to [0.2520413 0.21464215 0.1]
edge [6 5] goes from [0.25537567 0.20097797 0.1] to [0.2520413 0.21464215 0.1]