У меня есть коллекция Rects размером n, большинство из которых пересекаются. Я хотел бы удалить пересечения и уменьшить пересекающиеся прямоугольники до меньших непересекающихся прямоугольников.
Я мог бы легко подобрать решение, но я ищу эффективный алгоритм.
Вот визуализация:
Оригинал:
Обработано:
В идеале сигнатура метода должна была бы выглядеть так:
public static List<RectF> resolveIntersection(List<RectF> rects);
результат был бы больше или равен входному, где выход разрешает вышеуказанный визуальный элемент представление.