Инструмент Перо — это не только средство для рисования самых разных изображений, но и возможность для решения целого ряда интересных творческих задач, посвященных созданию самых разных орнаментов. Многие такие орнаменты состоят из одинаковых фрагментов, из которых строятся различные геометрические фигуры.
Пример орнамента:
Для получения такого орнамента можно взять за основу спрайт в виде небольшого квадрата. С помощью команды Печать отрисовываются фрагменты, из которых состоит данный рисунок. Способов решения данной задачи огромное множество, так как процесс отрисовки может быть организован в различной последовательности.
Например, этот орнамент можно рисовать по лепесткам, а затем отрисовать ромбы. Отрисовка самих лепестков также может быть организована самыми разными способами. Подробнее — в наших видео см. ниже.
В этом уроке много частей, в каждой из которых мы поэтапно рассмотрим основные подходы к рисованию такого рода орнаментов с помощью команды Печать. При этом мы закрепим навыки использования переменных, циклов, создания Других блоков (декомпозируя, подразделяя исходную задачу на подзадачи). Изучим также дополнительные возможности использования списков и обсудим вопрос о том, где могут быть использованы подобные задачи и методы их решения.
Примечание: дополнительным поводом для создания серии видео-уроков по данной теме явился Белорусский республиканский конкурс «Программирование в Scratch» 2020 года. Участникам 5-6 классов было предложено создать проекты для рисования достаточно сложных орнаментов.
Результаты финалистов можно посмотреть со страницы итогов первого этапа конкурса проекта «Программирование — вторая грамотность». Возможно, мы рассмотрим некоторые из этих проектов и использованные в них подходы к решению задачи в отдельном видео (пишите вопросы в комментариях).
Итак, приступим к рассмотрению возможных вариантов отрисовки более простого орнамента, который был представлен выше.
Часть 1.
Декомпозируем (разбиваем) задачу на подзадачи, детально изучив строение орнамента и выбрав один из возможных путей его отрисовки.
Создаём необходимые переменные и Другие блоки Scratch для рисования отдельных фрагментов орнамента с помощью команды Печать инструмента Перо.
Часть 2.
Часть 3.
Часть 4. Создаем универсальный Другой блок с параметрами вместо нескольких однотипных
В 4-й части серии уроков по рисованию орнамента в Scratch анализируем написанный код созданных других блоков и вместо нескольких однотипных (построенных по одному и тому же алгоритму) Других блоков (процедур) создаём один универсальный Другой блок с несколькими параметрами. При этом добавляем проверки условий, учитывающих направление рисования.
Часть 5.
Часть 6. Время выполнения
В 6-й части рассматриваем возможности измерения времени выполнения скриптов в Scratch с помощью считывающего блока Таймер и команды Сбросить таймер. Изучаем также возможность ускорения выполнения скриптов других блоков с использованием настройки «Запустить без обновления экрана».
Часть 7. Способ 2 — отрисовка диагоналями
Часть 8. Итог рисования орнамента диагоналями
Часть 9. Способ 3. Матрица отрисовки
Создаём матрицу, которая кодирует рисунок орнамента, и сохраняем её в списках Scratch. Затем по этой матрице отрисовываем орнамент.
Урок о списках и массивах для начинающих здесь.