Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 三角形网格邻接列表加宽的快速算法_Python_Optimization_Set_Mesh_Adjacency List - Fatal编程技术网

Python 三角形网格邻接列表加宽的快速算法

Python 三角形网格邻接列表加宽的快速算法,python,optimization,set,mesh,adjacency-list,Python,Optimization,Set,Mesh,Adjacency List,我有一个3D三角形网格顶点的邻接列表,其中包含表示为集合列表的每个顶点的相邻顶点的索引。集合的大小可能会有所不同,因为顶点的相邻顶点数可能不同 #示例 顶点=np.数组([ [0.1,0.75,2],#顶点0 [0.35,0.7,1],#顶点1 [0.15,0.3,0.5],#顶点2 ... [0,0.5,0.3],#顶点M ]) 邻接列表=np.array([ {0,1,2,…},#顶点0的相邻顶点 {4,5,6,…},#顶点1的相邻顶点 ... {9,15,4,…}#顶点M的相邻顶点 ],d

我有一个3D三角形网格顶点的邻接列表,其中包含表示为集合列表的每个顶点的相邻顶点的索引。集合的大小可能会有所不同,因为顶点的相邻顶点数可能不同

#示例
顶点=np.数组([
[0.1,0.75,2],#顶点0
[0.35,0.7,1],#顶点1
[0.15,0.3,0.5],#顶点2
...
[0,0.5,0.3],#顶点M
])
邻接列表=np.array([
{0,1,2,…},#顶点0的相邻顶点
{4,5,6,…},#顶点1的相邻顶点
...
{9,15,4,…}#顶点M的相邻顶点
],dtype=object)
我想用在每个顶点周围构造的N个环定义的区域内的顶点索引来扩展列表的每个集合,如下所示(仅示例,与示例代码无关),这样顶点V的邻接集包含它周围N个环的所有索引


我尝试了一种递归方法,但速度非常慢(每个顶点N=3,速度大约为200ms),我很难找到最佳解决方案。此外,我觉得这个任务应该不是很少见,但我没有遇到任何有意义的事情。如果相关的话,请随意将我重定向到另一个线程。

你能编辑你的帖子来解释一下你的编号系统吗?不清楚如何从每个顶点只计算3个顶点,或者它们是如何编号的。例如,绿色顶点似乎有6个相邻节点…编辑了文章,希望现在更清楚。代码和图只是单独的示例。图中顶点V的邻接集将有6个索引,正如你所指出的。我们已经到了。。。但是你的编号系统不清楚。顶点4在哪里?它们是按螺旋线编号还是从上到下编号?另外,在两个上下文中使用N。你说一个“N大小的环”,我假设它是环中的节点数?然后你说“N环”也需要清理。好的,我想我明白你的意思了,现在编辑,如果还有什么不清楚的请告诉我