2009-07-28 4 views
1

似たような2つの線がどれほど類似しているかを比較できるアルゴリズムがありますか?私の場合、私は1つの参照線を持っています。私は、参照線に最も近い非常に多くの2次線の中から、選択する必要のある2次線をたくさん持っています。同様の2つの2D線形線がどのように似ているかを比較するメトリック

編集:開始点と終了点を持つ2D線です。あなたが類似点を比較するとき、あなたは完全な吹き抜けのラインを考慮に入れる。ラインの方向(すなわち、左から右へ、またはその逆)は重要ではない。そして、はい、それはお互いにどれほど近いかに関係しています。

私はこれが主観的(類似点ではなく、質問ではありません)のようなものだと知っていますが、依然として仕事をしている人がいると確信しています。この。

+0

ディメンションはいくつですか? – Nosredna

+0

もう少し文脈を提供できますか?線には始点と終点がありますか、点を通る方向ベクトルですか?線が基準線に近いか、同じ長さ/方向であることが重要か?このテストは何のために使われていますか? –

+1

「似ている」とはどういうことを決めるのかというと、私は恐れています。お互いにどれほど近づくかとは何か関係がありますか?それとも方向性の問題ですか? – Nosredna

答えて

0

グラフィックな意味での線について話しているなら、線の長さと角度の組み合わせを見てみましょう。

あなたの状況に応じて、三角関数を保存します(このような角度のための長さの二乗(平方根を節約)とDY/DXを使用するなどの最適化を行うことができるかもしれないが、除算・バイを監視しますゼロの場合)。

+0

スロープは2次元で動作します。より多くの次元で、彼は線から抽出された単位ベクトルの内積を行いたいと思うだろう。私は答えがある質問を得るまで、答えを差し控えます。 ;-) – Nosredna

+0

真実...彼は結局、編集距離について話している可能性があります。 – geofftnz

3

明らかなメトリックには、傾き、長さ、および中間点間の距離が含まれます。あなたはそれらを計算し、あなたが好む重みを見つけることができます。

エンドポイント間の距離の合計を試してみましょう。

あなたはいくつかの事を試して、どのようなケースがあなたを苛立たせているのかを知り、その理由を理解する必要があります。

0

行(一般には超平面)はオブジェクトコールGrassmanianにあります。例えば平面の線は、2次元射影空間と同型であるGr(1,3)の中にあります。あなたはGr(2,4)の中で最も単純ではありません。これはコンパクトなメトリックスペースで、標準メトリック(plucker埋め込みから発生 - 上記のリンクを参照)が付いています。しかし、このメトリックは計算するのに少し費用がかかりますので、近似を考慮する必要があります(2次元で角度の代わりにドットプロダクトを使用することを検討するのと同じように、小さな角度でも機能します)

詳細(リンクされたウィキペディアの記事に定義されているメトリックに基づいて):

各行に対して、lは2点(x1、y1、z1)と(x2、y2、z2)を取ります。 Aを(1、x1、y1、z1)^ tと(1、x2、y2、z2)^ tの列を持つ4行2列の行列とする。 Pを4行4列の行列と定義する。 A(A^tA)^( - 1)A^t。 Pはlにのみ依存し、2つの点の選択に依存しない。

メトリックは、2つの行に対応する行列の差のトップ固有値の絶対値です。

+0

リンクをありがとうが、それはすべて私にギリシャ語です。私が使用できる任意の擬似コード? – Graviton

関連する問題