заполнение прямоугольника

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

заполнение прямоугольника

Сообщение Ramzes » 24.12.2008 (Ср) 18:27

Есть прямоугольник A? дана его площадь его площадь sA
и есть еще n прямоугольников
допустим
B площадь sB
C площадь sC
D площадь sD
E площадь sE
F площадь sF

общая площадь которых, равна площади прямоугольника A
sA = sB + sC + sD + sE + sF

Надо заполнить прямоугольник А, остальными прямоугольниками, так, что бони между собой не пересекались, и польностью заполняли прямоугольник A
Вложения
a.gif
Прямоугольник А
(1.7 Кб) Скачиваний: 92
a_bcdef.gif
Что должно получится
(4.16 Кб) Скачиваний: 93

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: заполнение прямоугольника

Сообщение MIT » 24.12.2008 (Ср) 18:36

Напоминает одно из заданий на областной олимпиаде по информатике в прошлом году... Его никто не решил.
А координаторы олимпиады потом рассказывали, что это решается как-то путем представления прямоугольника А как матрицы, состоящей из минимально допустимых частей и потом каким-то хитрым перебором его заполнения, который никто объснить не смог. Вот так вот.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: заполнение прямоугольника

Сообщение iGrok » 24.12.2008 (Ср) 19:08

"Задача оптимального расположения этикеток разного размера на листе". Так она звучала в моей формулировке пару лет назад. Искал решение, но так и не нашёл.
Так что эта задача меня тоже очень интересует. =)
label:
cli
jmp label

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: заполнение прямоугольника

Сообщение Alec » 24.12.2008 (Ср) 20:38

Что-то я смотрю на рисунок и не въеду... То-ли они пересекаются, то-ли они не все прямоугольники...То-ли у меня экран искажает...
Похоже тебя жестоко накалывают :)
Иногда лучше вовремя остановиться...
И начать заново!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: заполнение прямоугольника

Сообщение Хакер » 24.12.2008 (Ср) 20:57

Угу. E и C же пересекаются.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: заполнение прямоугольника

Сообщение tyomitch » 24.12.2008 (Ср) 21:47

Автору: точного решения, кроме полного перебора, не существует.
Приближённых алгоритмов сколько угодно, в т.ч. коммерческие.
Гугли 2d packing problem
Изображение

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: заполнение прямоугольника

Сообщение Ramzes » 24.12.2008 (Ср) 22:58

Хакер писал(а):Угу. E и C же пересекаются.

просто спешил, когда рисовал, но общий смысл должен быть понятен

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: заполнение прямоугольника

Сообщение Хакер » 24.12.2008 (Ср) 23:00

Стоп. А размеры прямоугольников ведь даны? Или только площади?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: заполнение прямоугольника

Сообщение iGrok » 24.12.2008 (Ср) 23:42

Хакер писал(а):Стоп. А размеры прямоугольников ведь даны? Или только площади?

У меня даны. Думаю, у него тоже. Иначе задача не имеет смысла.
label:
cli
jmp label

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: заполнение прямоугольника

Сообщение Ramzes » 25.12.2008 (Чт) 0:15

Хакер писал(а):Стоп. А размеры прямоугольников ведь даны? Или только площади?

только площадь

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: заполнение прямоугольника

Сообщение iGrok » 25.12.2008 (Чт) 0:33

Ramzes писал(а):только площадь
Даже соотношение сторон неизвестно? Т.е. высоту и ширину не вычислить никак?
А в чём тогда заключается определение размещения?
label:
cli
jmp label

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: заполнение прямоугольника

Сообщение Ramzes » 25.12.2008 (Чт) 1:03

Форма особого значения не имеет, неплохо бы конечно, чтобы прямоугольники эти были максимально приближен к квадрату.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: заполнение прямоугольника

Сообщение Хакер » 25.12.2008 (Чт) 13:36

Если даны только площади, то просто подели большой прямоугольник горизонтальными линиями на части, пропорциональные площадям.

Или фишка именно в квадратайзинге?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: заполнение прямоугольника

Сообщение Ramzes » 25.12.2008 (Чт) 13:57

Вообще хотелось бы, что б вписаные прямоугольники были максимально приближены к квадрату


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList  
cron