我需要初始化一些三维点,我希望它们在整个立方体中等距分布。有没有创造性的方法来做到这一点?
我正在使用迭代期望最大化算法,我希望我的初始向量均匀地“跨越”空间。
例如,假设我想在一个大小为 1x1x1 的立方体中平均分配 8 个点。我想要边长为 0.333 的立方体角上的点,在较大的立方体内居中。
下面是一个 2D 示例。请注意,红点与彼此和边缘等距。我希望 3D 也一样。
在点数没有整数立方根的情况下,我可以在排列中留下一些“间隙”。
目前我正在取点数的立方根,并使用它来计算点数和它们之间的所需距离。然后我遍历这些点并增加 X、Y 和 Z 坐标(交错以使 Y 在 X 循环回 0 之前不会增加,对于 Z 而言与 Y 相同)。
如果在 MATLAB 中有一种简单的方法可以做到这一点,我很乐意使用它。