Связывание идентификатора вершины с координатами в 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]
Другие вопросы по тегам