• 締切済み

続 最小包含円

ametsuchiの回答

  • ametsuchi
  • ベストアンサー率31% (81/257)
回答No.13

皆さんさん、おはようございます。 ■前置き: 先ず、例によって誤りを訂正。すいません。No.11で「「解析的な解」を求める可能性は=0か」は勿論、「2,3,4点の組み合わせ」で総当たりすれば、可能です。 ■厳密解: seianさんがNo.4で正しく整理してくれたように、 1)2点で決る場合 2)3点で決る場合 3)4点で決る場合 があります。プログラム上は、勿論、 4)0点の場合---------------->球は決らない。 5)n点が1点に縮退する場合--->この点を中心とし、半径=0の球 も考慮しないといけません。実は恥ずかしながら、一般に円の場合最大3点、球の場合、最大4点だと思いながら、具体例を想定して、seljuさんの主張する3点で納得してました。 点の数が非常に少なければ、全ての2,3,4点の組み合わせを考えてもいいのでしょう。nagataさん、No.7で折角いいアイデア出したのに、No.12で 「点A、Bが交互に最も遠い点になるとしたら、球の中心は線分ABの中点を通り、線分ABを法線に持つ平面上にあるとか」 というのは、seianさんのNo.4はおろか、前スレッドのseljuさんの元々のアイデアより後退しています。この2点では駄目だから3点法を考えたものの、私やseianさんの指摘するような問題が色々出てきたのです。 ■整理: だから、私なりに整理すると、 A)「2,3,4点総当たり方式」で厳密解を求める方法で、処理効率上問題ないか? ===>多分将来リバースエンジニアリングを考えるとNG? B)「2,3,4点総当たり」しない効率的な方法で、厳密解が得られないか? ===>seianさんが模索している、もしくはしていた。おそらくseljuさんも。 C)反復手法、それも絶対収束する方法。 ===>nagataさんの案もそのうちの一つ。 A)では面白くないし、C)なら、できるだけ収束し易いエレガントな方法が望ましい。で、何とかならんものかと考えたいのですが、今日一杯は時間が取れず、若い柔軟な頭に先ずは期待しようかなと..。

