2014-05-23 3 views
1

Я хочу упаковать круг с дополнительными кругами равного размера, чтобы максимизировать количество субкругов или свести к минимуму пространство между субкругами. В идеале алгоритм должен иметь возможность параметризовать максимальное/минимальное количество требуемых субкругов или интервал min/max между суб-кругами?Алгоритм для упаковки кругов в пределах круга?

Это или вариант этой хорошо изученной проблемы esp. в вычислительной геометрии или алгоритмах компоновки? Если да, то каковы некоторые алгоритмы для решения этой проблемы

+0

Я не уверен, что понимаю ограничения. Если внутренние круги могут быть любого размера, и цель состоит в том, чтобы упаковать как можно больше, я бы начал с нуля. Если вопрос: «Какую часть большего круга можно упаковать?» существует известное решение: .906, когда размер внутренних окружностей приближается к нулю. Можете ли вы уточнить ограничения размера? – Andreas

+0

Не существует эффективного алгоритма. Это очень нетривиальная проблема. Посмотрите [здесь] (http://en.wikipedia.org/wiki/Circle_packing_in_a_circle) –

ответ

2

Нет общего решения, но для проблем с N кругами до N = 2000 наиболее известные упаковки, полученные из численных методов can be found here. Файлы ASCII значений упаковки могут быть свободно загружены для использования приложения. Это постоянный поиск, поэтому проверка обновлений может быть чем-то, что вы хотите закодировать.

Примечание. Также есть a little form, скрывающийся в нижней части страницы, который применяет данные к проблеме минимизации отходов для заданного размера круга и подкручивания.

Смежные вопросы