- ベストアンサー
無数の点を包み込む球の求め方
こんにちは。 空間上にある無数の点を包み込む球を求めるにはどのように考えたらよろしいのでしょうか? 試しに凸面の立体(多面体)を求めてみましたがここからどうしてよいか分かりませんでした。 何かよい方法というのはあるのでしょうか?
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
こんなの?
その他の回答 (6)
- alice_44
- ベストアンサー率44% (2109/4759)
「無数の点」が、どのような形で提示されているか? によっても微妙に違うけれど… ともかく何らかの形で点たちが与えられているとすれば、 その位置を示す数値が、どこかにあるはず。 座標値以外の何かでも構わない。 そこで見かける最大の絶対値の 10 倍くらいの値を半径とし、 与えられた点のひとつを中心とする球を描けば、 点たちは全て球に含まれている。 ヒトコトで言えば、「でっかい球を描け」。
お礼
ありがとうございます。他の方の意見も交えて求めてみようと思います。
- muturajcp
- ベストアンサー率78% (508/650)
(その球が最小である必要がなければ) その無数の点の1つをOとする Oから無数の点への距離の上限があれば(有界)それをRとする Oを中心,Rを半径とする球は(有界)無数の点を包み込む
お礼
ありがとうございます。まだいろいろ実験中です。他の方の意見も交えて求めてみようと思います。
- foomufoomu
- ベストアンサー率36% (1018/2761)
プログラムを組むのに楽なのは、その無数の点のうちの1点Aを固定的に考え、AとA以外の点の距離を順番に測っていき、最大となる点Bが得られたら、Aを中心としてAB間の距離を半径とする球をとるという方法が考えられます。 他の方法としては、まずそれらの点の重心を計算し、重心を与える点A(与えられた点のどれかと一致するかもしれないし、しないかもしれない)を中心に決め、AとA以外の点の距離を順番に測っていき、最大となる点Bが得られたら、Aを中心としてAB間の距離を半径とする球をとるというのがよいと思います。球の中心と重心が一致するので、用途によっては都合がよいかもしれません。
お礼
ありがとうございます。重心を取る方法を試してみましたが、ちょっと期待した結果とは違いました。ただプログラムが正しいかどうかも分かっていないのでいろいろ試してみたいと思います。
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
球の中心は、最も距離が離れている2点の中間点になり、その2点は球の表面上にあります。
お礼
ありがとうございます。他の方の意見も交えて求めてみようと思います。
- DJ-Potato
- ベストアンサー率36% (692/1917)
もっとも遠い2点を直径とする球を描けば、すべての点が球の中に収まるんじゃないでしょうか。
お礼
ありがとうございます。一つの方法ではありましたが完全には求めることはできませんでした。ただ本当に間違っているかあっているかまでは分かっていません。他の方の意見も交えて求めてみようと思います。
お礼
こんな感じです。ありがとうございます。他の方の意見も交えて求めてみようと思います。