回答
这在数学上是不可能的。它只适用于一小部分基本形状。
但是也有一些解决方案,您可以尝试:
分析方法。从P0点开始,在P0周围创建一个球体并与基本形状相交,为您提供一组曲线C0。然后在C0的某处创建另一个点P1。再次,在P1周围创建一个球体并与C0相交,给你一组点C1,你的第三个点P2将成为C1中的一个点。等等等等。这种方法保证距离限制,但它也很大程度上取决于初始条件。
迭代法。基本上是形式发现。您在对象上创建了一些点,并且还在共享距离约束的点之间创建了弹簧。然后你解决春季的力量并相应地移动你的分数。这很可能会将它们推离基础形状,因此您需要将它们拉回到基础形状上。重复,直到你的点不再移动,或者直到距离约束满足容差。
抽样方法。将基础几何体转换为体素空间,并开始挖出所有与新插入点太靠近的体素。这可以确保你永远不会把两点靠得太近,但它也会忍受宽容(可能是性能)的问题。
如果您可以提供有关几何特征和约束条件的更多信息,则可以提供更具体的答案。
你在说什么样的基础形状?无法在空间中放置五个点(最多三个维度),并且所有配对距离都相等。从您提到的分析方法中很容易看出。前三点(ABC)将形成等边三角形;下一个(D)将使它成为一个正常的四面体。当你尝试把第五(E),如果你把它从ABC等距离的,它要么是在d或d超过由ABC定义的平面反射,然后DE不会是正确的距离。 – Cascabel 2009-09-10 18:07:55
我不完全确定你的意思是几何形状的本质和约束......但不规则的形状是一个地方/邻域。节点是纬度和经度点 – saliem 2009-09-10 18:14:46
@Jefromi;你不能让所有点的距离相等,但如果你有5个点和10个距离约束,解决方案*可能是可能的。 – 2009-09-10 18:20:02
大卫说这是不可能的,但事实上有一个回答左边的领域:只有把所有的点上彼此!它们都与所有其他点具有相同的距离:零。
事实上,无论输入形状如何,这是唯一有解决方案的算法(即所有成对距离相同)。
我知道这个问题要求将“均匀”表达出来,但由于没有正式定义,我期望这只是一个尝试来解释“所有成对距离是相同的”,在这种情况下,我的答案是“偶数”。
LOL聪明的解决方案。@ redtuna – saliem 2009-11-06 04:57:20
- 1. 一个形状上的均匀分布算法
- 2. 均匀分布矩形
- 3. 测量形状的均匀性或不规则性
- 4. 在圆上均匀分布点
- 5. 如何在一条线上找到均匀分布的点?
- 6. GraphViz如何在页面上均匀布局形状
- 7. 随机点不是均匀分布
- 8. 正方形上的随机均匀点分布
- 9. 如何在x轴上均匀分布图上的数据点
- 10. PRNG均匀分布
- 11. 如何在mschart中添加均匀分布在XAxis上的点?
- 12. 将非均匀分布转化为均匀分布
- 13. 球体表面点的均匀分布?
- 14. 在ggplot2中水平均匀分布点
- 15. 在均匀分布的矩形边界上生成一个随机点
- 16. 标准均匀分布到离散均匀[a,b]
- 17. 不规则形状
- 18. Android布局中的不规则形状
- 19. 如何在CSS中均匀分布?
- 20. 在多边形中生成均匀分布点的算法
- 21. 如何在Android布局中布局不规则形状
- 22. 圆圈上物体的均匀分布
- 23. 在字母上均匀分布字母
- 24. Powerpoint VBA - 均匀分布列
- 25. 随机均匀分布
- 26. Python适合均匀分布
- 27. 均匀分布差异
- 28. 均匀分布图像库
- 29. 随机均匀分布
- 30. matplotlib条形图:如何在一个postgres-generate_series中均匀分布条形图?
这是一张照片绝对值1000字的情况之一。 – 2009-09-10 17:56:26
你的意思是沿着一个形状的边缘选择一个任意点,然后再放4个点,每个点距离最后一个总周长的1/5?或者按点来表示顶点? – Eric 2009-09-10 17:56:59
这个味道像作业... – 2009-09-10 17:57:58