私の問題を説明しましょう:
私は黒いベクトル形状を持っています(今のところ、一連の結合された直線であるとしましょうが、二次曲線もサポートできればいいと思います)。
また、定義済みの幅と高さの長方形もあります。黒い図形の上に配置して、2 つの結合を取ります。
私の最初の問題は、ベクトル共用体をすばやく抽出する方法がわからないことですが、自分で理解できる明確に定義された式があると思います。
私の 2 番目の、よりトリッキーな問題は、結合後に残る黒を最大化するために、四角形が必要な位置 (つまり、行列に必要な移動と回転) を効率的に検出する方法です (下の図を参照)。 )。
以下の赤で輪郭を描かれた図形は、~33% の黒です。緑は 85% のようなものです。この形状と長方形には、いずれかが 100% の範囲をカバーする位置があります。
明らかに、四角形の少なくとも一部が黒い形状に接触しているすべてのポイントのすべての移動と回転の値を試してから、最も黒いカバレッジを持つポイントを追跡することで、これを強引に実行できます。問題は、限られた数のポジションしか試すことができないことです (したがって、最大数を見逃す可能性があります)。それとは別に、それは非常に非効率的です!
この問題に取り組むためのより効率的な方法を考えられますか?
大学時代に、フーリエ変換がここでの効率を改善する可能性があることを教えてくれましたが、ベクトル形状でそれを行う方法がわかりません!