2009-09-10 47 views
2

这是我想解决的问题:如何均匀分布5个点到不规则形状上?

我有一个不规则的形状。我该如何在这个形状上均匀分布5个点,以便每个点之间的距离相等?

+4

这是一张照片绝对值1000字的情况之一。 – 2009-09-10 17:56:26

+1

你的意思是沿着一个形状的边缘选择一个任意点,然后再放4个点,每个点距离最后一个总周长的1/5?或者按点来表示顶点? – Eric 2009-09-10 17:56:59

+0

这个味道像作业... – 2009-09-10 17:57:58

回答

6

这在数学上是不可能的。它只适用于一小部分基本形状。

但是也有一些解决方案,您可以尝试:

  1. 分析方法。从P0点开始,在P0周围创建一个球体并与基本形状相交,为您提供一组曲线C0。然后在C0的某处创建另一个点P1。再次,在P1周围创建一个球体并与C0相交,给你一组点C1,你的第三个点P2将成为C1中的一个点。等等等等。这种方法保证距离限制,但它也很大程度上取决于初始条件。

  2. 迭代法。基本上是形式发现。您在对象上创建了一些点,并且还在共享距离约束的点之间创建了弹簧。然后你解决春季的力量并相应地移动你的分数。这很可能会将它们推离基础形状,因此您需要将它们拉回到基础形状上。重复,直到你的点不再移动,或者直到距离约束满足容差。

  3. 抽样方法。将基础几何体转换为体素空间,并开始挖出所有与新插入点太靠近的体素。这可以确保你永远不会把两点靠得太近,但它也会忍受宽容(可能是性能)的问题。

如果您可以提供有关几何特征和约束条件的更多信息,则可以提供更具体的答案。

+6

你在说什么样的基础形状?无法在空间中放置五个点(最多三个维度),并且所有配对距离都相等。从您提到的分析方法中很容易看出。前三点(ABC)将形成等边三角形;下一个(D)将使它成为一个正常的四面体。当你尝试把第五(E),如果你把它从ABC等距离的,它要么是在d或d超过由ABC定义的平面反射,然后DE不会是正确的距离。 – Cascabel 2009-09-10 18:07:55

+0

我不完全确定你的意思是几何形状的本质和约束......但不规则的形状是一个地方/邻域。节点是纬度和经度点 – saliem 2009-09-10 18:14:46

+0

@Jefromi;你不能让所有点的距离相等,但如果你有5个点和10个距离约束,解决方案*可能是可能的。 – 2009-09-10 18:20:02

8

大卫说这是不可能的,但事实上有一个回答左边的领域:只有把所有的点上彼此!它们都与所有其他点具有相同的距离:零。

事实上,无论输入形状如何,这是唯一有解决方案的算法(即所有成对距离相同)。

我知道这个问题要求将“均匀”表达出来,但由于没有正式定义,我期望这只是一个尝试来解释“所有成对距离是相同的”,在这种情况下,我的答案是“偶数”。

+1

LOL聪明的解决方案。@ redtuna – saliem 2009-11-06 04:57:20