对于一个实验,我们在 Matlab 中生成了一些由 8 个磁盘组成的图像。我们限制了磁盘之间以及磁盘与框架之间的最小距离以及磁盘重心 (COG) 的位置。下面是一个组合示例,其中 COG 位于上部升降机“第三”处
FraXYs = {{4.32, 3.23}, {35.68, 26.75}}
stiDisks = {{{8, 11}, 1}, {{10, 17}, 1}, {{16, 24}, 1}, {{25, 22},1},
{{31, 22}, 1}, {{7, 21}, 2}, {{16, 12}, 2}, {{19, 22}, 2}}
Graphics[{White, EdgeForm[Thick],
Rectangle @@ FraXYs,
Red, Disk[{14.77, 18.91}, 1],
Blue, Opacity[.6], EdgeForm[Black],
Blue, Thickness[0.003],
Opacity[1],
Black,
Disk[#[[1]], #[[2]]] & /@ stiDisks}, ImageSize -> {400, 300}]
我想在 Mathematica 中产生这些刺激。以下是我正在处理的元素(特征和约束)。度量单位为厘米。形状的重心 (COG) 定义为圆盘的面积加权位置。
特点 :
刺激帧: {{xMin,xMin},{xMax,yMax}}
FraXYs = {{4.32, 3.23}, {35.68, 26.75}}
5 个小圆盘:带半径
rSmall=1
3 个大圆盘:带半径
rLarge=2
约束:
形状边缘之间的最小距离:
minDistSha=1
形状边缘和框架边框之间的最小距离:
minDistFra=1
形状 COG 到中心的距离:
minDistCogCenter=2
潜在地,我需要将磁盘的 COG 限制为与中心成一定角度(极坐标系中的 theta 坐标?)。所以我可以选择磁盘坐标,将它们的 COG 限制为在极坐标中每 22.5 度定位一次
angleBin=22.5
Mathematica 中是否有有用的函数来实现在约束条件下的选择Selct
。
我很想知道是否可以使用封闭公式生成具有特定 COG 位置的 1 个组合。
指示性地,我需要获得 1000 首作品。使用 36 度的“theta 约束”,我应该提取 10*100 的构图,其 COG 位于距中心最小或固定距离的 10 个不同的 theta 条上。
请告诉我是否需要澄清。感谢您的关注。