定义 n 个球体,使得没有 2 个球体相互重叠
Define n spheres such that no 2 spheres will overlap each other
我有一个matlab/math问题,
我想定义 n 个球体(每个球体应由一个 3D 点和一个半径定义),这样两个球体就不会相互重叠。
球体应该是完全随机的(只要它们不相互重叠)。
有没有有效的方法?
我知道有一个选项可以每次定义一个比当前最远球体更远的球体(您可以通过 norm(center)+radius 定义球体有多远)。但是这样一来,我们就错过了很多可能的选择(比如定义两个与原点距离相同但仍然不重叠的球体)。
谁有更聪明的方法?
谢谢
无法生成 "completely random" 数据,某些限制始终存在。
您可以生成随机点,然后为该点集构建 Voronoi 图并制作以这些点为中心且半径不大于到最近的 Voronoi 单元面的距离的球体
我有一个matlab/math问题,
我想定义 n 个球体(每个球体应由一个 3D 点和一个半径定义),这样两个球体就不会相互重叠。 球体应该是完全随机的(只要它们不相互重叠)。
有没有有效的方法?
我知道有一个选项可以每次定义一个比当前最远球体更远的球体(您可以通过 norm(center)+radius 定义球体有多远)。但是这样一来,我们就错过了很多可能的选择(比如定义两个与原点距离相同但仍然不重叠的球体)。
谁有更聪明的方法?
谢谢
无法生成 "completely random" 数据,某些限制始终存在。
您可以生成随机点,然后为该点集构建 Voronoi 图并制作以这些点为中心且半径不大于到最近的 Voronoi 单元面的距离的球体