Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2010, 13:55   #1
tunyash
Пользователь
 
Регистрация: 03.05.2008
Сообщений: 25
По умолчанию Геометрия. Влезут ли окружности в прямоугольник.

Доброго времени суток. Я еще не студент, но надеюсь, что меня простят.
Задача формулируется так:
Есть n кругов с заданными радиусами и прямоугольник со сторонами w и h. Требуется узнать влезут ли все круги одновременно в прямоугольник без пересечений между собой и со сторонами прямоугольника.
Виноват, перепутал круги и окружности.
Возможно ли достичь асимптотики n^2? Можете поделиться идеями? Заранее спасибо.


Собственно моя идея. Сведем задачу к запихиванию одного круга в систему из прямоугольника и некоторого количества уже лежащих в нем кругов. Вставим круг в случайную точку внутри прямоугольника. После этого будем для некоторого круга искать другие круги, пересекающиеся с ним и выталкивать их из него. Затем сделаем то же для вытолкнутых кругов. Если круг оказался вытолкнут за пределы прямоугольника, то он ставится на границу и выталкивает из себя все круги. Если после того, как процедура запущена от n^3 кругов можно с большой долей вероятности утверждать, что вставить круг было невозможно. Асимптотика N^4.

Последний раз редактировалось tunyash; 27.10.2010 в 15:45.
tunyash вне форума Ответить с цитированием
Старый 27.10.2010, 14:33   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Как-то все заумно. Окружность влезет в прямоугольник только в случае если ее диаметр меньше самой меньшей из сторон прямоугольника. Остальные окружности влезут если они имеют меньшие диаметры, чем диаметр самого большой, помещающейся в прямоугольник окружности. Как-то так, при условии что я правильно понял задание и что оно здесь правильно описано. Нафига случайная точка? Точка известна - она является центром наибольшей окружности, при желании можно вычислить и для прямоугольника.
Собственно возникает вопрос - Причем здесь программирование?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.10.2010, 14:45   #3
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Utkin, если я правильно понял, то задача поинтереснее. Необходимо впихнуть в прямоугольник сразу все n окружностей.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 27.10.2010, 14:49   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну как частный случай, если все окружности разных диаметров + все что описано выше, то поместятся все .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.10.2010, 15:10   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нужно просто посчитать площади окружностей и площадь прямоугольника.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2010, 15:25   #6
tunyash
Пользователь
 
Регистрация: 03.05.2008
Сообщений: 25
По умолчанию

Площади считать нельзя. Например, если у нас прямоугольник 1х1000000 и окружность радиуса 2. Площадь прямоугольника будет больше, но окружность не влезет в него.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Ну как частный случай, если все окружности разных диаметров + все что описано выше, то поместятся все .
Да, вы правы. Я перепутал круги и окружности.
Извиняюсь за два поста подряд.

Последний раз редактировалось Stilet; 27.10.2010 в 15:50.
tunyash вне форума Ответить с цитированием
Старый 27.10.2010, 15:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не я не так выразился.
Я это имел ввиду:http://ru.wikipedia.org/wiki/%D0%9A%...83%D0%B3%D0%B0
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2010, 16:01   #8
tunyash
Пользователь
 
Регистрация: 03.05.2008
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не я не так выразился.
Я это имел ввиду:http://ru.wikipedia.org/wiki/%D0%9A%...83%D0%B3%D0%B0
Поясните, пожалуйста, при чем здесь?
tunyash вне форума Ответить с цитированием
Старый 27.10.2010, 16:08   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Я же Вам практически дал решение . Вот этот частный случай отсекаем от прямоугольника и получаем новый прямоугольник. В него по описанному Выше алгоритму пытаемся запихнуть оставшиеся круги и дело в шляпе. Если круги еще остались значит отсекаем снова пока прямоугольник не кончиться совсем.
Повторяю свой вопрос - причем здесь программирование?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.10.2010, 16:31   #10
tunyash
Пользователь
 
Регистрация: 03.05.2008
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Я же Вам практически дал решение . Вот этот частный случай отсекаем от прямоугольника и получаем новый прямоугольник. В него по описанному Выше алгоритму пытаемся запихнуть оставшиеся круги и дело в шляпе. Если круги еще остались значит отсекаем снова пока прямоугольник не кончиться совсем.
Повторяю свой вопрос - причем здесь программирование?
Программирование при том, что это задача на программирование. Ее решением является код на каком-либо языке программирования.
Я не совсем понял ваше решение. Поясните, пожалуйста, что вы собираетесь отсекать от прямоугольника?
tunyash вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Геометрия zumm Свободное общение 3 07.07.2010 18:37
Си геометрия Денни Помощь студентам 11 05.03.2010 09:41
Геометрия Levsha100 Помощь студентам 5 29.09.2009 09:56
Дивижение окружности по окружности Irina8340 Помощь студентам 10 13.05.2009 20:25
движение окружности по окружности MyQwErTy Помощь студентам 13 04.11.2008 22:52