3

私は決してプロのプログラマーではないので、ここで洗練されたアプローチや言語を期待しないでください。ただし、後の段階でプログラムでプロジェクトに追加できるアルゴリズムを具体化するためのアドバイスと推奨事項に感謝します...ここに問題があります:

次のプロパティを持つ空間内の任意のポイント (ポイント X) を想像してください。

  • 座標を持つ
  • 2D サーフェス上にある
  • 静止している
  • 任意の時点で単一の領域 (境界座標もわかっている) に属します。つまり、「親」要素の唯一の「子」です。繰り返しになりますが、ある領域に収まらない場合でも、別の領域に収まっていることは間違いありません。

領域は、単純な正方形、四角形、または円ではなく、不規則な形状です。

さて、私の質問は次のとおりです。(i) ポイント X がその特定の領域内にあり、隣接する領域内にない場合。(ii) ポイントが属する特定のエリア (一連のエリア A、B、または C の中で) は?!? 問題をよりよく視覚化するには、リンクされた画像を参照してください。

PS:ポイント イン ポリゴンの問題を処理する可能性を熟読しました(特に、「レイ キャスティング アルゴリズム」は非常にスマートに聞こえます!)。(ii) ポイントがその内部/外部にあるというよりも、そのポイントが属する領域を特定する必要があります。

事前にどうもありがとうございました!!!

4

1 に答える 1

0

プログラマーは次のようにします。

  1. 関数は、領域の配列と点をパラメータとして取っています。

  2. サイクルを作ります - すべてのエリアをチェックしてください。

    ポイントがそこに属しているかどうかをレイキャスティングアルゴリズムで確認します。

    いいえの場合は、サイクルを続行します。

    はいの場合、現在のエリアの番号を返す関数を終了します。

  3. エリア外の場合は、-1 を返します。

もちろん、共通の境界を考慮して、それらの角度のカウントを繰り返さずにアルゴリズムを改善できますが、そのようなアルゴリズムは明らかに現在の可能性から外れています。そして、優れたプログラマーでさえ、簡単なことから始めますが、うまくいきます。

于 2012-11-27T10:01:22.283 に答える