Algodoo - бесплатная виртуальная лаборатория!

May 12, 2013 17:41

Оригинал взят у mntc в Algodoo - бесплатная виртуальная лаборатория!

На одном из сайтов написано так: скачайте эту полезную и развивающую программу для детей. Но предупреждаем - она затягивает и вы сами будете в нее долго играть. Так и вышло.

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

Вот исходная составленная мною на скорую руку сцена. Тут есть лазер, шестеренки из стекла, сквозь которые он проходит по законам оптики, немного воды, всякая всячина и Ragdoll - что переводится как тряпичная кукла - персонаж, предназначенный по-видимому, для пилотирования наших экспериментальных машин и механизмов.



Нажимаем кнопочку "Start simulation", и.... все приходит в движение!



Вода течет, проволока слева сминается под собственным весом, гири и пружины ведут себя как гири и пружины, луч искривляется, кукла падает. Вот снимок еще через несколько секунд:




В движении все это выглядит куда более динамично и интересно. Я бы снял видео, но при этом программа на моем несовременном компьютере притормаживает, и получается не красиво, лучше все это вы увидите сами установив Algodoo.

При всей видимой простоте, физика моделируется на очень хорошем уровне. Возьмем, например деревянный и стальной шары (можно присваивать объектам материалы) и уроним их в емкости с водой (о да, там довольно реалистично моделируется вода в больших количествах!).



Стальной шар (справа) падает чуть быстрее - потому что у нас включена опция учета сопротивления воздуха. Можно ее отключить, а можно настроить, изменив линейную и квадратичную компоненты. Итак. шары достигают воды и с разгону плюхаются в нее:



Стальной шар прорезает толщу воды до дна сосуда, и отскакивает от него, создавая большое количество брызг, в то время как деревянный своим падением вызывает лишь небольшой всплеск. После того как вода более-менее успокоилась, сцена приняла следующий вид, в полном соответствии с законами Архимеда:



Все это позволяет быстро создавать и моделировать различные механизмы, например работающие часы:



На объект можно добавить трассер - элемент, оставляющий за собой след для отслеживания траектории, а также выводить графики, цифровые значения, векторные стрелки и т.п. Это позволяет проверять многие изобретательские идеи "на лету".  Я, например, сразу же воспользовался трассером для проверки своей идеи про фрактальные опоры качения - способ соединения многих подшипников, позволяющий сгладить неровности направляющей самодельного станка с ЧПУ. Трассер показал, что башня, установленная на каретке движется по гораздо более плавной кривой, чем та, что описывает форму местности:



Так можно быстро виртуально прототипировать свои изобретения прежде чем приступать к трехмерному проектированию и изготовлению их "в металле". Вот, например, кто-то сделал красивый, управляемый с клавиатуры планетоход:



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





А вот пневматическая винтовка, способная стрелять как в одиночном, так и автоматическом режиме в зависимости от положения переключателя (файл):



А вот футуристическая чудо-пушка, которая не только автоматически выбрасывает гильзы и подает патроны, но и сама меняет обоймы по мере необходимости (файл):



Много там моделей разных двигателей, насосов, механизмов, передач, автоматических линий и т.п.:



Программа рассчитывает геометрическую оптику с учетом показателей преломления, углов, дисперсии и всего такого. Вот например, в папке примеров есть такая сценка:



Давайте удалим овальную линзу посередине - тут же получим результат:



А что если изменить цвет лазерного луча? Часть спектра исчезнет:



Теперь увеличим показатель преломления материала призмы - получим интересный эффект многократного внутреннего отражения (можно двигать курсором регулятор показателя преломления и наблюдать как меняется картина):



Можно ставить сложные и удивительные оптические эксперименты. Оказывается, если сложить кучу прозрачных шариков и слегка ворошить, то лазерный луч, проходящий через эту конструкцию очень напоминает извивающиеся зигзаги молнии:



А еще лазеры могут резать объекты. Жили-были шестеренки:



После лазерной резки нижние половинки отпали, а верхние провернулись в положение с наименьшей потенциальной энергией:



Кто-то моделирует там походку животных, кто-то - полеты самолетов, а кто-то нарисовал детали конструктора Лего:



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



Скрипты помогают добавить разные функции - логику, плавление объектов лазером, или например... химию:



Данная сцена позволяет работать с 11 веществами состоящими из разноцветных крупинок. При соприкосновении крупинки определенного цвета соединяются в крупинки другого цвета, в общем, реагируют. Может выделиться газ - крупинки легче воздуха, которые всплывают вверх.

Есть в Algodoo и совсем уже волшебные функции. Например, перетащим в рабочее поле программы из броузера картинку... ну например, рыбы. Появится объект с формой и текстурой рыбы (фон рисунка удалился автоматически):



Мы может теперь работать с ее физическими свойствами. Сделаем ее потяжелее, помягче, и включим симуляцию. Рыба не просто упала, но обмякла, как и подобает рыбе:



Ее можно в реальном времени поднять за хвост, подбросить и т.п. Обратите внимание при этом на деформацию:



В общем, рыба теперь стала частью сцены, и взаимодействует со всеми ее объектами:



Так можно с очень малыми трудозатратами создавать игры, мультфильмы, учебные пособия и многое другое. Особенно хороша по-моему, эта программа для практических заданий по ТРИЗ, например приемам устранения технических противоречий.

Представьте себе, что есть луна на высоте нескольких километров, и надо с нее забрать образец грунта и доставить на космодром. Мне лично удалось решить эту задачу далеко не сразу:



Пружинные подвески кабины и ее мягкая обивка, а также пружинные лапки ракеты появились в результате крайне негативного воздействия неаккуратных посадок и перегрузок на космонавта. Четыре двигателя обеспечили с трудом стабилизацию ракеты в пространстве. Система забора грунта тоже причинила немало хлопот - в общем инженерный процесс налицо. На следующей картинке ракета все-таки берет образец грунта, но с кабиной и космонавтом после соударения об Луну явно не все в порядке:



На официальном сайте можно бесплатно скачать программу для Windows, Mac и iPad.
Версия для Linux называется Phun и может быть скачана например тут.

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

Ссылки на ресурсы:
Next post
Up