こちらの続きです。
閉空間球充填問題 - C#ATIA
問題を出しておいて答えがわかっていない無責任ぶりを少しでも
解消しようとn=6を正月辺りから取り組んでいます。
合成数だとイメージしやすいですね。6=2X3 なので。
イメージ出来る球体の配置は2種類ぐらい思いつくのですが、
まずこちら。
XY平面な対角の位置に2個配置し、その上に90度回転させて
3段積みます。 でもこの配置だと
半径25が限界だと直ぐにわかります。駄目ですね。
"それならば" っと平面的に3個並べて2段にしてみます。
ところが、斜めから見てみると
上の段と下の段で隙間があるんです。つまりもっと大きい球体が
入る余地があるんですよね。この時点で半径は25.4333095です。
但し余地があると言っても、既に3個は平面的な配置でのMAXなので
半径を大きくした分、黄色は赤に寄って行きます。
当然赤は2面に接した状態のため、上に逃げるしかないのですが、
幸い上に逃げるためのスペースがあります。
問題はこの配置をどんなスケッチを描けば良いのか?と言うことに
なってしまい、困惑しまくりました。
悩んで悩んで、結果的に半径を少しづつ大きくしながら、
ピタゴラスの定理を利用したパラメータ作って、式を使って・・・
チマチマと人力ブルートフォースアタック的な方法で
作った結果、これぐらい持ち上がりました。
スマートなスケッチが描けなかった・・・。せめてこちらに記載した
被駆動寸法値が利用出来るのであれば楽なのに。(CATIAは利用出来ます)
解決済み: 被駆動寸法値の利用 - Autodesk Community
進めながらちょっと感じたのは、こちらの正多面体の頂点数であれば、
配置のイメージが出来るかな?
正多面体 - Wikipedia
n^3とn^3+(n-1)^3以外だと、n=12(正二十面体)とn=20(正十二面体)が
楽なのかな? さらに中心に1個配置した13,21も楽なのかな?