У меня есть такая задача:
Есть множество (100-1000) выпуклых полигонов (многоугольников)
Необходимо от каждой вершины каждого полигона построить касательные (по 2 касательные на каждый) на все другие полигоны, которые не пересекают (касаться могут) ни один из полигонов
Я это делал так:
Сначала генерирую много выпуклых полигонов
Затем для каждой вершины каждого полигона
строю от этой вершины 2 касательные на каждый полигон и проверяю, не пересекают ли какой-нибудь полигон касательные.
Но для 20 полигонов это работает почти 4 секунды. Но сколько это будет работать для 100 полигонов? Для 1000?
Мне надо, чтобы для 100-1000 полигонов это работало быстро. Возможно ли как-то решить эту задачу (улучшив этот алгоритм, или вообще используя другой алгоритм)?
Для построения касательных и проверки пересечения отрезка и полигона я использую
библиотеку turf.js