多数の凸型四角形 (指定された 4 つの x、y ポイント) を配列/リストに追加し、それらの四角形に対してポイントが境界内または境界上にあるかどうかをチェックする最も効率的/高速な方法を見つけようとしています。それらのクワッドの。
私は最初にレイ キャスティングを使用しようとしましたが、すべてのポリゴンが四角形になり、すべて凸面であることがわかっているため、少しやり過ぎだと思いました。
現在、各クワッドをエッジを共有する 2 つの三角形に分割し、その領域を使用して、ポイントがこれらの 2 つの三角形のそれぞれにあるかどうかを確認しています。
たとえば、三角形 ABC とテスト ポイント P です。}
チェックを実行するには 4 つの異なる三角形の面積を計算する必要があり、クワッドの最初の三角形が false を返す場合は、さらに 4 つの領域を取得する必要があるため、これは少し遅くなるようです。(浮動小数点エラーを補うために、チェックに少しのイプシロンを含めます)
ポイントを2つの三角形に分割するのではなく、クワッドに対してポイントを1回チェックする、さらに高速な方法があることを願っています。
ポリゴンを配列 [,] に入れることで、チェックの数を減らそうとしました。ポリゴンを追加するとき、x と y の最小値と最大値をチェックし、それらを使用して、同じポリゴンを適切な配列位置に配置します。使用可能なポリゴンに対してポイントをチェックするとき、リストの配列から適切なリストを取得します。
同様の質問を検索してきましたが、現在使用しているものは、ポイントが三角形にあるかどうかを判断する最速の方法であると思いますが、クワッドに対してテストするより良い方法があることを願っています常に凸。私が調べたすべてのポリゴン テストは、多くの辺を持つポリゴンや不規則な形状のポリゴンに対してテストしているようです。
かなり単純な問題である私の長々とした質問を読んでくれてありがとう。