О! Самое простое решение, скорее всего самое неэффективное!
Есть двумерный массив поля 1000х1000, заполненный нулями.
Есть Х прямоугольников
Делаем цикл по прямоугольникам
Берем первый и ЗАКРАШИВАЕМ ВСЕ ЕГО ТОЧКИ, делая +=1 в нашем массиве
Берем следующий прямоугольник и повторяем предыдущее
Результат: сканируем все точки нашего массива и выводим те, у которых точка равна Х
Done.
Ну а как это записать на яве, попробуйте сами.
Оптимизировать можно, для этого точки прямоугольников нужно логически складывать (конъюкция, если не ошибаюсь) каждый с последующим, результатом следующего должно быть разультатом сложения. Другими словами, результатом сложения двух прямоугольников является прямоугольник их пересечения. На следующем цикле берем этот результат и следующий прямоугольник, результат используем на следующем.
Можно вообще ничего не рисовать в координатном массиве! Быстро и очень эффективно, всего 4 операции на каждый прямоугольник.