2

私のプロジェクトでは、多くのポリゴンが描かれたマップがあります。各ポリゴンは MVCArray として表されます。

ユーザーは、次の方法でマップ上に新しいポリゴンを描画できます。

  • ユーザーがマップをクリックすると、新しいマーカーが表示されます。これは、一時的な先行マーカーと作成された最初のマーカーに接続されます。
  • ユーザーがマーカーをクリックすると、そのマーカーは削除され、マーカーの先行と後続の間に新しい接続が確立されます。

ユーザーがマップ内の別のポリゴンを描画できるようにしたくありません。新しく作成されたマーカーが別のポリゴン上にあるか、新しいマーカーによって (または別のマーカーの削除によって) 作成された接続線が別のポリゴン上を通過していること。

誰かが私を助けたり、ヒントをくれたりできますか?

4

1 に答える 1

1

単純なオーバーラップ テストでは、ポリゴンのエッジを反復処理し、線と線の交差をテストします。

その音からすると、これだけでリアルタイムに効果を発揮するにはエッジが多すぎるかもしれません。そこから、線と線の交差をテストする前に、比較する必要のないポリゴン/エッジをすばやくカリングすることに戦略を集中する必要があります。アイデアが必要な場合は、境界円とキューブ ツリーの削除をご覧ください。

于 2013-02-26T16:50:00.793 に答える