我正在尝试生成一组 K 点,这些点在 固定空间内均匀分布 ,我认为单位球体或立方体最简单。对于二维来说这很容易,但不幸的是,当我们上升到任意维度 D 时就困难得多。

我认为这是在“准蒙特卡罗方法”中完成的,但我一直无法找到公式,甚至无法说明这是否是一个易于处理的问题。任何输入将不胜感激。

最佳答案

要了解计算最佳情况“并非微不足道”,请查看 Dense Packings of Equal Spheres in a Cube 论文,该论文解决了 3D 立方体中点的子情况:它具有精确解和“最知名”解,最多仅适用于 28 个点。

它确实提供了一种算法来寻找这些最佳间隔配置,他们称之为“随机台球”程序。但是我不知道这是否可以适用于球体、更高维度或更多点数。

看起来 Finite Packing and Covering 一书中可能涵盖了更一般情况的某些方面 - (我没有副本,因此无法验证。)

2D 情况更易于处理,您可以在 wikipedia 上查看 the squarethe circle 的更多详细信息。

关于java - 如何在维度 D 的单位立方体/球体中生成一组均匀间隔的 K 个点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16825641/

10-13 07:43