関連するQ&A

  • 最小包含円

    空間上に適当に散りばめられた点群を囲む、最小の球(中心と半径)を求めるプログラムを作っています。 用途はCADですので、数学的な厳密解ではなく、トレランスを与えたあいまいな最適解を求めたいのですが、 もっとも低コストな求め方、エレガントな解法、この分野に強い方、教えて頂けないでしょうか。 今現在は、こんな感じで誤魔化しています。 (1) 最大距離になる2点を直径として、その内側に他の点群がすべてあったらそれを採用。 (2) (1)の外側に点群があったら、(1)の中心点から一番遠い点を使い、 3点による球で、再び内側に点群がすべてあるか確認。 (3) (2)の球の外側に点群があったら、再び中心から最大距離の1点と、 (2)の3点のうちの、上記の点との最近点とすりかえて、球を定義、再び全点確認。 (4) (3)を繰り返す。 とりあえず稼動確認したところ、それなりに良さそうな球が求まったのですが、いまいち納得できません。 よろしくお願いします。

  • 最小包含円(補足)

    質問ではないのですが・・・・。 昨日seljuさんの質問に対して書いたことがちょっと正確でないことに 気が付いたのですが、今朝見たらもう既に締め切られた後でしたので・・・。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=88669 seljuさんの質問(に対するametsuchiさんの回答)に対して、 「初期球としてはこのBoxに内接する球ではなく、このBoxの中心を中心とし、 このBoxの一番長い辺の1/2を半径とする球でいいようにも思えるのですが・・・」 と書いたのですが、場合によってこの方法では最小にならないことに気が付きました。 (例えば、最長辺の両端の面を構成した2点が最長辺のうちの1つの辺の両端点で 他の点はすべてBoxの中心付近にある場合など) 結局、 「Boxの最長辺の両端の面を構成した(つまり両端面上にある)2点を直径とする球を 初期球とする」 に変更すればよいように思えます。この場合たまたま一方もしくは両端面上に複数の 点がのっている場合は、各面ともそのうちの任意の1点を選べばいいでしょう。 私はCADなどやっとことがない方なので、どうも3次元のことを考えるのは あまり自信が持てませんので、どなたかコメントを頂ければ幸いです。

  • 答えだけでもいいので、お願いします。

    答えだけでもいいので、お願いします。 「二重球殻の電場と電位」 外側にある半径aの球殻に総量Qの電荷が一様に分布しています。 内側に半径bの同心球殻(a>b)があり、総量-Qの電荷が一様に分布しています。 1.球殻の中心Oから距離rの点での電場Eを求めてください。 rがふたつの球殻の外側(r>a)の場合も、外側と内側の球殻の間(b<r<a)の場合も、二つの球殻の内側(r<b)の場合も求めてく ださい。 2.電場を積分して、球殻の中心Oから距離rの点での電位φを求めてください。 rがふたつの球殻の外側(r>a)の場合も、外側と内側の球殻の間(b<r<a)の場合も、二つの球殻の内側(r<b)の場合も求めて ください。 無限遠点の中心の電位を0とします。 多くてすみません。 一部でもいいのでお願いします。

  • 同心球導体球の接地について

    同心球導体球の接地について、過去に質問されていなかったのでおねがいします。 同心球導体球において、外側の球に電荷Qを与え、内側の球を接地した場合、電界はどのようになるのでしょうか? (内側の球の半径a、外側の球の内径b、外径cです。) 回答は、 a<r<b、c<rの場合についてお願いします。

  • 東方明珠塔(上海のテレビ塔)の料金が良くわかりません

    上海旅行に行くのですが、「東方明珠塔(テレビ塔)」のちゃんとした料金がわかりません(高さによって50元or100元とありますが) テレビ塔の写真を見ると、上球(とても小さい)、中球、下球(中球と下球の大きさは同じに見えます) ・疑問点 1・下球(無料)中球(50元)上球(100元)なのか? 2・下球(50元)中球(100元)上球(登れない??) のどちらなのでしょうか? 1ならば、「中球の高さで十分と思うので50元でやめておく?(中球と上球のメートル差そんなにないように見えるから、上球行くのに+50元払うのはやめよう)」 2ならば、「下球は低い、頑張って100元だして中球まで行こう」と同行者と相談中です。 どなたか料金がわかる方教えて下さい。あと、答えられる方でいいのですが、「やはり一番高い上球まで(もし100元だとしても)登るほうが良い」のでしょうか?それとも「(もし100元だとしたら)そこまで払わなくても、中球とメートル差ないから50元でやめておく人のが多いよ」など・・・ご意見頂ければ有難いです

  • 最小二乗法による球の中心・半径のC言語による導出

    工学部の学生です。 最小二乗法による球の中心・半径のC言語による導出についてのご質問です。 ある物体の表面座標群を取得し、点iの位置(x座標、y座標、z座標)を zahyou.x[i] zahyou.y[i] zahyou.z[i] (iは0から300程度) として保存している状況です。 この座標群にC言語で最小二乗法を適用し、中心座標と球半径を導出する場合、 どのようにすればよろしいでしょうか? 座標群が歪な物体であった場合、むりやりにでも導出することは可能でしょうか? 形だけでも点iの存在する空間の中心・半径っぽいものを求められると助かります。 (たとえば、最大のx座標と最小のx座標÷2≦導出半径に収まるなど、ありえない結果は除外できるでしょうか…) 実に他力本願な質問事項で心苦しいのですが、切羽詰っております。 恥を忍んで、どうか皆様方のご助力お願いします。 参考 http://questionbox.jp.msn.com/qa2652396.html

  • 最小二乗法?

    i 個の測定点 (x[i],y[i]) を,最小二乗法などを用いて下記の式にフィッティングさせようと考えています。Visual Basic で作成した測定プログラムの中で使用したいのですが,具体的にどのようなアルゴリズムでフィッティングを行えばいいのか分かりません。 Y = A * sin(X - C)^2 + B 実測する x[i] の範囲は狭く,例えば -15°~ +15°まで 0.2°毎の計 151 プロット,といった感じです。そして定数 A,B,C の内,最も高い精度で求めたい定数は C です。測定の段階で x の範囲を狭めているのは,正確な C (通常 1°未満)を求めるためです。 この測定は x[i] にはほとんど誤差が含まれませんが y[i] には誤差があります。y[i] の含まれている誤差は試料によってまちまちなので,一概には言えません。目視ではほとんど誤差が分からない綺麗なカーブの場合,逆に目視で辛うじて下に凸の曲線が分かる程度の場合,どちらもあり得ます。 考え方だけでも構いませんので,どうかご教授下さい。よろしくお願いいたします。

  • m個の数字をn個のグループに分けるとき、

    m個の数字をn個のグループに分けるとき、 各グループの和s(i) ,(1<=i<=n) が、指定した比 r(0):r(1): ・・・ :r(n-1):r(n) ( = s(0):s(1): ・・・ :s(n-1):s(n) ) に一番近くなるようなグループ分けを導けるアルゴリズムはありますか。 例えば、{1, 3, 4, 6}を和の比が1:2に一番近くなるように2つのグループに分けると、 {1, 4}, {3, 6} となります。(もし違ってたら指摘してください) アルゴリズムでなくても、こうしたら良いんじゃないか、という考えがありましたら 教えてください。 総当たりで調べる場合はどのようにすれば、効率良く調べられるかという点もお願いします。 よろしくお願いします。

  • 電磁気学が難しく授業についていけていません(~_~

    以下の問題が分かりません… 1.真空中に半径aの導体球があり、+Qに帯電されている。この導体球を囲うように、半径b(b>a)の薄い球殻が置かれている。球殻には均一に合計-Qの電荷を帯電させた。導体球と球殻の中心は一致している。以下の問いに答えよ。 1)球殻の中心を原点とするとき、げんてんからの位置ベクトルrの点での電界を求めよ。 2)空間に蓄えられる静電エネルギーUをもとめよ。 2.断面の半径がaで長さが無限大の円柱上の物体の内部を一様に電流Iが流れている。またこの円柱状物体と中心軸が一致した長さが無限大で半径がb(b>a)の薄い円菅に一様に電流Iが円柱状物体の電流と同じ向きに流れている。このときの磁界の大きさをアンペールの法則(積分形)を適用して求めよ。 長くなってしまい、すみませんm(_ _)m 1)はなんとかできたとはおもいますが、球殻と導体球が実際どのような電界が出ているのかがイメージできません(~_~;)

  • ビリヤードのナインボールについて

    ビリヤードのナインボールについて質問させていただきます。 ナインボールでは一番最小の玉以外に最初に手玉が当たった場合ファウルとなりますが、仮に手玉、1、2という順番で並んでいて1に手玉を当てたあとその1が2に当たって2だけが落ちたとしたらこれはどうなるのですか?これがファウルでないのなら、最小の玉が弾かれた後に9に当たるように 狙って一球で勝負がつくこともあり得ますよね? 詳しい方教えてください!