Algorithm 点的均匀分布

Algorithm 点的均匀分布,algorithm,space,Algorithm,Space,我希望在n维空间中均匀分布m点。“一致”是指所有最短距离对都具有相似的值 换句话说,我希望点尽可能均匀地填充空间 请问,有人知道如何做到这一点吗?这个问题有名字吗 编辑: 例如,当我有4个点和2D平面时,坐标应该是[0,1],[1,0],[0,-1],-1,0]。只是一个正方形。对于3D,它是一个立方体。但我不确定如果有不同于2^n的点数,该怎么办 另一种思考方法是考虑点是互相排斥的带电粒子。但是运行这样的模拟非常慢…我想你可能想研究一下。我想你可能想研究一下。我相信你可能会感兴趣。这些被用作n

我希望在
n
维空间中均匀分布
m
点。“一致”是指所有最短距离对都具有相似的值

换句话说,我希望点尽可能均匀地填充空间

请问,有人知道如何做到这一点吗?这个问题有名字吗

编辑:

例如,当我有4个点和2D平面时,坐标应该是[0,1],[1,0],[0,-1],-1,0]。只是一个正方形。对于3D,它是一个立方体。但我不确定如果有不同于2^n的点数,该怎么办


另一种思考方法是考虑点是互相排斥的带电粒子。但是运行这样的模拟非常慢…

我想你可能想研究一下。

我想你可能想研究一下。

我相信你可能会感兴趣。这些被用作n.m.评论中描述的均匀分布的确定性模拟。它们经常被用于所谓的“准蒙特卡罗”算法中,在这种算法中,我们不使用随机采样,而是使用某种网格点,这些网格点或多或少均匀地分布在域上


这样的点序列不一定满足您给出的“所有最短距离对都具有相似值”的条件,但我将其解释为更多的是试图描述,而不是问题的硬要求。如果这真的很重要,那么这很可能无法解决您的问题。

我相信您可能会感兴趣。这些被用作n.m.评论中描述的均匀分布的确定性模拟。它们经常被用于所谓的“准蒙特卡罗”算法中,在这种算法中,我们不使用随机采样,而是使用某种网格点,这些网格点或多或少均匀地分布在域上

这样的点序列不一定满足您给出的“所有最短距离对都具有相似值”的条件,但我将其解释为更多的是试图描述,而不是问题的硬要求。如果它真的很重要,那么这可能无法解决您的问题。

这里有另一个想法(它并不完美,但我认为这里没有任何东西是完美的,您可能需要根据您的具体情况进行选择):使用()

一般的想法是,你把你的n维空间,用一个(n-1)维的曲面把它分成两部分。然后分割这两个新闻空间,依此类推。如果你仔细地选择你的曲面(这样它们就可以分成大致相等的体积,避免出现有趣的形状,因为有些定义是有趣的),那么你可以看到这将是你所要求的近似值

这种方法的主要优点是速度非常快(用于视频游戏和空间模拟)。它不会像低差异序列(听起来很酷)那样快速(或统一),但我认为它可以在任意的凸包中工作。

这里有另一个想法(它并不完美,但我认为这里没有任何东西是完美的,您可能需要根据特定情况的细节进行选择):使用()

一般的想法是,你把你的n维空间,用一个(n-1)维的曲面把它分成两部分。然后分割这两个新闻空间,依此类推。如果你仔细地选择你的曲面(这样它们就可以分成大致相等的体积,避免出现有趣的形状,因为有些定义是有趣的),那么你可以看到这将是你所要求的近似值


这种方法的主要优点是速度非常快(用于视频游戏和空间模拟)。它不会像低差异序列(听起来很酷)那样快速(或均匀),但我认为它可以在任意的凸面外壳内工作。

均匀分布是一个概念。“所有最短距离对都有相似的值”和“尽可能均匀地填充空间”不是一回事。例如,在线段上均匀分布点满足第一个条件。@BlueRaja DannyPflughoeft:也是第二个条件。“均匀分布”是一个条件。“所有最短距离对都有相似的值”和“尽可能均匀地填充空间”不是一回事。例如,在线段上均匀分布点满足第一个条件。@BlueRaja DannyPflughoeft:也是第二个条件。您需要慢慢增加球体的大小,直到完全匹配为止。目前还不清楚,随着尺寸的变化,适合体积的球体数量是否是连续的,而且在计算效率上似乎也不高。所以我怀疑有更好的方法(虽然我不清楚它是什么)。如果你可以打包球体,那么你可以对一个盒子中适合多少特定大小的球体进行二进制搜索,这显然是一个单调函数。啊,对不起,我明白你的意思了-是的,你不需要“缓慢增加”。但是它仍然很昂贵而且不连续。你需要慢慢增加球体的大小,直到完全匹配为止。目前还不清楚,随着尺寸的变化,适合体积的球体数量是否是连续的,而且在计算效率上似乎也不高。所以我怀疑有更好的方法(虽然我不清楚它是什么)。如果你可以打包球体,那么你可以对一个盒子中适合多少特定大小的球体进行二进制搜索,这显然是一个单调函数。啊,对不起,我明白你的意思了-是的,你不需要“缓慢增加”。但它仍然昂贵且不连续。