2

プロセスに特定の名前があるかどうかわかりません。私はポリゴンを翻訳して作成されたポリゴンを取得したい。このためのアルゴリズムはありますか?たとえば、 Exampleです。ポリゴンを移動して作成したポリゴンを取得する

凸多角形の凸包は機能しますが、一般的な解決策が必要です。また、回転して作成されたポリゴンを取得する方法があるなら、私は聞いて嬉しいです。あなたがコメントで与えた説明が与えられ

+0

凹面ポリゴンでも機能するソリューションが必要ですか? – m69

+0

@ m69はい。それ以外の場合、凸包が機能します。 –

+0

あなたの問題は不明です。例えば、ポリゴンはW型で水平にドラッグされますか? – Gene

答えて

4

ポリゴンのMinkowski sumと動きを説明する線分を探しているようです。

CGAL libraryパッケージ2D Minkowski Sumsは、たとえばそれらを計算できます。

+0

これは私が探していた答えです。ありがとうございました。 –

2

は、簡単なアプローチはこれです:ポリゴン組合を計算

Let v be a vector describing the linear movement 
For each edge (p,q) in the polygon 
    construct quadrilateral (p, q, q+v, p+v) 
Compute the union of all the quadrilaterals plus the original polygon 

は、効率的なアルゴリズムとよく研究問題です。

+0

四角形の*と*元のポリゴンまたは平行移動したポリゴンの和集合。そうでない場合は、ポリゴンをわずかに動かすだけで、細い輪郭が得られます。 – m69

+0

@ m69良いキャッチです。ありがとう。 – Gene

+0

良いアルゴリズムですし、実装も簡単です。しかし、より効率的な解決策があるようです。ありがとう。 –

関連する問題