I '
Кто-нибудь может придумать более эффективный? Похоже, это требует большого количества дополнительной работы, вычисляя пересечение каждой линии.
РЕДАКТИРОВАТЬ:
Вышеупомянутый алгоритм плохой, например:
Конус может пересекать только один край прямоугольника таким образом, что все пересечения осей и линий находятся на одной стороне, поэтому приведенный выше алгоритм не работает, если все ребра не проверены или проверяемые ребра не выбраны разумно (может быть, ребра, ближайшие к конусу?).
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ: См. мои собственный ответ ниже для решения, которое я обнаружил позже, которое кажется мне почти оптимальным.