Оригинал взят у
mntc в
Algodoo - бесплатная виртуальная лаборатория! На одном из сайтов написано так: скачайте эту полезную и развивающую программу для детей. Но предупреждаем - она затягивает и вы сами будете в нее долго играть. Так и вышло.
Речь идет о
Algodoo - бесплатной программе, где можно нарисовать всякие механизмы и системы, а потом включить моделирование - и они придут во взаимодействие в соответствии с законами физики в реальном времени. Программа двухмерная (но со многими слоями), зато весьма быстрая и имеет интерфейс типа Paint, позволяющий рисовать и перемещать фигуры без особых затруднений.
Вот исходная составленная мною на скорую руку сцена. Тут есть лазер, шестеренки из стекла, сквозь которые он проходит по законам оптики, немного воды, всякая всячина и Ragdoll - что переводится как тряпичная кукла - персонаж, предназначенный по-видимому, для пилотирования наших экспериментальных машин и механизмов.
Нажимаем кнопочку "Start simulation", и.... все приходит в движение!
Вода течет, проволока слева сминается под собственным весом, гири и пружины ведут себя как гири и пружины, луч искривляется, кукла падает. Вот снимок еще через несколько секунд:
В движении все это выглядит куда более динамично и интересно. Я бы снял видео, но при этом программа на моем несовременном компьютере притормаживает, и получается не красиво, лучше все это вы увидите сами установив Algodoo.
При всей видимой простоте, физика моделируется на очень хорошем уровне. Возьмем, например деревянный и стальной шары (можно присваивать объектам материалы) и уроним их в емкости с водой (о да, там довольно реалистично моделируется вода в больших количествах!).
Стальной шар (справа) падает чуть быстрее - потому что у нас включена опция учета сопротивления воздуха. Можно ее отключить, а можно настроить, изменив линейную и квадратичную компоненты. Итак. шары достигают воды и с разгону плюхаются в нее:
Стальной шар прорезает толщу воды до дна сосуда, и отскакивает от него, создавая большое количество брызг, в то время как деревянный своим падением вызывает лишь небольшой всплеск. После того как вода более-менее успокоилась, сцена приняла следующий вид, в полном соответствии с законами Архимеда:
Все это позволяет быстро создавать и моделировать различные механизмы, например работающие часы:
На объект можно добавить трассер - элемент, оставляющий за собой след для отслеживания траектории, а также выводить графики, цифровые значения, векторные стрелки и т.п. Это позволяет проверять многие изобретательские идеи "на лету". Я, например, сразу же воспользовался трассером для проверки своей идеи про
фрактальные опоры качения - способ соединения многих подшипников, позволяющий сгладить неровности направляющей самодельного станка с ЧПУ. Трассер показал, что башня, установленная на каретке движется по гораздо более плавной кривой, чем та, что описывает форму местности:
Так можно быстро виртуально прототипировать свои изобретения прежде чем приступать к трехмерному проектированию и изготовлению их "в металле". Вот, например, кто-то сделал красивый, управляемый с клавиатуры планетоход:
Вот
ссылка на файл сцены этого планетохода, расположенный в
Algobox - огромном онлайн-хранилище десятков тысяч созданных пользователями сцен и конструкций. Чего там только не напридумывали! Вот, например, трехногий и четырехногий шагающие роботы, преодолевающие разные препятствия.
А вот пневматическая винтовка, способная стрелять как в одиночном, так и автоматическом режиме в зависимости от положения переключателя (
файл):
А вот футуристическая чудо-пушка, которая не только автоматически выбрасывает гильзы и подает патроны, но и сама меняет обоймы по мере необходимости (
файл):
Много там моделей разных двигателей, насосов, механизмов, передач, автоматических линий и т.п.:
Программа рассчитывает геометрическую оптику с учетом показателей преломления, углов, дисперсии и всего такого. Вот например, в папке примеров есть такая сценка:
Давайте удалим овальную линзу посередине - тут же получим результат:
А что если изменить цвет лазерного луча? Часть спектра исчезнет:
Теперь увеличим показатель преломления материала призмы - получим интересный эффект многократного внутреннего отражения (можно двигать курсором регулятор показателя преломления и наблюдать как меняется картина):
Можно ставить сложные и удивительные оптические эксперименты. Оказывается, если сложить кучу прозрачных шариков и слегка ворошить, то лазерный луч, проходящий через эту конструкцию очень напоминает извивающиеся зигзаги молнии:
А еще лазеры могут резать объекты. Жили-были шестеренки:
После лазерной резки нижние половинки отпали, а верхние провернулись в положение с наименьшей потенциальной энергией:
Кто-то моделирует там походку животных, кто-то - полеты самолетов, а кто-то нарисовал
детали конструктора Лего:
В программе есть простой скриптовый язык программирования Thyme, позволяющим создавать разные хитрые объекты, явления и
физические эффекты, а потом пользоваться ими в моделях (cм.
русскоязычное введение в Thyme). Например, на следующей картинке слева представлен набор созданных кем-то при помощи скриптов футуристических видов оружия, выстрелом одного из которых , обозначенного автором как "Тяжелая протонная пушка" разрушается башня справа. Быстро летящий светлый комочек перед одним из блоков башни и есть, по-видимому сгусток протонов.
Скрипты помогают добавить разные функции - логику, плавление объектов лазером, или например... химию:
Данная сцена позволяет работать с 11 веществами состоящими из разноцветных крупинок. При соприкосновении крупинки определенного цвета соединяются в крупинки другого цвета, в общем, реагируют. Может выделиться газ - крупинки легче воздуха, которые всплывают вверх.
Есть в Algodoo и совсем уже волшебные функции. Например, перетащим в рабочее поле программы из броузера картинку... ну например, рыбы. Появится объект с формой и текстурой рыбы (фон рисунка удалился автоматически):
Мы может теперь работать с ее физическими свойствами. Сделаем ее потяжелее, помягче, и включим симуляцию. Рыба не просто упала, но обмякла, как и подобает рыбе:
Ее можно в реальном времени поднять за хвост, подбросить и т.п. Обратите внимание при этом на деформацию:
В общем, рыба теперь стала частью сцены, и взаимодействует со всеми ее объектами:
Так можно с очень малыми трудозатратами создавать игры, мультфильмы, учебные пособия и многое другое. Особенно хороша по-моему, эта программа для практических заданий по ТРИЗ, например
приемам устранения технических противоречий.
Представьте себе, что есть луна на высоте нескольких километров, и надо с нее забрать образец грунта и доставить на космодром. Мне лично удалось решить эту задачу далеко не сразу:
Пружинные подвески кабины и ее мягкая обивка, а также пружинные лапки ракеты появились в результате крайне негативного воздействия неаккуратных посадок и перегрузок на космонавта. Четыре двигателя обеспечили с трудом стабилизацию ракеты в пространстве. Система забора грунта тоже причинила немало хлопот - в общем инженерный процесс налицо. На следующей картинке ракета все-таки берет образец грунта, но с кабиной и космонавтом после соударения об Луну явно не все в порядке:
На
официальном сайте можно бесплатно скачать программу для Windows, Mac и iPad.
Версия для Linux называется Phun и может быть скачана например
тут.
Кстати, Algodoo стала бесплатной всего пару недель назад, а до этого стоила, говорят, недешево.
В общем, полагаю, много-много-много потраченных за компьютером часов вам гарантированы :)
Ссылки на ресурсы: