Компьютерное моделирование физических явлений, кинематических схем, работающих механизмов - вот что такое программа Algodoo. Своим стилем она напоминает незабвенные "The Incredible Machine" и "Заработало!" . Экспериментировать можно с твёрдыми и пластичными объектами, жидкостями, верёвочными соединениями, лазерами, оптическими элементами, всего не перечесть. Тот, кому интересно, может почитать об этом в обзорной статье.
https://mntc.livejournal.com/25361.html
Обилие инструментов может поначалу испугать, но если двигаться по шагам, освоиться будет несложно.
Прежде всего программу следует скачать и установить на свой компьютер. Она разрабатывалась как коммерческая, но через какое-то время перешла в свободный доступ и стала бесплатной. Не стоит пытаться использовать так называемые "русифицированные версии", размещённые на сомнительных веб-страницах. Пользуйтесь официальным сайтом.
http://www.algodoo.com/download/
Русифицировать программу следует после завершения установки. Русификация создана энтузиастами, содержит ошибки и недоработки, но у любого есть возможность заняться её исправлением (а потом поделиться с остальными результатом).
Существует два корректных способа добавить русский язык: воспользоваться Algodoo-установщиком (файл с расширением phi), либо вручную записать пару файлов (графический и текстовой конфигурационный) в нужную директорию.
Первый путь описан здесь:
https://infostarting.ru/kak-ustanovit-i-nastroit-v-algodoo-russkij-yazyk/
Тот, кто предпочитает второй путь, может скачать с официального форума файлы "Russian.png" и "Russian.cfg", а затем скопировать их в папку "C:\Program Files (x86)\Algodoo\data\language".
http://www.algodoo.com/forum/viewtopic.php?f=30&t=10004&sid=f999349bc39616bdc8a2d34bd26e9b73#p68760
Теперь можно запустить программу и сменить в настройках язык на русский. После запуска открывается окно приветствия.
Нажмите "Setup" (либо шестерёнку в программном меню) и выберите "Set your language" ("Choose language"), Russian. Готово.
Можно проверить и остальные настройки, но нет большой необходимости что-либо ещё менять.
Очень полезно будет пройти начальное обучение. Для этого следует щёлкнуть по знаку вопроса в главном меню ("Помощь") и выбрать учебник "Crash course" или "Курс молодого бойца" (в зависимости от перевода).
Можно также щёлкнуть по значку "Мои сцены" ("Открыть") и выбрать "Algodoo Play", специальный демонстрационный игровой проект, в котором нужно суметь прокатить шарик по своеобразному лабиринту, выполняя необходимые действия по подсказкам (подсказки на английском языке, это часть проекта). Текущий инструмент меняется буквенными клавишами или при помощи мыши.
Но полезнее всего просто самостоятельно поэкспериментировать с различными инструментами и объектами, а затем закрепить полученные знания, создав функционирующую кинематическую схему, заготовку для шагающего механизма.
Нажмите значок "Новая сцена", выберите цветовую палитру (например, "Default"). Вы увидите пустое пространство, небо (голубое, c "облаками") и землю (зелёную). Изображение можно перемещать, "ухватив" правой кнопкой мыши за "небо" или за "землю", а колёсиком мыши масштабировать. У нашей компьютерной "вселенной" существуют границы, но пусть нас пока это не волнует.
Щёлкните по значку "Инструмент для создания круга (C)" ("Circle").
Теперь нарисуйте на голубом поле ("в небе") круглый объект произвольного размера.
Проверим, может ли это "колёсико" кататься. Щёлкните по кнопке "Play" (зелёный треугольничек, "Пауза и Запуск симуляции"). Круг упал на землю в соответствии с силами гравитации. Не останавливая симуляцию выберите инструмент D ("Drag tool", "перетаскивание"), "зацепите" им кружочек и двиньте в сторону. Колесо покатилось и исчезло за краем экрана.
Не пугайтесь, просто остановите симуляцию. Затем воспользуйтесь кнопкой "Отменить". Несколько раз нажимая добейтесь того, чтобы круг вернулся в своё первоначальное положение "в воздухе". Этим приёмом в Algodoo приходится пользоваться постоянно, "намудрить" очень легко.
Давайте разберёмся с очень важным аспектом - настройками столкновений объектов. Нарисуйте над кругом горизонтальный прямоугольник произвольного размера.
Запустите симуляцию. Как видите, объекты сталкиваются друг с другом.
Проведите ещё один эксперимент - передвиньте прямоугольник, чтобы его позиция пересеклась с кругом (инструментом M, "Move", "перемещение") и запустите симуляцию. Эффектно разлетелись, не правда ли? Верните всё как было.
Можно ли добиться того, чтобы объекты размещались в разных плоскостях? Это потребуется при создании кинематических схем. Щёлкните правой кнопкой мыши по прямоугольнику и выберите "столкновения слоёв". Снимите маркер в одном слое, поставьте в другом.
Теперь круг и прямоугольник занимают разные слои - A и B соответственно. Столкновения нет. Проверьте это. Кстати, обратите внимание, что есть разница между слоем столкновений и слоем отображения. В данном случае прямоугольник отображается поверх круга (сменить это можно командами контекстного меню "выбрать", "переместить на задний/передний план").
Ещё один способ добиться того, чтобы объекты считались не сталкивающимися друг с другом - явным образом задать тип кинематической связи между ними. Сделать это можно инструментом F ("Fixate", "Гвоздь") либо H ("Axle tool", "Ось").
Давайте проверим. Создайте ещё один прямоугольник, теперь вертикальный, достаточной длины, чтобы он мог связать первые две фигуры. Лучше где-нибудь сбоку, потом мы переместим.
Круг и вертикальный прямоугольник занимают слой A, горизонтальный прямоугольник - слой B (можете проверить). Поместите инструментом M вертикальный прямоугольник поверх горизонтального прямоугольника и круга. Теперь свяжите двумя осями все фигуры - выберите инструмент H (не путайте с инструментом F, "гвоздь") и щёлкните по двум точкам.
Запустите симуляцию. То, что получилось, упало и стало вести себя как взаимосвязанный набор деталей. Причем ни один из объектов не сталкивается ни с одним другим.
Заключительный эксперимент перед созданием нашего "шагохода". Верните связанные осями объекты в первоначальное положение (просто кнопкой "назад", естественно). Вновь поправьте систему столкновений, пусть все фигуры занимают один общий слой A.
Теперь "прибейте" верхнюю горизонтальную балку к "небесной тверди" "гвоздём" (инструментом F). Простите за используемую терминологию, но в данном случае подобные названия хорошо отражают суть того, что получается.
"Прибивать гвоздём" допустимо в любой точке, деталь считается жёстко зафиксированной и не проворачивается, как вокруг оси. Если позже понадобится, точку закрепления ("гвоздь" или ось) можно будет выделить (инструментом M, например) и удалить.
Запустите симуляцию. Верхняя балка закреплена неподвижно, две нижние детали раскачиваются. Можете проверить - теперь круг и горизонтальная балка сталкиваются, поскольку занимают один слой и связаны не напрямую, а через промежуточный элемент.
Можно экспериментировать и дальше, но пора приступать к основной нашей задаче. Для хорошей кинематической схемы потребуются детали с точно выверенными размерами. Не беда, нам поможет сетка. Включите её отображение соответствующей кнопкой.
Обратите внимание, что детализация сетки (абсолютный размер каждой клетки) меняется при изменении масштаба. Давайте для определённости будем начинать работу в таком масштабе, при котором одна клетка равна 25 см. Тогда можно будет обозначать размер и в тех, и в других единицах измерения (и в клетках, и в сантиметрах).
Итак, нажмите на иконку "Новая сцена". Затем последовательно создайте фигуры следующих размеров:
- прямоугольник шириной 10 клеток и высотой 7 клеток (иными словами 250 см на 175 см);
- круг диаметром 6 клеток;
- вертикальный прямоугольник 1 на 6 клеток;
- вертикальный прямоугольник 1 на 14;
- вертикальный прямоугольник 1 на 15;
- горизонтальный прямоугольник 7 на 1;
- горизонтальный прямоугольник 14 на 1;
- горизонтальный прямоугольник 9 на 1.
Получившийся набор фигур должен выглядеть примерно так.
Теперь скомпонуйте детали нашего механизма, переместив их в нужные позиции.
Осталось закрепить основу (большой прямоугольник) и задать кинематические связи между всеми элементами конструкции.
Крепить объект к "небесной тверди" мы уже научились. Давайте научимся ещё добавлять ось прямо в середину круга. Щёлкните по нему правой кнопкой мыши и выберите "Geometry actions", а далее соответствующую команду. Этот способ удобен и может выручить при отключенной сетке.
Теперь круг связан осью с нижележащим объектом, в данном случае это большой прямоугольник 10x7.
Осталось поставить оси во все другие необходимые позиции. Увеличьте масштаб, появятся дополнительные линии, к перекрестью которых будет "приклеиваться" курсор. Расстояние от осей до краёв балок - половина поперечного сечения, то есть 12,5 см.
Напоследок добавим ещё один элемент, трассер (инструментом E) на кончик "ноги".
Общий вид конструкции теперь должен быть таким.
Прежде чем запускать симуляцию не забудьте поправить настройки учёта столкновений. Основа конструкции (большой прямоугольник) и круг должны располагаться в отдельном слое, например в слое B.
Нажмите на кнопку "Play". Механическая нога начала свободно покачиваться. Выберите инструмент D и покрутите "пальцем" колесо. Вы увидите, что механизм пришёл в движение, а кончик ноги описывает занятную траекторию.
В заключение хотелось бы сказать, что мы затронули лишь малую толику возможностей этой чудесной программы. В частности, благодаря тому, что каждый объект Algodoo способен хранить и использовать собственные скрипты, можно предусмотреть любые самые невообразимые связи между элементами проекта.