Может ли кто-нибудь помочь мне в рисовании прямоугольников для пространства в области ограниченной области с n прямоугольными препятствиями? Может быть любое количество параллельных параллельных прямоугольных препятствий, это не единственный случай, поэтому необходимо учитывать различные угловые случаи. Лучше всего использовать алгоритм максимальной горизонтальной полосы? И как?Как найти свободные области прямоугольников?
Описание проблемы:
1.SUB1 и SUB2 препятствия и не будет касаться внутренней из SUB1 и SUB2, вам нужно найти все свободные зоны снаружи всех СУБ и создавать прямоугольники из них.
2. Вам нужно будет найти все возможные прямоугольники на прямоугольниках свободных площадей соответственно с его прокруткой слева направо без пересечения SUB;
Общее количество максимальных горизонтальных пространственных прямоугольников в этом случае должно быть 7 или в общем случае, 3n + 2 (где п является числом препятствий): alt text http://img25.imageshack.us/img25/452/pic1gts.png
alt text http://img22.imageshack.us/img22/3417/pic2h.png
alt text http://img16.imageshack.us/img16/5818/pic3h.png
alt text http://img13.imageshack.us/img13/2151/pic4.png
Нажмите для просмотра изображения: http://img25.imageshack.us/img25/452/pic1gts.png http://img22.imageshack.us/img22/3417/pic2h.png http://img16.imageshack.us/img16/5818/pic3h.png http://img13.imageshack.us/img13/2151/pic4.png
Да, я смотрю чтобы найти оптимально наименьшее количество разрезанных прямоугольников. «Теперь, для каждого препятствия, итерации по списку прямоугольников. Если прямоугольник пересекается с препятствием, удалите прямоугольник из списка и вставьте новые меньшие прямоугольники, которые избегают препятствия». Вы можете уточнить? – 2009-03-14 02:56:26