【发布时间】:2020-03-19 05:31:30
【问题描述】:
我有一个由scipy.spatial.ConvexHull 生成的 3d 点列表给出的凸包。
我希望以某种有效的方式用 3d 点均匀地填充整个体积。
如果我有一种快速的方法来知道一个点是在凸包内部还是外部,我可能会以某种分辨率对每个体素进行矢量化处理,如果它在“内部”则返回其中心,或者如果该体素不返回任何内容它是“外面”。
示例:
对于 2d 点,例如 scipy 的 ConvexHull 示例,
我想计算在红线内均匀分布的点列表。
如何才能更有效地做到这一点?
【问题讨论】:
-
您是否有权访问
ConvexHull对象本身或仅访问顶点? -
@paul panzer 我有访问权限。
-
然后您可以使用包含表面法线的
.equations属性来测试输入/输出。在我看来,您必须提供要在“同质”坐标中检查的点,或者用简单的英语将1附加到每个点的坐标。然后矩阵相乘并检查结果的列。全正列表示内部点。一个负坐标就足以把你放在外面,一个非负但不是严格正的列意味着你在表面的某个地方。 -
或者反过来说,也就是消极的,我说积极的,反之亦然。
-
@PaulPanzer 你能显示代码吗?我不太明白你的意思
标签: python numpy scipy convex-hull