2013-09-24 25 views
5

私は2つのポリゴンを持っており、最小距離を取得したいと思います。この距離の間の点が測定されます。もちろん、このようなポイントは2つのノード間のエッジに非常によく当てられます。ここで2つのポリゴンの最も近い点

は一例です:

Example

私は私に緑の距離および2点を与えたアルゴリズムを探しています。

+1

)セグメントの最も近いエッジを保持されている場合は、plygonsが凹状であってもよいと思われます。そうでなければ、GJKアルゴリズムは問題の素晴らしい解決策です。 –

+0

http://stackoverflow.com/questions/3700983/what-is-the-fastest-algorithm-to-calculate-the-minimum-distance-between-two-sets – Ari

答えて

2

ポリゴンが交差しない場合は、あなたがこれを行うことができます:あなたはポリゴンAとポリゴンBとA [i]とB [j]を持っている場合

はそれぞれAとBの頂点です。次に、A [i]からBの各セグメントまでの最も近い距離を計算することができます(thisのようなものを使用できますが、セグメントを扱うことを考慮しているので、セグメント)。

その後、あなたは同じですが、すべてのB [j]がからA.

のすべてのセグメントに操作を行うそして最後に最も小さいものを取らなければなりません。

私の前のコメントを覚えておいてください:セグメントの開始点と終了点を考慮しながら、このセグメントが入っている線までの最短距離を計算します。交点がセグメントから外れる可能性があるからです。この最後のことを確認するにはhereを見てください。点が出ピクチャから

よろしく

関連する問題