特定の有限線分の一部に接触または含まれているすべてのグリッドタイルを検索したいと思います。グリッドは2次元の通常のグリッドであるため、タイルの位置(行、列)から任意のタイルの中心を推定できます。逆に、2つの高速整数除算を使用して特定の浮動小数点座標からタイルの位置を計算できます。タイルは2次式で、たとえば0.25x0.25で、0.25がタイル幅として定義されています。次に、特定の線分が接しているすべてのタイルを決定する必要があります(floatで指定された2つの2Dポイントが線分を定義します)。私の現在のアプローチは、セグメントをタイル幅の半分の距離で等距離のポイントに分割することです(シャノンに挨拶します)。指定されたポイントを含むすべてのタイルを収集し、重複するタイルを削除するよりも。
編集:パトリシアが指摘したように、私の現在のアプローチでは、線がごくわずかにしか触れられていないタイルは含まれないため、完全なタイルセットにはなりません。私の場合、精度よりも速度の方が重要なので、これは私には受け入れられますが、それでも注意する必要があります。
明確にするために:画像内のすべての赤いタイルが必要ですが、速度を上げれば、たとえばバラのタイルなどを節約できます。