Бьюсь вот над одной проблемой... Суть: есть некая ограниченная плоскость; на плоскости находится окружность с центром (X,Y) и радиусом R. Также на плоскости есть несколько ломаных прямых, заданных координатами их отрезков (xi,yi) - ну, упростим: пусть будет одна ломаная. Надо определить, принадлежит ли хотя бы одна точка этой ломаной окружности (X,Y,R)? Проще - как определить, принадлежит ли хоть одна из точек отрезка (x0,y0 - x1,y1) кругу (X,Y.R) ?
Чтобы было понятнее - нужно вот для чего: есть карта города (картинка 800х600), есть некий объект (центр окружности (X,Y). Требуется определить, какие ближайшие маршруты общественного транспорта проходят в радиусе R кварталов от этого объекта.
Пока это делается проходом по всей ломаной с некоторым шагом и вычисление для каждой точки условия. Скрипт на PHP, работает медленно.
Может быть, есть какие-то более общая математическая формула/алгоритм?
Чтобы проверять только граничные точки отрезка, а не идти по всей ломаной?
Чтобы было понятнее - нужно вот для чего: есть карта города (картинка 800х600), есть некий объект (центр окружности (X,Y). Требуется определить, какие ближайшие маршруты общественного транспорта проходят в радиусе R кварталов от этого объекта.
Пока это делается проходом по всей ломаной с некоторым шагом и вычисление для каждой точки условия. Скрипт на PHP, работает медленно.
Может быть, есть какие-то более общая математическая формула/алгоритм?
Чтобы проверять только граничные точки отрезка, а не идти по всей ломаной?