1

頂点をドラッグして、テクスチャ付きポリゴンを任意に歪ませるプログラムを書きたいと思います。新しいポリゴンがそれ自体と交差しないと仮定して、テクスチャを滑らかに、オーバーラップせずに歪ませたいと思います。また、新しい形状で、最小限の損失でプロセスを繰り返すことができるはずです。

これを行うためのアルゴリズムはありますか?

4

3 に答える 3

1

過去 10 年から 20 年の間、人々はこの問題の解決策に取り組んできましたが、最先端の技術はますます良くなっています (ただし、数学も同様に難しくなっています)。開始するのに適した場所 (そして、私がそれに従うのをやめたところ) は、作業http://www.cs.technion.ac.il/~weber/Publications/Complex-Coordinates/です。

そこにある論文を読んで、参考文献で論文を調べてください。そのうちの 1 つは、実装したいアルゴリズムを提供するはずです。

于 2010-04-05T19:51:32.530 に答える
1

Schwarz-Christoffel マッピングのバリエーションが必要なようです。これは、円盤のような単純な領域との間でポリゴンをワープするために使用できる等角マッピングの一種です。私はそれを実装していませんが、どうやら計算上扱いやすいようです。

アプリケーションでは、元のポリゴンからより単純な領域へのマップを設定し、変更されたポリゴンへの逆マップを計算します。2つを組み合わせると、元のポリゴンから変更されたポリゴンへの適切な等角マッピングが得られます。

等角写像は素晴らしく滑らかですが、直観的でない動作をすることがあります。アニメ化されたバージョンでは、面白い「滑りやすい」効果が得られる可能性があると想像できます。等角マッピングは、ポリゴンの内部で局所的な角度を保持します。これは、変更された頂点のすぐ近くでのサイズの歪みが深刻になる可能性があることを意味します。

于 2010-02-20T20:11:40.587 に答える
0

私が考えることができる最も簡単な方法は、入力ポリゴンを三角形分割し (耳のクリッピング方法または同様の方法を使用して)、ポイントを移動することです。次に、元のポリゴンから新しい空間への重心マッピングを使用できます。

より堅牢なものを探している場合は、平均値の座標を見ることができます。

于 2010-02-19T23:30:07.313 に答える