重複の可能性:
2Dポリゴンのラスター化
内部領域を含むポリゴンをラスター化する必要があります(ポリゴンの内側にあるグリッドのすべてのタイルを決定します)。現在、単純なブレゼンハムを使用して境界タイルを決定していますが、これまで、ポリゴンの「内側」(凹面の場合もあります)をラスター化する効率的な方法がありません。これまでの私のアプローチは、タイル範囲をポリゴンを含む長方形に制限し、ポリゴンワインディングアルゴリズムを使用して、タイルの中心ごとにタイルが内側か外側かを判断することです。これは、すべてのタイルのすべてのポリゴン境界セグメントをチェックする必要があるため、非常に非効率的です。最初の観点からは、sthなどのより高速なアプローチが確実に存在するはずです。ラスター境界を使用して巻くようなものです。この問題に取り組む標準的なアルゴリズムはありますか?おそらくC ++でのライブラリの実装さえありますか?