プロが教えるわが家の防犯対策術!

点P(Px,Py,Pz)から方向ベクトル(x,y,z)にのびた直線が、原点O(0,0,0)、半径rの球の表面と交わる点Qの座標を求めたいのですが、どなたか教えていただけないでしょうか。

O-P-Qの三角形を作ると、辺OPの長さ、辺OQの長さ(=r)と∠OPQの角度は求まるので、余弦定理から辺PQの長さが求まります。
辺PQの長さに方向ベクトル(x,y,z)を掛ければ、ベクトルPQが求まるので、ベクトルOP+ベクトルPQ=ベクトルOQが求まると思うのですが、間違っているでしょうか。

A 回答 (2件)

なにやら難しいことをお考えのようですが、以下のようにやれば簡単です。



直線は、(X,Y,Z)=(Px,Py,Pz)+t(x,y,z)と表されるので、直線上の点(X,Y,Z)は、
 X=Px+tx
 Y=Py+ty
 Z=Pz+tz
である。(※)

これを球の方程式X^2+Y^2+Z^2=r^2に代入し、tの2次方程式を解いてtの値(2つ。ただし、接するなら1つ)を求め、※に代入すれば、Qの座標がわかる。
    • good
    • 8
この回答へのお礼

ありがとうございました。
勉強させていただきました。

お礼日時:2005/05/24 21:38

それで合っています。



ただ、PQの長さをtとおいて、座標で直接に2次方程式を作ったほうが計算が楽なようです。
(これでできる2次方程式は、ご質問にある余弦定理と全く同じ式になります。)
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございました。
自信が持てました。

お礼日時:2005/05/24 21:44

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

このQ&Aを見た人はこんなQ&Aも見ています