login писал(а):
мне казалось есть какие-то формулы.
Мне кажется мы даже в школе решали, на геометрии, задачки - "определить, пересекаются ли две плоскости, по их координатам". Математически! Не видя этих плоскостей в упор! И я подумал тут тоже мат персер сможет посчитать, без перебора массивов и обьектов.
Это не пересечение плоскостей, это именно попадание координат в определённые рамки, делается именно логикой, которую, конечно, можно превратить в формулу для MathParse
(что я чаще всего и делаю, т.к. относительно сложные логические конструкции на HiAsm делать очень, очень не удобно и они получаются громоздкими). Тут Вам светит неминуемый перебор всех отрезков из поля видимости с четырьмя проверками на каждый - не выше ли, не ниже ли, не левее ли, ни правее ли самая нижняя, самая верхняя, самая правая и самая левая координаты полоски соответственно. Так как X у вас дискретный, то там применяем округление, Y у вас тоже, судя по картинке, имеет шаг, кратный шагу по X. Кстати, а как вы область видимости ограничиваете, или отрисовываете всё, не зависимо от того, попадает оно в "кадр" или нет? Просто это, по сути, та же самая задача, что и с выделением рамкой, можно использовать один, универсальный модуль.