Реструктуризация данных, преобразование 2 связанных массивов в другую структуру данных - PullRequest
0 голосов
/ 09 марта 2019

У меня есть пустой массив, это список координат 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)), 
    ...
)

Чтобы показать некоторые усилия на моей стороне, я предполагаю, что будетбыть неким соединением между массивом координат и массивом треугольников, возможно, построение результата с использованием номеров треугольников с последующей подстановкой их для связанных координат и некоторого форматирования (удаление запятых и т. д.).Если бы кто-то хотел сделать это для меня, это было бы замечательно, но также если бы вы могли указать мне правильный путь, который также был бы высоко оценен.

Извините, у меня нет куба в качестве исходногоДело в том, что это упростит концепцию.

...