财富的算法和圆圈作为扫描线

时间:2016-05-03 16:09:40

标签: algorithm geometry 2d computational-geometry voronoi

我认为可以制定类似财富的算法,但是使用圆而不是直线作为扫描线。

说,"圈子事件"遗骸"圈赛事"和点事件定义会略有改变。

还改变了二叉树实现,但略有改进。它成了"二叉树mod 2 * pi"从某种意义上说。

来自原始算法的措辞中的抛物线是椭圆形,其中两个焦点中的一个从它们的准线移动到无穷大,依此类推。

根据圆和极坐标重新计算算法定义是否有任何障碍?可以推广到更高的维度吗?

N.B。:metric是sqrt(x * x + y * y)。

附加:

我试图从圆圈和圆圈内的点推断出等距点的等式。对于点(a, 0)和圈center = (0, 0), radius = r,公式为rho = (r * r - a * a) / (2 * (r - a * cos(theta)))。根据{{​​3}},这个改进方程的形式与极坐标中相对于焦点的椭圆方程的形式相匹配。情节(略微扭曲)在视觉上证明了我的结论的正确性:

Wikipedia's article about ellipse

beach line front arc r = 1, a = 0.9

对于a == r(点位于海滩线上),这个椭圆成为(退化为)一个线段,或者同样地,半径,类似于来自"点事件"原始财富的算法措辞。

1 个答案:

答案 0 :(得分:3)

我知道有两篇论文描述了扫描圆方法来计算2D中的Voronoi图。第二个“并行计算2D VD ......”也显示了它们实现的基准测试结果。遗憾的是,如果您正在寻找类似的内容,则不会提供指向源代码的链接。