У меня есть пустой массив, это список координат xyz
array([[991.614, 267.111, 192.266],
[991.617, 267.098, 192.266],
[991.579, 267.194, 192.266],
...,
[992.952, 267.831, 192.662],
[992.962, 267.87 , 192.667],
[992.962, 267.831, 192.663]])
И массив треугольников, я предполагаю, что это идентификаторы координат, например, первый треугольник состоит из точек18, 20, 4.
array([[ 18, 20, 4],
[ 2, 18, 4],
[ 22, 18, 2],
...,
[108287, 108274, 108419],
[108408, 108422, 108412],
[108438, 108422, 108408]], dtype=int32)
Итак, я далеко ушел от своей глубины, но мне нужно реструктурировать вышесказанное, чтобы я мог добавить его (вставить) в базу данных.База данных будет ожидать следующий макет, это будет квадрат 1 м ^ 3, обратите внимание, что первая координата повторяется, чтобы закрыть грань.
POLYHEDRALSURFACE Z
(
((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)),
((0 0 10,1 0 10,1 1 10,0 1 10,0 0 10)),
((0 0 0,0 0 10,0 1 10,0 1 0,0 0 0)),
((0 1 0,0 1 10,1 1 10,1 1 0,0 1 0)),
((1 1 0,1 1 10,1 0 10,1 0 0,1 1 0)),
((1 0 0,1 0 10,0 0 10,0 0 0,1 0 0))
)
Так что я предполагаю, что сначала мне нужно будет выбрать все связанные точкис первым треугольником: 18, 20, 4, 18
эти значения будут заменены их координатами, поэтому (используя для удобства первые 3 точки):
POLYHEDRALSURFACE Z
(
((991.614 267.111 192.266, 991.617 267.098 192.266, 991.579 267.194 192.266, 991.614 267.111 192.266)),
...
)
Чтобы показать некоторые усилия на моей стороне, я предполагаю, что будетбыть неким соединением между массивом координат и массивом треугольников, возможно, построение результата с использованием номеров треугольников с последующей подстановкой их для связанных координат и некоторого форматирования (удаление запятых и т. д.).Если бы кто-то хотел сделать это для меня, это было бы замечательно, но также если бы вы могли указать мне правильный путь, который также был бы высоко оценен.
Извините, у меня нет куба в качестве исходногоДело в том, что это упростит концепцию.