Продолжим. Мы остановились на задаче: заставить мяч рисовать график своих перемещений.
Сделать это несложно. Понадобятся блоки из расширения "Перо", которое можно добавить кнопкой в левом нижнем углу экрана.
Необходимо доработать скрипт таким образом, чтобы менялась не только позиция X, но и позиция Y. Мы будем использовать для этого свой собственный блок "изменить положение X на ( ) , Y на ( )". Создайте его.
В разделе "Другие блоки" палитры скриптов нажмите на кнопку "Создать блок". Появится окно, в котором надо будет отредактировать название, добавить два значения и ещё одну подпись, чтобы получилось как на рисунке.
К "шапочке" (определению) блока добавьте скрипт:
Полный набор скриптов для спрайта "Мяч" теперь выглядит так.
Значения переменных, отображаемые на сцене, нам будут мешать. Снимите маркеры, чтобы спрятать их.
Запустите программу. Теперь мяч перемещается сверху вниз во время колебаний, и за ним остаётся след синусоидальной формы.
Сохраните проект, теперь его можно использовать как шаблон для создания новых, более сложных.
"Скорость" и "ускорение" во время движения мяча
Можно было бы уже перейти к следующему шагу, но очень уж интересно узнать, по какому закону меняются значения переменных "скорость" и "ускорение" во время движения мяча. Сделаем пробную модификацию программы, чтобы видеть ещё два графика. Рисовать эти графики будут два дополнительных спрайта.
Создайте две глобальных переменных (которые будут доступны всем спрайтам) с именами "показатель1" и "показатель2". Добавьте в скрипт мяча блоки, задающие значения этих переменных на основе скорости и ускорения мяча.
Добавьте новый спрайт с костюмом стрелки, отредактируйте, поменяв цвет и положение центральной точки спрайта. Соберите скрипт.
Красная стрелка будет рисовать красным пером график изменения значения переменной "показатель1".
Сделайте дубль этого спрайта, отредактируйте цвет стрелки и цвет пера. Замените переменную "показатель1" переменной "показатель2".
Запустите проект. Теперь на сцене сразу три графика - перемещения, скорости и ускорения. Как видите, все они имеют синусоидальную форму. При этом любопытно то, что в нашей программе не используются функции синуса или косинуса, вычисления
происходят за счёт интегрирования (суммирования значений).
На сегодня прервемся. На всякий случай, готовый файл проекта можно забрать из электронной библиотеки проекта. Файл с готовым проектом на данном этапе: этап1.sb3
На следующем этапе проекта введем учет сил трения и сопротивления. Будет интересно)
Ранее в проекте:
1. Scratch3. Моделируем в Scratch гармонические колебания. Часть 1. Введение в проект.