1

私はいくつかの3Dラインの交点を取得しようとしています。線は次の形式で表されます

行:s + t*r。線は実際には交差していないので、その点からすべての線までの距離が最小になる点を3Dで取得したいと思います。

2本の線の交点を見つけるための解決策を見つけましたが、私の場合、それは5本以上のような線のセットです。

点aから線lまでの距離を表す解を見つけました:p + t * r(pは始点、rは方向ベクトル、tはスカラー値)

d(a、l)=(|| rx(pa)||)/ || r || =

|| ([r] x / || r ||)a-([r] x / || r ||)p ||

この解は、2番目の方程式が次の形式の最小二乗最小化問題であると述べています。

|| Ax-b ||

解はx=(At A)^-1 * At * b、AtはA転置ですが、ここでフォーマットすることはできません。

複数の行がある場合、行列Aとベクトルbをどのように書くことができますか?

4

1 に答える 1

0

ここで最小二乗 n 線交差に MATLAB 関数を使用し、自分の使用のために C++ でコーディングしました 。 -space/content/lineIntersect3D.m

ここでn線交差の理論に従いました: http://en.wikipedia.org/wiki/Line-line_intersection

よく働く!

于 2013-07-17T13:48:12.180 に答える