dポイントプレゼントキャンペーン実施中!

悩んでおります.御力添えを願います.

以下の条件下にて,2つの直線式を求め,その交点を求めようとしております.

1.点p(a0,b0,c0)と点q(a1,b1,c1)の座標は既知.

2.点s(d,e,f)は,座標は未知であるが,点p,点qへ向けて2つの直線を延ばしており,それぞれの直線の傾きが既知.

以上の条件をもとに,点s(d,e,f)の座標を求めようとしています.


私の考えた手法は,以下の物ですが上手くいきません.

1.点sから伸びる2つの直線の方向余弦を求める.
例)vx = r * cosα,vy = r * cosβ, vz = r * cosγ
(上記の様に2点へと伸びる直線の方向余弦をそれぞれ求める)

2.求めた方向余弦と,点p,点qを用いて2つの直線式を表す.
例)x = a0 + vx0 * t, y = b0 + vy0 * t, z = c0 + vz0 * t
x = a1 + vx1 * s, y = b1 + vy1 * s, z = c1 + vz1 * s
  
3.誤差を考慮し,2直線間の距離が1番小さくなる2点を求める.
例)(距離)^2 = {a0 + vx0 * t - a1 - vx1 * s}^2
= {b0 + vy0 * t - b1 - vy1 * s}^2
= {c0 + vz0 * t - c1 - vz1 * s}^2
 
  上記の式をs,tに関して偏微分してやり,それぞれを0として連立 方程式を解き,s,tを求める.

  求めたs,tを各直線式に代入してやり,2直線間の距離が最も短く なる2点を求める.

4.その2点の線分上の中点を求め,点s(d,e,f)とする.

上記手法で求めようとしましたが,どうも点sの座標が求まりません.

点sで方向余弦を求めるのが駄目なのでしょうか?
2直線間の距離が最も短くなる2点の求め方が駄目なのでしょうか?

幾何学初心者なため,混乱しております.
宜しくお願いいたします.

A 回答 (2件)

2直線の傾き s, t を勝手に与えると、交点があるとは限りませんね。


その場合は最小二乗解を求める、という作戦ですか。
ならば、一般化逆行列の手法を使えないものでしょうか ?

 http://www7.ocn.ne.jp/~kawa1/GIM.PDF
>一般逆行列

この回答への補足

丁寧な回答ありがとうございます。

一般化逆行列ですか、ちょっと挑戦してみます。
参考資料、ありがとうございます。

また、報告させていただきます。

補足日時:2007/08/08 00:07
    • good
    • 1
この回答へのお礼

まだ悩んでおりますが、大分解に近づいてきている様に思います。

ありがとうございました。

お礼日時:2007/08/14 17:28

α,β,γ,α',β',γ',は書きにくいので,A,B,C,A',B',C'とします。


sがダブっているので、点S(d,e,f)とします。

(cosA,cosB,cosC)が方向余弦=直線の傾き
(cosA',cosB',cosC')が方向余弦=直線'の傾き

直線の方程式は、
(x-a0)/cosA=(y-b0)/cosB=(z-c0)/cosC

直線'の方程式は、
(x-a1)/cosA'=(y-b1)/cosB'=(z-c1)/cosC'

2直線が、交わるならば、parameter, s,tを使用して交点は、求められます。(交わらない場合が、後述されています。)

いずれにしても、点S(d,e,f)は決定しません。

*それとも、点S(d,e,f)が交点と言う意味ですか?
*どうも、そのように思います。
*ならば、交点S(d,e,f)と書かないと、意味が伝わりません。
*されど、其の場合には最初から、交点が存在します。

この回答への補足

丁寧な回答ありがとうございます。

つまり、点Sで求めた方向余弦をp点、q点座標を基に表す直線の方程式に使っても大丈夫ということですね。

(交わらない場合が、後述されています。)以下は、どのような意味でしょうか?

補足日時:2007/08/08 00:01
    • good
    • 0

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