3d 在三维Voronoi区域内查找点

3d 在三维Voronoi区域内查找点,3d,volume,voronoi,vertices,point-in-polygon,3d,Volume,Voronoi,Vertices,Point In Polygon,我正在使用Scipy的空间包Voronoi类来生成输入点的3D细分。然后,我在“框”域中随机插入点。我遇到的问题是如何检查一个随机点是否在给定的Voronoi区域内。我想,因为我有每个Voronoi区域的所有顶点,所以我应该能够做到这一点,但我还不能将我的头绕在它周围。有没有什么洞察、示例代码或python工具可以直接做到这一点 非常感谢您的帮助, 某人 更新,我想我遗漏了一些关键信息: 我需要在每个Voronoi区域上循环生成整个区域内的随机点,但只保留特定Voronoi区域的点。我正在对每个

我正在使用Scipy的空间包Voronoi类来生成输入点的3D细分。然后,我在“框”域中随机插入点。我遇到的问题是如何检查一个随机点是否在给定的Voronoi区域内。我想,因为我有每个Voronoi区域的所有顶点,所以我应该能够做到这一点,但我还不能将我的头绕在它周围。有没有什么洞察、示例代码或python工具可以直接做到这一点

非常感谢您的帮助, 某人

更新,我想我遗漏了一些关键信息:


我需要在每个Voronoi区域上循环生成整个区域内的随机点,但只保留特定Voronoi区域的点。我正在对每个区域的整个Voronoi空间中的分布进行采样。

当您有输入点时,最简单的方法是对它们进行迭代,并检查哪一个最接近您的新点


最近的输入点将表示包含新点的区域。

这是可行的,但是我的问题有一个警告。本质上,我需要在每个Voronoi区域上循环生成整个区域内的随机点,但只保留特定Voronoi区域的点。我对每个区域的整个Voronoi空间的分布进行采样。你是受性能约束还是只想让它工作?您的典型区域编号和随机点的数量是多少?你也可以通过凸包的多边形来进行区域检查。只要你想让它工作就行了!区域数可以是1000,随机点的数量可以是100000。请给你更多的细节,我必须尝试编写我自己的代码来实现这一点:对于如此多的区域,最好为区域边界创建一个剖切面,这将导致该区域的凸包。这样可以更快地检查点区域碰撞。