Случайная упаковка шаров — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
Строка 5: Строка 5:
 
Рассматривается задача плотной упаковки шаров заданного радиуса в квадрате и круге. Так же в ходе исследования выявляется наиболее плотная 2D упаковка из рассматриваемых.  
 
Рассматривается задача плотной упаковки шаров заданного радиуса в квадрате и круге. Так же в ходе исследования выявляется наиболее плотная 2D упаковка из рассматриваемых.  
  
Программа генерирует последовательно круги разного радиуса в заданной области(квадрат или круг) до тех пор, пока <math> k </math> раз подряд не получим неудачный эксперимент, т.е. наш круг будет выходить за заданную область или задевать другие круги.  
+
Программа генерирует последовательно круги разного радиуса в заданной области(квадрат или круг) до тех пор, пока <math> k </math> раз подряд не получим неудачный эксперимент, т.е. наш круг будет задевать другие круги.  
  
 
[[Файл:Circles_in_Circle.png]]
 
[[Файл:Circles_in_Circle.png]]

Версия 17:04, 6 мая 2016

Виртуальная лаборатория > Случайная упаковка шаров


Краткое описание

Рассматривается задача плотной упаковки шаров заданного радиуса в квадрате и круге. Так же в ходе исследования выявляется наиболее плотная 2D упаковка из рассматриваемых.

Программа генерирует последовательно круги разного радиуса в заданной области(квадрат или круг) до тех пор, пока [math] k [/math] раз подряд не получим неудачный эксперимент, т.е. наш круг будет задевать другие круги.

Circles in Circle.png


Для работы программы

Для запуска программы выберите, какой эксперимент хотите провести - случайная упаковка в квадрате ( кнопка "square") или в круге (кнопка "circle") и нажмите "Start".

Так же мы можем варьировать отношение диаметра маленького кружка [math] a [/math] к стороне квадрата/диаметру большого круга [math] d [/math] и количество экспериментов - [math] n [/math] и кол-во "неудачных" экспериментов [math] k [/math] , если будем двигать ползунок или задавать значение в специально отведённом окошке.

"min плотность" показывает наименьшее значение плотной упаковки для данного количества экспериментов и данного заданного числа "неудачных" экспериментов, "avg плотность" - наиболее вероятная упаковка, а "max плотность" - наиболее плотная упаковка.

В верхнем окне рисуется сама упаковка кругов в квадрат или круг, а ниже чертится график зависимости удельного числа проводимых экспериментов(т.е. отношение кол-ва экспериментов с данной плотностью к общему числу экспериментов) от плотности упаковки, которая равна отношению суммарной площади маленьких кругов к площади квадрата/круга.

Скачать Tight packing.rar.

Текст программы на языке Dart (разработчик Бондарев Сергей):