【发布时间】:2021-01-21 01:52:05
【问题描述】:
我有一个边长为 lx(水平)和 lz(垂直)的矩形 R,面积为 A = lx*lz。在这个矩形中,有 N 个随机分布的点。我想将 A 分成 N 个子区域,其中每个子区域是根据点云的每个点周围的半径不断增长的圆来确定的。一旦两个生长圈相交,生成的激进线应该划定两个点的子区域之间的局部边界。矩形 R 的边框应另外划定子区域。
预期结果如下图所示: Expected sub-areas in an example with 6 points
在这部 Youtube 短片中艺术性地展示了大致的过程: https://www.youtube.com/watch?v=BXNvcQTNWXM&ab_channel=stopmotionkim
为了找到子区域,我正在寻找一种近似或精确的算法,它(第一优先级)是有效的,并且可以很好地与 N 扩展(优于 O[N^2],理想情况下是 O[N],尽管我怀疑这是可能的),并且(第二优先级),如果近似,则尽可能准确。
有没有人知道如何做到这一点或有提示如何开始?非常感谢您的帮助!
【问题讨论】:
-
你写过代码还是在寻找理论上的答案?也许CS stack exchange 会更合适。
-
所有圆圈会同时增长,还是延迟增长(如视频所示)?
标签: geometry computational-geometry area