ポリゴンの表面上の2点間の最長直線を見つける


8

私の形状はわずかに凹んだ多角形で、最大直径を知りたいのですが。ポリゴンの表面の2点間の直線が、ポリゴンの外側を通過しないように想像します。

これの一般的なアルゴリズムはありますか?

私の場合、私は2Dに興味があります。私の形は医用画像の腫瘍です。したがって、次のことも想定できます。1重心は常にポリゴンの内側にあります。2頂点密度が高い。つまり、次の頂点は常に前の頂点に近い。


1
回転キャリパーがありますが、それは凸多角形でのみ機能します。それ以外の場合は、ブルートフォースソリューションのベースとして使用できます。
ラチェットフリーク

3
O(n ^ 2)が問題でない場合は、すべてのポイントペアをテストしてください
joojaa

2
実際は少し複雑です。2つの部屋が狭い廊下でつながっているところを想像してください。最大の直径は、異なる部屋の壁で終わり、どの点でも終わりません。
ラチェットフリーク

1
最も一般的なケースで機能するアルゴリズムを探していますか、それとも2Dケースなどに制限できますか?これは、入力に関する情報や制限を増やすと解決しやすくなります。2Dのみを示唆する多角形という単語を使用していますが、リンクした質問も2Dのケースを示唆しています。また、頂点と頂点の距離を考慮するだけで十分ですか、または彼のコメントで言及されラチェットフリークのような場合に正しい結果が必要ですか?
Nero

2
また、厚さが非常に狭いC形状が心配ですが、内部は大きく開いています。曲率半径が大きい。Cの曲率に従う短いだけなので、その直径(定義すると)は非常に小さくなります。したがって、おそらく直径を計算したいのは凸包です。
Wyck

回答:


1

正確な答えはありません。答えは簡単なものではありません。これは明らかに可視性の問題なので、計算ジオメトリを調べてみることをお勧めします。私の解決策はすでに存在していると思います。私自身のアイデアは次のとおりです。ポリゴンの各ラインセグメントについて、他のラインセグメントの表示されている部分を見つけ、最も離れているポイントのペアを選択します。インスピレーションを与えるリンク:「可視性ポリゴン」に関するウィキペディア

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.