Карандашное программирование: рисуем пейзажи масштабированием Блог тренера / 18.07.2016 Как записать и вызвать подпрограмму, мы научились на смайлах.. Пример здесь.Эти знание нам пригодятся для нашей задачи масштабирования - создания подобных объектов на рисунке. С помощью карандашного программирования мы умеем нарисовать одно дерево, одно облако, одну птичку... А как задать лес из похожих деревьев, облачное небо или птичью стаю? Для этого нам понадобится ввести функцию, зависящую от нескольких переменных.Разберем на простом примере, как с помощью подпрограммы создать картину с круглыми пузырями.Зададим переменные x и y для обозначения координат центра пузыря и size - его размера. Переменные x и y принимают фиксированные значения в нашей программе, переменная size - фиксированные целые положительные значения (в отдельных примерах - случайные).Рисуем пузыриПузыриЦветные кругиКруги случайного цвета и размераДелаем эскизы...При создании большой картины художники делают эскизы. Сделаем эскизы и мы. Нарисуем отдельно облака, деревья и стаю птиц.Рисуем лесЛесКстати, вот еще один объект для масштабирования - дерево, нарисованное дугами:ДеревоЕсли задать такое дерево с использованием параметра size, то можно нарисовать несколько лиственных деревьев:Деревья (дугами)Рисуем птицПтицыРисуем облакаОблакаЕсли деревья, облака и птиц объединить в одном проекте, получим такой пейзаж:ПейзажПейзаж 2Можно сделать пейзаж сюрреалистическим, добавив окрашивание случайными цветами:Сюрреалистический пейзажЕсли запустить в одной программе несколько черепашек, то разные группы объектов на пейзаже будут возникать одновременно! Об этом в следующем посте...И в завершение поста несколько задачек-вызовов!Задачи-вызовы1. Как записать с помощью подпрограммы рисование автомобиля, чтобы получить автомобильную парковку?ПарковкаТри подсказки: Для построения одного автомобиля использовать функцию Автомобиль Как закрасить объекты случайным цветом, посмотреть здесь. Как разбросать автомобили случайным образом на холсте, смотреть здесь 2. Как записать с помощью подпрограммы рисование высотного дома, чтобы получить микрорайон похожих (подобных) домов? Спальный микрорайонТри подсказки: Для построения здания использовать цикл Прямоугольник. Как закрасить объекты случайным цветом, посмотреть здесь. Как разбросать дома случайным образом на холсте, смотреть здесь Базовых проектов для превращения в такую масштабированную картинку, состоящую из подобных объектов, можно подобрать много. Возьмем те проекты, которые рассматривались в предшествующих постах: Фейерверк, Цветок, Флаг.Готовые проекты: Фейерверки, ФлагиВажно, чтобы при создании своего проекта ученики поняли принцип масштабирования. Масштабирование - это умножение всех линейных размеров объекта на переменную, которая одновременно задает коэффициент подобия для каждого объекта. Когда элемент создан, код дополняется эффектным раскрашиванием с использованием палитры случайных цветов и и выбросом начальной точки для рисование объекта в случайных местах координатной плоскости.Какие объекты для масштабирования и создания картин предложат читатели?Посты по теме *Появляются по мере публикацииКарандашное программирование. НачалоКарандашное программирование: смайломанияКарандашное программирование: чужой код для решения своей задачи...Карандашное программирование: циклыГеометрия и карандашное программированиеКарандашное программирование: холст как координатная плоскостьКарандашное программирование: рисуем пейзажи масштабированиемКарандашное программирование: четыре черепашки и симметричный дизайнКарандашное программирование: несколько черепашек и поворотная симметрияКарандашное программирование: черепашка рисует паркеты и мозаикиКарандашное программирование: черепашка и оптические иллюзииО творческих домашних заданиях, или Могут ли все ученики быть успешными?Программирование для воссоздания картин: математика и искусство вместеВ начале была цифра?Пляшущие черепашкиИскусство создания снежинки, или Как скоротать зиму...Карандашное программирование: паркеты и жывёлыКарандашное программирование: рекурсияЁлка в коде. МКЁлка в коде. Этап 2. Шарики цветные STEAM pencilcode блочное программирование искусство математика программирование проект