Finde Zellen in einem Array, die von einem bestimmten Liniensegment gekreuzt werden

Ich habe ein 2D-Array von Zellen mit der Größe 10x10 und viele Punkte, die Paare von Gleitkommawerten sind, z. B .: (1.6, 1.54), (4.53, 3.23). Die Paare (x, y) sind so, dass x <10 und y <10

Jede Zelle nimmt Punkte auf, deren Koordinaten den gleichen ganzzahligen Anteil wie die Zellenkoordinaten haben. Also nimmt arr [3] [7] Punkte mit x = {3 ... 3,99 (9)} und y = {7 ... 7,99 (9)}, zum Beispiel (3,5, 7,1) oder (3,2, 7,6) ). In ähnlicher Weise befindet sich (1.6, 1.54) in arr [1] [1], (4.53, 3.23) in arr [4] [3] usw.

Jeder Punkt hat eine festgelegte Stelle im Array, die leicht zu finden ist, da ich nur x und y auf int setzen muss, um die Dezimalstellen zu entfernen.

Aber ich möchte herausfinden, welche Zellen im Array vom Liniensegment zwischen zwei Punkten A (x, y) und B (x, y) gekreuzt werden.

Zum Beispiel: A (1,5, 2,5) und B (4,3, 3,2) kreuzen Zellen in einem Array mit den Indizes [1] [2], [2] [2], [3,3] und [3,4]

Gibt es einen Algorithmus dafür?

Es ist ein ähnliches Problem wie dieses:Zellen im Raster durchkreuzt von einer Linie (PHP)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage