実験のために、Matlab で 8 つのディスクから作成されたいくつかの画像を生成しました。ディスク間の最小距離、ディスクとフレーム間の最小距離、およびディスクの重心 (COG) の位置を制限しました。上部リフト「3 番目」に 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 でそれらの刺激を生成したいと思います。以下は、私が扱っている要素(機能と制約)です。単位はcmです。形状の重心 (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 が中心から特定の角度になるように制約する必要があります (極座標系のシータ座標?)。そのため、COG が極座標で 22.5 度ごとに配置されるように制約するディスク座標を選択できます。
angleBin=22.5
Mathematica には、制約下での選択を達成するための便利な関数はありSelct
ますか?
特定の COG 位置で 1 つの構成を生成するための閉じた式が可能かどうか知りたいです。
参考までに、1000 曲のプールを取得する必要があります。36 度の「シータ制約」を使用して、中心から最小距離または固定距離にある 10 の異なるシータ バーに配置された COG で 10*100 の構成を抽出する必要があります。
説明が必要かどうか教えてください。ご清聴ありがとうございました。