Публикации сообщества

Александр Григорьев • 24 августа 2020

Программа физического моделирования Algodoo, первые шаги

Компьютерное моделирование физических явлений, кинематических схем, работающих механизмов - вот что такое программа 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

Теперь можно запустить программу и сменить в настройках язык на русский. После запуска открывается окно приветствия.

image-20200824100918-1

 

Нажмите "Setup" (либо шестерёнку в программном меню) и выберите "Set your language" ("Choose language"), Russian. Готово.

image-20200824100918-2

 

Можно проверить и остальные настройки, но нет большой необходимости что-либо ещё менять.

Очень полезно будет пройти начальное обучение. Для этого следует щёлкнуть по знаку вопроса в главном меню ("Помощь") и выбрать  учебник "Crash course" или "Курс молодого бойца" (в зависимости от перевода).

image-20200824100918-3

 

Можно также щёлкнуть по значку "Мои сцены" ("Открыть") и выбрать "Algodoo Play", специальный демонстрационный игровой проект, в котором нужно суметь прокатить шарик по своеобразному лабиринту, выполняя необходимые действия по подсказкам (подсказки на английском языке, это часть проекта). Текущий инструмент меняется буквенными клавишами или при помощи мыши.

image-20200824100918-4

 

Но полезнее всего просто самостоятельно поэкспериментировать с различными инструментами и объектами, а затем закрепить полученные знания, создав функционирующую кинематическую схему, заготовку для шагающего механизма.

Нажмите значок "Новая сцена", выберите цветовую палитру (например, "Default"). Вы увидите пустое пространство, небо (голубое, c "облаками") и землю (зелёную). Изображение можно перемещать, "ухватив" правой кнопкой мыши за "небо" или за "землю", а колёсиком мыши масштабировать. У нашей компьютерной "вселенной" существуют границы, но пусть нас пока это не волнует.

Щёлкните по значку "Инструмент для создания круга (C)" ("Circle").

image-20200824100918-5

 

Теперь нарисуйте на голубом поле ("в небе") круглый объект произвольного размера.

image-20200824100918-6

 

Проверим, может ли это "колёсико" кататься. Щёлкните по кнопке "Play" (зелёный треугольничек, "Пауза и Запуск симуляции"). Круг упал на землю в соответствии с силами гравитации. Не останавливая симуляцию выберите инструмент D ("Drag tool", "перетаскивание"), "зацепите" им кружочек и двиньте в сторону. Колесо покатилось и исчезло за краем экрана.

Не пугайтесь, просто остановите симуляцию. Затем воспользуйтесь кнопкой "Отменить". Несколько раз нажимая добейтесь того, чтобы круг вернулся в своё первоначальное положение "в воздухе". Этим приёмом в Algodoo приходится пользоваться постоянно, "намудрить" очень легко.

Давайте разберёмся с очень важным аспектом - настройками столкновений объектов. Нарисуйте над кругом горизонтальный прямоугольник произвольного размера.

image-20200824100918-7

 

Запустите симуляцию. Как видите, объекты сталкиваются друг с другом.

image-20200824100918-8

 

Проведите ещё один эксперимент - передвиньте прямоугольник, чтобы его позиция пересеклась с кругом (инструментом M, "Move", "перемещение") и запустите симуляцию. Эффектно разлетелись, не правда ли? Верните всё как было.

Можно ли добиться того, чтобы объекты размещались в разных плоскостях? Это потребуется при создании кинематических схем. Щёлкните правой кнопкой мыши по прямоугольнику и выберите "столкновения слоёв". Снимите маркер в одном слое, поставьте в другом.

 image-20200824100918-9

 

Теперь круг и прямоугольник занимают разные слои - A и B соответственно. Столкновения нет. Проверьте это. Кстати, обратите внимание, что есть разница между слоем столкновений и слоем отображения. В данном случае прямоугольник отображается поверх круга (сменить это можно командами контекстного меню "выбрать", "переместить на задний/передний план").

image-20200824100918-10

 

Ещё один способ добиться того, чтобы объекты считались не сталкивающимися друг с другом - явным образом задать тип кинематической связи между ними. Сделать это можно инструментом F ("Fixate", "Гвоздь") либо H ("Axle tool", "Ось").

Давайте проверим. Создайте ещё один прямоугольник, теперь вертикальный, достаточной длины, чтобы он мог связать первые две фигуры. Лучше где-нибудь сбоку, потом мы переместим.

image-20200824100918-11

 

Круг и вертикальный прямоугольник занимают слой A, горизонтальный прямоугольник - слой B (можете проверить). Поместите инструментом M вертикальный прямоугольник поверх горизонтального прямоугольника и круга. Теперь свяжите двумя осями все фигуры - выберите инструмент H (не путайте с инструментом F, "гвоздь") и щёлкните по двум точкам.

image-20200824100918-12

 

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

image-20200824100918-13

 

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

Теперь "прибейте" верхнюю горизонтальную балку к "небесной тверди" "гвоздём" (инструментом F). Простите за используемую терминологию, но в данном случае подобные названия хорошо отражают суть того, что получается.

