非アフィン変換を実行するための、.NET ライブラリのクラス、メソッド、または一般的なアルゴリズムはありますか? (つまり、回転、拡大縮小、平行移動、せん断以外の変換)
例えば:
(出典: last100.com )
非アフィン変換の別の用語はありますか?
非アフィン変換を実行するための、.NET ライブラリのクラス、メソッド、または一般的なアルゴリズムはありますか? (つまり、回転、拡大縮小、平行移動、せん断以外の変換)
例えば:
(出典: last100.com )
非アフィン変換の別の用語はありますか?
.Netに統合されて、非アフィン変換を実行できるものは何もありません。
ある種の3Dテクスチャマッピングをしようとしていると思いますか?その場合は、.Netでは使用できない同種のアフィン変換が必要です。また、.Netでピクセル変位変換を行うための統合された方法も知りません。
ただし、現在投票されているソリューションは、実行しようとしていることには適している可能性があります。そのままでは遠近法の修正が行われないことに注意してください。
例えば:
左側の画像は、Neil Nが提供するシングルクワッドディストーションライブラリを使用して生成されました。右側の画像は、DirectXのシングルクワッド(実際には2つの三角形)を使用して生成されました。
これはあなたがやろうとしていることに何の影響も与えないかもしれませんが、これはあなたが3Dのものをやりたいなら覚えておくべきことです、それは遠近法の正しいマッピングなしでは非常に奇妙に見えます。
あなたが投稿したすべてのサンプル画像は、四角形の歪みで行うことができます. クワッドディストーションがすべての非アフィン変換をカバーするとは断言できませんが。
C# でのあまり適切ではない実装へのリンクを次に示します...動作しますが、遅いです。この種の計算に使用できるさまざまな最適化については、ウィキペディアを調べてください。
http://www.vcskicks.com/image-distortion.html
-ニール
Viewport3d コントロールと非アフィン変換マトリックスを使用して、wpf でこれを行うことができます。これを再びビットマップにレンダリングすると面白いかもしれません.... テクスチャ プレーンと同じ画像を持つ非表示の <image> コントロールを含めることで、これを「修正」しました... (また、最大値を回避する必要がありました平面を分割して画像をトリミングすることによるテクスチャ サイズの問題...)
http://www.charlespetzold.com/blog/2007/08/060605.html
私の場合、これの逆が必要でした(ワープ上の任意のポイントが長方形のウィンドウのコーナーになるように変換します)。これは逆を行うためのマトリックスの逆です。