Редактирование: КП: Многочастичный симулятор
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 6: | Строка 6: | ||
'''Исполнитель:''' [[Старобинский Егор]] | '''Исполнитель:''' [[Старобинский Егор]] | ||
− | '''Группа:''' [[Группа 09|09]] | + | '''Группа:''' [[Группа 09|09]] (23604) |
'''Семестр:''' весна 2015 | '''Семестр:''' весна 2015 | ||
Строка 20: | Строка 20: | ||
Созданный движок позволяет человеку без специальных знаний в области программирования проводить моделирование собственных систем. Не требуется установки никакого дополнительного софта, программа запускается при помощи браузера как на компьютерах, так и на телефонах, планшетах, телевизорах класса Smart. | Созданный движок позволяет человеку без специальных знаний в области программирования проводить моделирование собственных систем. Не требуется установки никакого дополнительного софта, программа запускается при помощи браузера как на компьютерах, так и на телефонах, планшетах, телевизорах класса Smart. | ||
− | Визуализация не применяет технологию WebGL, благодаря чему многократно увеличивается диапазон | + | Визуализация не применяет технологию WebGL, благодаря чему многократно увеличивается диапазон устроств, способных запустить сайт с полноценной функциональностью. |
Применён метод нахождения периода движения частицы по участку траектории путём последовательного разбиения поля на сетки с возрастающей плотностью ячеек (идея позаимствована из теории слов). | Применён метод нахождения периода движения частицы по участку траектории путём последовательного разбиения поля на сетки с возрастающей плотностью ячеек (идея позаимствована из теории слов). | ||
Строка 84: | Строка 84: | ||
===== Результат ===== | ===== Результат ===== | ||
<center> | <center> | ||
− | {{#widget:Iframe|url= | + | {{#widget:Iframe|url=http://cl49743.tmweb.ru/node/phen/|width=960|height:540|border=0}} |
− | <big>[// | + | <big>[http://cl49743.tmweb.ru/node/phen/ Страница решения]</big> |
</center> | </center> | ||
Строка 94: | Строка 94: | ||
[[File:iPhone_image_2015-4-13-1431495673979_0.jpg|thumb|Нахождение периода в простом движении]] | [[File:iPhone_image_2015-4-13-1431495673979_0.jpg|thumb|Нахождение периода в простом движении]] | ||
+ | |||
===== Элементы системы ===== | ===== Элементы системы ===== | ||
Строка 125: | Строка 126: | ||
Консоль выводит каждое сообщение как одну строку. Если доступной длины строки не хватает, сообщение обрезается. Для отображения полной версии сообщения необходимо кликнуть по нему мышью. | Консоль выводит каждое сообщение как одну строку. Если доступной длины строки не хватает, сообщение обрезается. Для отображения полной версии сообщения необходимо кликнуть по нему мышью. | ||
+ | {{начало цитаты}} | ||
+ | '''Основные запросы''' | ||
− | < | + | <small> |
− | |||
− | |||
− | |||
Очистить поле консоли | Очистить поле консоли | ||
Строка 245: | Строка 245: | ||
− | Отобразить сетку | + | Отобразить сетку |
* '''showGrid type 0''' | * '''showGrid type 0''' | ||
− | |||
− | |||
* '''showGrid type 1''' | * '''showGrid type 1''' | ||
− | |||
− | |||
* '''showGrid type 2''' | * '''showGrid type 2''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Строка 303: | Строка 291: | ||
commandOne, commandTwo - команды консоли, могут также состоять из объединённых команд | commandOne, commandTwo - команды консоли, могут также состоять из объединённых команд | ||
+ | </small> | ||
{{конец цитаты}} | {{конец цитаты}} | ||
− | |||
− | |||
===== Возможности плеера ===== | ===== Возможности плеера ===== | ||
* Воспроизведение/пауза симуляции с заданным <math>\Delta t</math>; | * Воспроизведение/пауза симуляции с заданным <math>\Delta t</math>; | ||
* Скачок вперёд на кратное <math>\Delta t</math> время; | * Скачок вперёд на кратное <math>\Delta t</math> время; | ||
− | * "Замедление времени"<ref>При малой производительности клиента уменьшаем число отрисовок в единицу времени для сохранения гладкости анимации. | + | * "Замедление времени"<ref>При малой производительности клиента уменьшаем число отрисовок в единицу времени для сохранения гладкости анимации. Управлятся через консоль.</ref>. |
+ | |||
===== Кнопки интерфейса ===== | ===== Кнопки интерфейса ===== | ||
Строка 342: | Строка 330: | ||
'''►►''' - переход на 50 тиков вперёд (эквивалентна команде консоли step(50)). | '''►►''' - переход на 50 тиков вперёд (эквивалентна команде консоли step(50)). | ||
− | '''►|''' - переход на 100 тиков вперёд ( | + | '''►|''' - переход на 100 тиков вперёд (эквивалентн команде консоли step(100)). |
===== Пример системы ===== | ===== Пример системы ===== | ||
Строка 1481: | Строка 1469: | ||
</div> | </div> | ||
− | |||
Суммарно код текущей версии ('''v2.0 b''' от 2 июня 2015 года) движка занимает 2 500 строк без учёта библиотеки. | Суммарно код текущей версии ('''v2.0 b''' от 2 июня 2015 года) движка занимает 2 500 строк без учёта библиотеки. | ||
Строка 1487: | Строка 1474: | ||
Отличие от семейства версий '''1.*''' в полностью переписанной логике проекта для оптимизации вычислений и соблюдения принципов OOP JS. | Отличие от семейства версий '''1.*''' в полностью переписанной логике проекта для оптимизации вычислений и соблюдения принципов OOP JS. | ||
− | + | == Обсуждение результатов и выводы == | |
− | + | Общая презентация симулятора (12 страниц) | |
− | + | ||
− | + | [[File:MultiparticleSimulator.pdf]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Подробная презентация физического движка в составе симулятора (55 страниц) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[File:PhysicsEngine.pdf]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Ссылки по теме == | == Ссылки по теме == | ||
− | T | + | T, Jakobsen. "Advanced Character Physics", 2003. ([http://dkhramov.dp.ua/uploads/Comp/Jakobsen/jakobsen.pdf перевод статьи <nowiki></nowiki>]) |
− | Л. Ландау, Е. Лифшиц | + | Л. Ландау, Е. Лифшиц, "Теоретическая физика", том первый, "Механика", 1988. |
− | А | + | А, Смирнов. "Курсовой проект: молекула углекислого газа", 2015. ([[КП: Молекула углекислого газа|страница проекта]]) |
== См. также == | == См. также == |