あけましておめでとうございます。では問題です。
〇問題
1辺が100の立方体があります。この中にn個の球体を入れます。
但し、同時に入れる球体の半径は同一の物とします。
nが1~9個の時、それぞれ最大の半径は幾つになるでしょうか?
(本音は20ぐらいまで知りたいです。)
〇確認
平面と球面が接している状態で交差を作成した場合、接点部分に
点が出来るのが望ましいのですが、残念な事にFusion360では
作成出来ません。 又、球面同士での交差も作成することが出来ません。
その為、今回の為だけにアドインを作成しました。
https://github.com/kantoku-code/Fusion360-CSSPP
(緑色の ’Clone or downlode’ からダウンロードして頂き、
'ClosedSpaceSpherePackingProblem' フォルダをアドインとして
設定して頂けると利用可能です)
こちらの「接触チェック」コマンドにて状態の確認が可能です。
※現時点で正しく判定出来ない場合がある事を確認していますが、
原因調査中です。大半は正しく処理できるはずです。
〇ヒント(には、ならないかも)
・恐らく、ゴリゴリとスケッチを描くことになると思います。
・"立方体に球体を詰め込む" と言う性質上、立方数(n^3 = 1,8,27・・・)は簡単です。
・又、球体が収まっている状態がイメージ出来るものは比較的簡単です。(n^3+(n-1)^3)
・となると、数が少ない割には「3」は結構な難問です。
・個人的には全ての答えは、知りません。お互いに確認し合って頂けると助かります。
・サンプルとして n=2 の場合を添付しております。
「XX個出来たよ~」と言う感じで、アーカイブを添付して頂けると幸いです。
では、かかってこい!!
(よろしくお願いします)
解決済! 解決策の投稿を見る。
回答者: ryoji01. 解決策の投稿を見る。
回答者: ryoji01. 解決策の投稿を見る。
回答者: gymnyan-man. 解決策の投稿を見る。
回答者: ryoji01. 解決策の投稿を見る。
この様な問題が、数学の命題として有名な物があるのかどうかは知りません。
(過去に見つけ出す事が出来ませんでした。)
勝手ながら、閉空間球充填問題(Closed Space Sphere Packing Problem)と名付けました。
比較的類似したものをご紹介。
・球充填
https://ja.wikipedia.org/wiki/%E7%90%83%E5%85%85%E5%A1%AB
空間の制限が無く、密度の問題です。
こちらは解決済みです。
・接吻数問題
https://ja.wikipedia.org/wiki/%E6%8E%A5%E5%90%BB%E6%95%B0%E5%95%8F%E9%A1%8C
魅力的なネーミングです。1個の球の周辺に何個球が接せられるか?
と言う問題です。こちらも3次元に関しては解決済みです。
・Circle packing in a square(正方形の円パッキング)
https://en.wikipedia.org/wiki/Circle_packing_in_a_square
日本語で見付からず。 今回の問題の2次元版。
アドインをダウンロード、'ClosedSpaceSpherePackingProblem' フォルダをアドインとして設定、Fusion内でアドインを起動してHello addin と表示されるところまでは行ったのですが、接触チェックというコマンドが見つかりません。
どこに追加されるのものでしょうか?それとも何かしら環境の準備が必要だったりするのでしょうか。
アドイン実行後「デザイン」-「基準フューチャソリッド」に「CSSPP」のパネルが一番右に追加されないでしょうか?
add-inの導入に慣れていないのでどこかでミスしているのかもしれませんが...どうもadd-inが起動していない状態のようです。
実行しても実行状態にならず、起動時に実行としても同様でした。
add-in本体はFusionのAPIフォルダ内にコピーしてパスを指定しているハズなのですがパスとかこの設定で合っているのでしょうか
こちらで確認したところ、軌道に必要なフォルダが抜けておりました。
申し訳ありません。
アドインの設定等は今までの手順で正しいです。
不足していたフォルダを追加、ちょっと気になっていた部分を修正
しましたので、お手数ですが再度DLお願いします。
https://github.com/kantoku-code/Fusion360-CSSPP
申し訳ないです。
チェック用のアドイン「ClosedSpaceSpherePackingProblem」ですが、
「履歴をキャプチャ」にしているにも関わらず、タイムラインが作られない不具合が
あり修正しました。ver0.0.4が修正後の物になります。
とりあえず簡単なn=1とn=5でそれぞれ半径50と23.205080756887くらいになりました。
n=5のときに小数点以下の桁数がアレな感じで、拘束つけて半径一致させているもののFusion側の精度の雑さ由来な気がするのですがいかがでしょうか
球体の数なのでn=5では無くn=9になりますが、自分も両方共に同じサイズに
なりました。比較的簡単そうなのは、残りn=8ですね。
画像の接触チェック時の警告なのですが、一応トレランスを緩和して
チェックを行うように作っています。(これは想定していました)
しかし、アドインはメモリ上に色々な情報が残ってしまう為、
何度も異なる球体サイズでチェックを行うと、この警告が出てしまいます。
(スクリプトだと、実行後メモリを開放するのでこれが起きないんです)
お手数ですが、現状はアドインを一度停止し再度実行した上でチェックを
行ってもらえると正しく処理できます。
@ryoji01 さんにn=4を解決してもらいましたが、自分が作ったものを添付しておきます。
タイムラインを見てもらいたいのですが、ちょっと不思議な状態になっています。
赤矢印のスケッチですが、緑矢印のオフセット平面上に作成しています。
しかし緑矢印のオフセット距離は、赤矢印のスケッチ内の数値を
参照しています。要は緑矢印のオフセット距離が未来の数値を参照した
状態になっているのですが、Fusion360的にはこの扱いはOKのようです。
(通常のモデリングでは、全く役に立たないTipsです)
又、こちらで記載した被駆動寸法値が参照出来るともっと楽に
作業が出来るのですが・・・。
https://forums.autodesk.com/t5/fusion-360-ri-ben-yu/bei-qu-dong-cun-fa-zhino-li-yong/td-p/9207334
2個・4個の最大半径が既に出ているので、3個の場合は4個以上・2個以下
の半径が最大径になるだろうと予想できますが、今回の場合4個以下の
半径になってしまします。
但し、5個はこの半径が最大のような気がしています・・・。
(僕にも5個はまだ未完成です)
おぉ連日すごいです。個人的にもそれがn=6最大径だと思います。
実は自分も挑戦していたのですが、ここまでスマートな
スケッチが作成出来ませんでした。
http://kantoku.hatenablog.com/entry/2020/01/07/154432
一応添付しておきます。
ちょっと残念なのは、先日のn=5(20200106 v1.f3d)とされていたものが、
今回のn=6より半径が小さい為、n=5は未解決となります。
(簡単な話、n=6から1個抜き取ってもn=5として扱えるからです・・・。)