"Прибивать гвоздём" допустимо в любой точке, деталь считается жёстко зафиксированной и не проворачивается, как вокруг оси. Если позже понадобится, точку закрепления ("гвоздь" или ось) можно будет выделить (инструментом M, например) и удалить.

image-20200824100918-14

 

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

image-20200824100918-15

 

Можно экспериментировать и дальше, но пора приступать к основной нашей задаче. Для хорошей кинематической схемы потребуются детали с точно выверенными размерами. Не беда, нам поможет сетка. Включите её отображение соответствующей кнопкой.

image-20200824100918-16

 

Обратите внимание, что детализация сетки (абсолютный размер каждой клетки) меняется при изменении масштаба. Давайте для определённости будем начинать работу в таком масштабе, при котором одна клетка равна 25 см. Тогда можно будет обозначать размер и в тех, и в других единицах измерения (и в клетках, и в сантиметрах).

image-20200824100918-17

 

Итак, нажмите на иконку "Новая сцена". Затем последовательно создайте фигуры следующих размеров:

  • прямоугольник шириной 10 клеток и высотой 7 клеток (иными словами 250 см на 175 см);
  • круг диаметром 6 клеток;
  • вертикальный прямоугольник 1 на 6 клеток;
  • вертикальный прямоугольник 1 на 14;
  • вертикальный прямоугольник 1 на 15;
  • горизонтальный прямоугольник 7 на 1;
  • горизонтальный прямоугольник 14 на 1;
  • горизонтальный прямоугольник 9 на 1.

Получившийся набор фигур должен выглядеть примерно так.

image-20200824100918-18

 

Теперь скомпонуйте детали нашего механизма, переместив их в нужные позиции.

image-20200824100918-19

 

Осталось закрепить основу (большой прямоугольник) и задать кинематические связи между всеми элементами конструкции.

Крепить объект к "небесной тверди" мы уже научились. Давайте научимся ещё добавлять ось прямо в середину круга. Щёлкните по нему правой кнопкой мыши и выберите "Geometry actions", а далее соответствующую команду. Этот способ удобен и может выручить при отключенной сетке.

image-20200824100918-20

 

Теперь круг связан осью с нижележащим объектом, в данном случае это большой прямоугольник 10x7.

Осталось поставить оси во все другие необходимые позиции. Увеличьте масштаб, появятся дополнительные линии, к перекрестью которых будет "приклеиваться" курсор. Расстояние от осей до краёв балок - половина поперечного сечения, то есть 12,5 см.

image-20200824100918-21

 

Напоследок добавим ещё один элемент, трассер (инструментом E) на кончик "ноги".

image-20200824100918-22

 

Общий вид конструкции теперь должен быть таким.

image-20200824100918-23

 

Прежде чем запускать симуляцию не забудьте поправить настройки учёта столкновений. Основа конструкции (большой прямоугольник) и круг должны располагаться в отдельном слое, например в слое B.

Нажмите на кнопку "Play". Механическая нога начала свободно покачиваться. Выберите инструмент D и покрутите "пальцем" колесо. Вы увидите, что механизм пришёл в движение, а кончик ноги описывает занятную траекторию.

image-20200824100918-24

 

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

 

 

Кол-во комментариев: (9)

Екатерина Алексеева
Александр, а Вы рассматриваете эту программу как инструментарий для педагогов или как рабочее пространство для выполнения творческих заданий детьми?
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Александр Григорьев
    Вы знаете, это и то, и другое! Масса детей (да и взрослых) становится ярыми поклонниками этой программы и с удовольствием проводят время, создавая модели реальных механизмов или всякие машины Гольдберга :) Почитайте описание по ссылке в начале статьи. "Скачайте эту полезную и развивающую программу для детей. Но предупреждаем - она затягивает и вы сами будете в нее долго играть". Я полностью согласен с этими словами! И вместе с тем это ещё и мощный инструмент, который могут использовать учителя физики (и не только физики) на своих уроках. Нужно подвесить на ниточке груз и заставить его раскачиваться - несколькими движениями ты это делаешь.
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Анна Самарина
    Спасибо за вводную инструкцию, давно нужна была! Изучаю программу со своими студентами - будущими учителями физики и информатики. Замечательная вещь, но пока, к сожалению, малоизвестная! Для проектов, конструирования в виртуале, иллюстрирования явлений и процессов!
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Александр Григорьев
    Анна, замечательные проекты, спасибо большое за примеры! Вы и Ваши студенты большие молодцы! :) Есть надежда, что всё больше будет появляться выпускников педВУЗов, владеющих современным инструментарием!
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Анна Самарина
    Я думаю, что Algodoo также может пригодиться в условиях дистанта для проведения виртуальных лабораторных работ. Моим студентам понравились возможности применения в оптике - линзы выпуклые, вогнутые, лазеры, преломление и пр. Пример https://docs.google.com/document/d/1Mnt0mxJfye0uTK--1uy5mwxyBbjG7l7nz3E…
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Ольга Тузова
    Александр, спасибо. Взяла на вооружение. Работаем в 6-м и 7-м классах, изучая системы. Сегодня делали машину Гольдберга. Было весело :)
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии