我在立方体中有随机的非重叠球体(静止)。我试图在墙壁上实现周期性边界条件,因此如果边缘上有任何半球,则它出现在另一侧。这似乎是一个研究得很好的问题,但我不确定如何在球体上实现它。 在代码的开头,我会有随机球体位置(c,r),其中c = [x y z]在维度(dims)的立方体内部或边缘上,其中dims = [l b h]。
在多维数据集中选择随机球体的代码:
function [ c, r ] = randomSphere_1( dims )
% creating one sphere at random inside [0..dims(1)]x[0..dims(2)]x...
% radius and center coordinates are sampled from a uniform distribution
% over the relevant domain.
%
% output: c - center of sphere (vector cx, cy,... )
% r - radius of sphere (scalar)
r = 0.15 + ( 0.55 - 0.15) .* rand(1);% radius varies between 0.15mm - 0.55mm
c = bsxfun (@times,(dims) , rand(1,3)) + r; % to make sure sphere is placed inside or on the edge of the cube
% periodic condition
*if*
我正在尝试构建一个代码,如果中心坐标落在边缘或它们之上,那么在球体中应该存在周期性,而另一半应该在另一边。我添加了一个图像,只是为了通过周期性边界条件来了解我的意思。所以边缘上的球体正是我想要的。我该如何处理这个问题?