拓扑,缩放

时间:2010-08-13 16:18:45

标签: 2d scaling topology

假设有一个2D平面(正方形),里面有一些点。

如何以尽可能均匀地填充飞机的方式移动所有点,但每个点都保持其邻居?

换句话说,我希望这些点尽可能地相互远离,但是它们的位置(拓扑)应该被保留,它们应该放在正方形中。

换句话说,我希望在富点人口区域放大并缩小空白区域。

PS:高维空间有一般的解决方案吗?有直接解决方案还是只有迭代解决方案?

2 个答案:

答案 0 :(得分:2)

一个好的建议是Lloyd's algorithm。但是,您要求的“邻居保留”属性并不清楚。

但是,如果您要问的是以下内容:

  

给出V所包含的图(V,E)   在[0,1] ^ 2和E的点上   细分,没有两个细分市场'   内部相交(即我们有一个   平面图)尽可能均匀地移动点,保留点   平面属性

然后劳埃德的算法会做。

除了: 推广不是根据空间点的位置,而是您为点请求的密度(例如,您可能需要对R ^ n进行高斯测量)。

答案 1 :(得分:0)

这是一个可能的策略草图。

对于原始的P点,从正方形的边界添加一些点(至少是正方形的顶点)。这些点应该从边界均匀采样,如果最初有n个点,则应该从边界采样至少√n个额外点。调用此增强集Q。

然后执行Delaunay Triangulation Q.我们将在下一步中使用此三角测量的边缘。

现在做一个least squares minimization来找到P中点的位置(保持Q-P中的点固定),这样可以最小化边长的平方和。

您可以通过求解矩阵表达式来解决这个最小化问题,因此这是一个“直接解决方案”。

最小二乘问题的解决方案倾向于均衡边缘的长度。因此,小边缘将变得更大并且大边缘将变得更小。这样可以在保留其拓扑的同时更均匀地分布点。

这很容易推广到更高的维度。