アプリ版:「スタンプのみでお礼する」機能のリリースについて

3次元空間の3点A,B,Cとそこからの距離a,b,cが与えられています。
このとき、AO=a,BO=b,CO=cを満たすOは2つありますが、そのうちのひとつだけでもOの座標をA,B,Cの座標とa,b,cから求めたいのですが、うまい計算方法ありますか?
答えがあることはわかりますが、うまく計算できません。
プログラムでもいいです。

A 回答 (3件)

入学試験を思い出してしまいました。


おじさんは、学校でならった事を忘れているし、面倒な連立方程式など作りません。
難しそうな計算はExcelのソルバーに頼っています。

この問題でしたら、仮のOの座標とA,B,Cの座標間の距離を求める式を3つつくり、その計算結果とa,b,cとの差の二乗を行い、その3つの和をゼロにする様に仮の点の座標を動かす様にソルバーを実行すれば、解けるはずです。
本方式の利点として、点の数を4個に以上できます。元データに多少の誤差があっても最小二乗法で最適解が得られます。

ソルバーでも良くて、多少の時間をお待ちいただけるならば、課題をだしてください(正解は隠しておいてください。あとで答え合わせをしましょう)
    • good
    • 2
この回答へのお礼

具体的な計算方法(エクセルのソルバーを使う方法)の提案ありがとうございました。
いま、エクセルのソルバーを使って解けました!!
ありがとうございました。

お礼日時:2007/03/07 23:32

A,B,C,Oを位置ベクトルだとします。

a,b,cはスカラーです。
|A-O|=a,|B-O|=b,|C-O|=c
が成り立ちますね。p,q,rをスカラーとして、
O=pA+qB+rCを上の3つの式に代入して、p,q,rについての連立方程式を解きます。計算はしていませんが、これで計算できるはずです。計算が面倒ならば、プログラムを書いて機械に計算させればよいのです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
この方法では、|A-O|=a からp,q,rの方程式を導く段階でp,q,rの2次の項が出てきた段階で、計算がしんどく、プログラムを書くのも大変そうなのであきらめました。
作図して近似解を求めようとも思いましたが立体なので、それもあきらめました。
幸いNO3さんのエクセルのソルバーを使う方法で計算ができましたので、今回は何とかなりました。

お礼日時:2007/03/07 23:43

A,B,Cが中心の球体を考える。


Aの球体の半径=a
Bの球体の半径=b
Cの球体の半径=c
方程式にあらわす。
交点がO。
方程式を連立。

上の方法でどうでしょう。
計算していないのででるかどうかわかりませんが。
    • good
    • 0
この回答へのお礼

解けるのはわかるのですが、計算が面倒であきらめました。
作図して近似解を求めようとも思いましたが立体なので、それもあきらめました。
幸いNO3さんのエクセルのソルバーを使う方法で計算ができましたので、今回は何とかなりました。回答ありがとうございました。

お礼日時:2007/03/07 23:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!