|
|
1
2
如果你的凹角不是太尖锐,我可能会尝试做一个三维Delaunay三角点集。边界点的沃罗诺伊区域往往是无限的,或者比内部区域长得多。类似地,边界上与多面体的单个面相关联的单元将倾向于沿与它们相关联的面几乎垂直的方向对齐,因为它们都是长而薄的,它们的长轴将几乎平行并指向多边形之外。有点像伪代码
编辑 现在我看到你只想要一个多边形。上述方法是可行的,但最好分两步进行。首先找到多边形所在的平面,做一个点的小样本的最小二乘拟合就足够了。将这些点投影到平面上(这基本上就是您所做的),然后计算二维Delaunay三角剖分以找到边缘点,然后如上所述继续。 |
|
|
2
0
听起来你想计算投影到平面上的3空间点集合的凹壳。对二维情况进行了详细的讨论。 here . |
|
3
0
首先,你要为你的网格选择一个表示。在2d中,我使用以下表示实现了一个python凹面外壳算法: half-edge data structure . 然后,算法在二维(你应该适应三维)可以接近 to alpha shape algorithm, by Edelbrunner. |