Найти ячейки в массиве, которые пересекаются заданным отрезком линии

У меня есть двумерный массив ячеек размером 10х10 и множество точек, которые представляют собой пары значений с плавающей запятой, например: (1.6, 1.54), (4.53, 3.23). Пары (x, y) таковы, что x <10 и y <10

Каждая ячейка имеет точки, чьи координаты имеют ту же целую часть, что и координаты ячейки. Таким образом, arr [3] [7] будет брать точки с x = {3 ... 3.99 (9)} и y = {7 ... 7.99 (9)}, например (3.5, 7.1) или (3.2, 7.6) ). Аналогично (1.6, 1.54) в arr [1] [1], (4.53, 3.23) в arr [4] [3] и т. Д.

Каждая точка имеет определенное место в массиве, которое легко найти, потому что мне просто нужно привести x и y к int, чтобы избавиться от десятичных точек.

Но я хотел бы выяснить, какие ячейки в массиве пересекаются отрезком между двумя точками A (x, y) и B (x, y).

Например: A (1.5, 2.5) и B (4.3, 3.2) пересекают ячейки в массиве с индексами [1] [2], [2] [2], [3,3] и [3,4]

Есть ли алгоритм для этого?

Эта проблема похожа на эту:Ячейки в сетке пересекаются линией (PHP)

Ответы на вопрос(2)

Ваш ответ на вопрос