我有一个numpy数组,它是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]])
还有一个三角形数组,我假设它们是坐标的id,例如第一个三角形由点18、20、4组成。
array([[ 18, 20, 4],
[ 2, 18, 4],
[ 22, 18, 2],
...,
[108287, 108274, 108419],
[108408, 108422, 108412],
[108438, 108422, 108408]], dtype=int32)
所以我的想法太深了,但是我需要重新构造上面的内容,以便可以将其(插入)添加到数据库中。数据库将期望以下布局,该布局为1m ^ 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
这些值将被它们的坐标替换(因此,将前三个点用作方便):
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)),
...
)
为表示自己的努力,我假设在坐标数组和三角形数组之间进行某种连接,也许使用三角形编号构建结果,然后将它们替换为关联的坐标并进行一些格式化(删除逗号等)。如果有人愿意为我做这件事,那就太好了,但是如果您可以让我走上正确的道路,那也将受到高度赞赏。
对不起,我没有一个多维数据集作为起点,这会使概念变得更容易。