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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
Строка 12: Строка 12:
 
== Для работы программы ==
 
== Для работы программы ==
  
Для запуска программы выберите, какой эксперимент хотите провести - случайная упаковка в квадрате ( кнопка "square")  или в круге (кнопка "circle") и нажмите "старт".
+
Для запуска программы выберите, какой эксперимент хотите провести - случайная упаковка в квадрате ( кнопка "square")  или в круге (кнопка "circle") и нажмите "Start".
Так же мы можем варьировать отношение диаметра маленького кружка <math> a </math> к стороне квадрата/диаметру большого круга <math> d </math> и количество экспериментов - <math> n </math> и кол-во "неудачных" экспериментов <math> k </math> .
 
  
После наших экспериментов мы построили график зависимости удельного числа проводимых экспериментов(т.е. отношение кол-ва экспериментов с данной плотностью к общему числу экспериментов)  от плотности упаковки, которая равна отношению суммарной площади маленьких кругов к площади квадрата/круга.  
+
Так же мы можем варьировать отношение диаметра маленького кружка <math> a </math> к стороне квадрата/диаметру большого круга <math> d </math> и количество экспериментов - <math> n </math> и кол-во "неудачных" экспериментов <math> k </math> , если будем двигать ползунок или задавать значение в специально отведённом окошке.
 +
 
 +
"min плотность" показывает наименьшее значение плотной упаковки для данного количества экспериментов и данного заданного числа "неудачных" экспериментов,  "avg  плотность"  - наиболее вероятная упаковка, а  "max плотность" - наиболее плотная упаковка.
 +
 
 +
В верхнем окне рисуется сама упаковка кругов в квадрат или круг, а ниже чертится график зависимости удельного числа проводимых экспериментов(т.е. отношение кол-ва экспериментов с данной плотностью к общему числу экспериментов)  от плотности упаковки, которая равна отношению суммарной площади маленьких кругов к площади квадрата/круга.
  
 
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/BondarevS/sphere_packing/index.html |width=1250 |height=1200 |border=0 }}
 
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/BondarevS/sphere_packing/index.html |width=1250 |height=1200 |border=0 }}

Версия 13:42, 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 (разработчик Бондарев Сергей):