12+  Свидетельство СМИ ЭЛ № ФС 77 - 70917
Лицензия на образовательную деятельность №0001058
Пользовательское соглашение     Контактная и правовая информация
 
Педагогическое сообщество
УРОК.РФУРОК
 
Материал опубликовала
Марасанова Елена Вячеславовна102
Россия, Липецкая обл., Липецк

STEAM-проект «Снежинка+»


Дорогой друг, если тебе от 12 до 17 лет, то предлагаем принять участие в STEAM-проекте «Снежинка+».

«S» – ­Science – Наука

«T»Technology – Технология

«E»Engineering – Инженерия

«A»Arts – Искусство

«M»Mathematics – Математика

STEAM-проект даст возможность погрузиться в мир всех пяти его составляющих и приобрести соответствующие знания и умения, сформировать навыки и компетенции, в том числе XXI века: коммуникацию, умение работать в команде, критическое и креативное мышление. Для этого надо пройти соответствующие уровни и выполнить задания на этапах.

Все уровни взаимосвязаны, так как пройдя один, приобретешь «способности» для успешного преодоления следующего. Основная задача – завершить финальный уровень. Задания на этапах встречаются различной сложности:

t1640907304aa.png«новичок» (задание выполняется индивидуально);

t1640907304aa.pngt1640907304aa.png«специалист» (задание можно выполнять как индивидуально, так и командой);

t1640907304aa.pngt1640907304aa.pngt1640907304aa.png«мастер» (задание можно выполнять как индивидуально, так и командой).


До встречи в финале!




С надеждой и уважением, авторы проекта –

педагоги дополнительного образования IT-квантума

Детского технопарка «Кванториум»

Ведрова Наталья Петровна,

Марасанова Елена Вячеславовна,

Светлова Виктория Сергеевна.


2019-2021 гг.


Уровень «Математика»


Базовые способности:

знание основных геометрических фигур;

наличие вычислительных навыков.

После прохождения уровня появятся:

знание понятий «симметрия», «координатная плоскость»;

навык работы с графическими объектами на плоскости;

готовность к знакомству с фрактальной графикой.


1-й этап «Вишенка на плоскости»


«Я мыслю, следовательно, я существую!»

Рене Декарт


Идея координат зародилась в древности. Первоначально их применение связано с астрономией и географией, с потребностью определять положение светил в небе и определенных пунктов на поверхности земли при составлении календаря, звёздных и географических карт. Знаменитый древнегреческих астроном Клавдий Птолемей уже пользовался долготой и широтой в качестве географических координат.

t1640907304ab.jpg

Рисунок 1. Рене Декарт

Общематематическое значение метода координат открыли впервые французские математики XVII века Пьер Ферма и Рене Декарт. Изложение метода координат было впервые опубликовано в «Геометрии» Декарта в 1637 году. Отсюда и название «Декартовы координаты». Термин «абсцисса», от латинского «abscissus» – отсекаемый (отрезок на оси иксов), «ордината» от латинского «ordinatus» – упорядоченный (отрезок на оси игреков) восходят к латинскому переводу сочинений великого древнегреческого математика Аполлония и были введены в употребление в XVII веке Лейбницем. Им же абсцисса вместе с ординатой были названы координаты.



t1640907304ac.png

Рисунок 2. Координатная плоскость

Задание. Даны координаты точек одной «вишенки». Расставьте на координатной плоскости эти точки и соедините их отрезками. Что можно заметить? Речь об этом пойдёт во втором этапе.

C = { (-5; -2), (-6; -2), (-7; -3), (-7; -5), (-6; -6), (-4; -6), (-3; -5), (-3; -3), (-4; -2), (-5; -2), (-5; -1), (0; 4), (-2; 4), (-4; 6), (-2; 6), (0; 4), (2; 6), (4; 6), (2; 4), (0; 4), (5; -1), (5; -2), (6; -2), (7; -3), (7; -5), (6; -6), (4; -6), (3; -5), (3; -3), (4; -2), (5; -2)}

t1640907304ad.png

2-й этап «Симметрия в природе»


«Стоя перед чёрной доской и рисуя на ней мелом разные фигуры, я вдруг был поражен мыслью: почему симметрия приятна глазу?

Что такое симметрия? Это врождённое чувство, отвечал я себе. На чём оно основано?»

Л.Н. Толстой «Отрочество»


Симметрия (от греч. «symmetria» – соразмерность) – понятие, означающее «сохраняемость», «инвариантность» каких-либо особенностей структуры изучаемого объекта при проведении с ним определенных преобразований.

Математически строгое представление о симметрии сформировалось сравнительно недавно – в 19 веке. В наиболее простой трактовке (по Г. Вейлю) современное определение симметрии выглядит примерно так: симметричным называется такой объект, который можно как-то изменять, получая в результате то же, с чего начали. Современное представление о симметрии предполагает неизменность объекта по отношению к каким-то преобразованиям, выполняемым над ними.

Точки t1640907304ae.gif и t1640907304af.gif называются симметричными относительно точки t1640907304ag.gif (центр симметрии), если t1640907304ag.gif середина отрезка t1640907304ah.gif.

Симметрия относительно точки называется центральной симметрией (см. рис. 4).

Симметрия относительно прямой называется осевой симметрией (см. рис. 3).

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


t1640907304ai.jpgt1640907304aj.jpg

Рисунок 3. Осевая симметрия

Каждая снежинка – это маленький кристалл замерзшей воды. Форма снежинок может быть очень разнообразной, но все они обладают симметрией.

t1640907304ak.jpg

Рисунок 4. Центральная симметрия


Задание 1. Нарисуйте поэтапно снежинку (как показано на рисунке 5)

t1640907304al.jpg

Рисунок 5. Снежинка





Задание 2. Дорисуй снежинку.

Сложность t1640907304aa.png Сложность t1640907304aa.pngt1640907304aa.png

t1640907304am.pngt1640907304an.png

Сложность t1640907304aa.pngt1640907304aa.pngt1640907304aa.png

t1640907304ao.png










Итак, дорогой друг, прими мои поздравления. И, как говорится, добро пожаловать на следующий уровень!

Вопрос: Знаешь ли ты, что такое программирование? Если «ДА», то какой язык программирования ты изучал? Какие виды алгоритмов умеешь применять при решении задач:

Линейный алгоритм?

Ветвящийся алгоритм?

Циклический алгоритм?

Если ты ответил «ДА» на первые два вопроса, то пора осваивать


Уровень «Программирование. Циклы»


«Иногда мне кажется, что единственным универсумом в программировании является цикл.»

Алан Перлис, американский учёный

в области информатики


Базовые способности:

знание линейного и разветвляющегося алгоритмов;

знание основных базовых конструкций языка программирования «python»;

способности уровня «Математика».

После прохождения уровня появятся:

представление о циклических алгоритмах;

умение решать задачи, содержащих циклическую составляющую;

готовность к знакомству с рекурсией.


1-й этап «Программирую и играю» или «What does it mean Scratch


«С игрой, а также с инструментами можно разобраться самостоятельно, достаточно лишь овладеть процессом»

Из инета

У тебя есть уникальная возможность создать игру в среде «Scratch», где программист не пишет код, а собирает его из боков, как конструктор. Проект можно выполнить онлайн на сайте https://scratch.mit.edu/

Итак, приступим!

Задание 1. Создать игру по образцу. Сложность t1640907304aa.png

Шаг 1

Выбрать фон Зима (Winter)

Выбрать спрайт Снежинка (Snowflake2)

t1640907304ap.png

Рис. 1. Фон «Зима» и спрайт «Снежинка»

Шаг 2 «Снежинка летает»

Выделить спрайт Снежинка

Из События выбрать команду: Когда флажок нажат

Из Движения выбрать: Идти 10 шагов

Из Движения выбрать: Если касается края, оттолкнуться

Из Управления выбрать: Повторять всегда

Собрать по образцу:

t1640907304aq.png

Шаг 3 «Создаем счетчик»

В Переменных выбрать команду: Создать переменную (она находится вверху всех команд)

Задать имя переменной «Счет снежинок»

Нажать ОК

Счетчик готов!

Шаг 4 «Соединяем»

Из События выбрать команду: Когда флажок нажат

Из Переменной выбрать Задать (Счет снежинок) значение 0

Из Движения выбрать: Перейти случайное положение

Из Управления выбрать: Ждать 1 секунду

Из Управления выбрать: Повторять всегда

Собрать скрипт по образцу:

t1640907304ar.png

Шаг 5 Получилось? Молодец! А теперь попробуй сам подобрать команды для следующих скриптов:

Для cнежинки:

t1640907304as.png

остановки игры:

t1640907304at.png

Шаг 6. Дублировать спрайт «Снежинка» 15 раз.

Шаг 7. Запустить игру (нажать на флажок)

Игра готова!


В Scratch три разновидности цикла. Это блоки "повторять всегда", "повторить … раз", "повторять пока не …".

t1640907304au.png

Рис. 2 Блоки циклов в Scratch


В Задании 1 был использован л цикл "повторять всегда". Цикл "повторять всегда" не дает скрипту самому закончить свою работу, повторяя и повторяя выполнение вложенных в тело цикла блоков. Чтобы прервать программу с таким зацикливанием можно, например, нажать на красную кнопку.


Цикл "повторить … раз" повторяет вложенные в него команды количество раз, которое указано в его заголовке. Особенностью этого цикла является то, что заранее известно количество повторов.


Цикл "повторять пока не … ". Тело этого цикла выполняется до тех пор, пока условие в его заголовке не вернет правду. Как только условное выражение станет истинным, цикл прекратит свою работу. Но когда условие станет правдой, мы не знаем. Поэтому неизвестно количество повторов цикла. Тело цикла "повторять пока не …" может вообще ни разу не выполниться, если условие сразу вернет правду. Или же цикл так и не сможет завершиться, если условие всегда будет оставаться ложью.


Задание 2. Сложность t1640907304aa.pngt1640907304aa.png

Создать свою игру или изменить предыдущую, используя цикл «Повторить … раз».


Задание 3. Сложность t1640907304aa.pngt1640907304aa.pngt1640907304aa.png

Создать свою игру, используя цикл «Повторять пока не…».

2-й этап «Программирую и рисую»


«Что составляет суть искусства?..»

Педагог IT-квантума


Каждый язык программирования содержит какую-нибудь конструкцию цикла. В большей части языков есть больше одной такой конструкции. В мире Python есть два типа циклов:

Цикл «for»

Цикл «while»

Циклы используются в тех случаях, когда необходимо выполнить команды какое-то количество раз. Давайте подробно разберём, как работают эти структуры!

Цикл «for»

Цикл «for» в Python 3 выполняет написанный код повторно согласно введенной переменной или счетчику. Он используется только тогда, когда необходимо совершить перебор элементов заранее известное число раз. Что это значит? У нас имеется список, сначала из него берется первый элемент, потом – второй и так далее, но с каждым из них совершается действие, которое указано в теле for.

Синтаксис:

for [элемент] in [последовательность]:

[сделать указанное]


Пример:

for item in [1, 2, 3, 4, 5]:

print(2 ** item)


На экране после запуска появится:

2

4

8

16

32


Для упрощения часто используется функция range(), или диапазон. В циклах она указывает на необходимое количество повторов последовательности, уточняя, какие именно элементы из списка for, нам необходимы в данный момент. В скобках может быть указано от одного до трех чисел:

одно указывает на то, что нужно проверить все числа от 0 и до него;

два говорят о том, что перебрать нужно все числа, находящиеся между ними;

три числа сгенерируют список от первого до второго, но с шагом, равным третьей цифре.


Цикл «while»

While с английского языка переводится, как «до тех пор, как». Он частично похож на условие if, но его код выполняется не один раз. После того, как условие выполнено первый раз, программа возвращается к заголовку и снова повторяет все действия. Этот процесс заканчивается тогда, когда условие цикла становится ложным. Тем, что заранее неизвестно количество проверок, он отличается от предыдущего цикла for.

Синтаксис:

while [условие истинно]:

[сделать указанное]


После тела цикла можно указать else и блок операций, которые необходимо выполнить, когда закончится while.

Пример:

count = 5

while count > 0:

print(“Обратный отсчет:”, count)

count = count - 1

else:

print(“Пуск!”)

На экране после запуска появится:

Обратный отсчет: 5

Обратный отсчет: 4

Обратный отсчет: 3

Обратный отсчет: 2

Обратный отсчет: 1

Пуск!


Задание 1. Сложность t1640907304aa.png

Напишите программу, которая рисует снежинку из знака «*».


Входные данные:

Вводится натуральное число n.

Выходные данные:

Требуемая снежинка.


Пример:

7

* * *

* * *

***

*******

***

* * *

* * *


Код программы:

n = int(input())

a = [[' '] * n for i in range(n)]

for i in range(n):

a[i][i] = '*'

a[n // 2][i] = '*'

a[i][n // 2] = '*'

a[i][n - i - 1] = '*'

for row in a:

print(''.join(row))

Снежинка с помощью Черепашки в Python


Графику в Python можно реализовать с помощью модуля Turtle. Turtle – это модуль, позволяющий создавать графические объекты, рисунки в специальном окне.

Приступим к рисованию снежинки.

Для начала попробуем нарисовать один из лучей нашей будущей снежинки. Зададим с помощью переменной line длину луча. Изменим также командой pensize() толщину и color() цвет линии на синий крайола (#1F75FE).

Продвинем Черепашку на длину нашей линии, затем вернем ее назад на треть этой длины. Повернем налево на 45 градусов, чтобы нарисовать узор на конце нашего луча. И продвинемся вперед на треть длины луча. Вернемся назад и повернем теперь направо уже на 90 градусов, чтобы нарисовать вторую часть нашего узора. Повторим команды, которые мы делали для рисования левой части. После этого повернем налево на 45 градусов, чтобы Черепашка смотрела в ту же сторону, в какую мы рисовали наш луч. Вернемся в самое начало, откуда мы начали движение, проделав оставшиеся 2/3 пути.


import turtle


line = 120

turtle.pensize(7)

turtle.color('#1F75FE')

turtle.forward(line)

turtle.backward(line / 3)

turtle.left(45)

turtle.forward(line / 3)

turtle.backward(line / 3)

turtle.right(90)

turtle.forward(line / 3)

turtle.backward(line / 3)

turtle.left(45)

turtle.backward(2 * line / 3)


Но у снежинки таких лучиков может быть пять, шесть или больше. Чтобы не повторять эти команды много раз, используем цикл со счетчиком for. Количество итераций цикла будет совпадать с количеством лучей у нашей снежинки.


import turtle


line = 120

n = 6

turtle.pensize(7)

turtle.color('#1F75FE')

for _ in range(n):

turtle.forward(line)

turtle.backward(line / 3)

turtle.left(45)

turtle.forward(line / 3)

turtle.backward(line / 3)

turtle.right(90)

turtle.forward(line / 3)

turtle.backward(line / 3)

turtle.left(45)

turtle.backward(2 * line / 3)

turtle.left(360 / n)


t1640907304av.png

Рисунок 6. Снежинка

Задание 2. Сложность t1640907304aa.pngt1640907304aa.png

Измените программу так, чтобы она рисовала снежинку так, как показано на рисунке 7.

t1640907304aw.png

Рисунок 7. Снежинка

Задание 3. Сложность t1640907304aa.pngt1640907304aa.pngt1640907304aa.png

Знаете ли Вы, что такое снежинка Коха?

Кривая Коха – на каждой итерации каждый отрезок заменяется на такой набор отрезков:

t1640907304ax.png

Рисунок 8. Кривая Коха

Напишите функцию koch_line(size, n), которая рисует на отрезке длины size кривую Коха и делает n итераций (рисует кривую Коха глубины n).

Примечание: в этом задании необходимо использовать рекурсию. А также для графической составляющей Вам может помочь модуль turtle (можно использовать и другой модуль).

Итак, дорогой друг, поздравляю! Тебя ждет финальный уровень –


Уровень «3D-моделирование»


t1640907304ay.jpg

Рис. 1. Объемная модель

3D-моделирование – это сочетание таких наук как математики, геометрии и дизайна. 3D-художники и дизайнеры пользуются специальными методами и технологиями, такими как 3D-дизайн, рендеринг, визуализация и анимация. Эти инструменты позволяют им превращать идеи в цифровую графику на экране. Когда необходимо преобразовать 3D-изображения в физические объекты – особенно, с помощью 3D-печати – в дело вступают технологии 3D-моделирования.



Этап «Создаю объемный объект»


«Моделирование - природный механизм познания…»

Случайный философ


Базовые способности:

- «способности», полученные на уровне «Математика».

После прохождения уровня появятся способности:

- знание понятий «зеркало»;

- навык работы с объемными геометрическими фигурами;

- готовность к изучению основ прототипирования 3-D моделей.


Задание 1. Сложность t1640907304aa.pngt1640907304aa.pngt1640907304aa.png

Создайте 3D-модель «Снежинка» в программе КОМПАС-3D.

1. Анализ модели. Чтобы выполнить модель снежинки, необходимо провести анализ геометрической формы. Все снежинки имеют форму правильного шестиугольника. Снежинка имеет 6 лучей с одинаковой формой веточек, 3 основных оси симметрии.

2. Анализ выбора инструментов в программе КОМПАС-3D. Последовательность выбора инструментов панели «Геометрия»: многоугольник – для построения правильного шестиугольника, вспомогательная прямая (вертикальная и под углом 60; параллельный отрезок для построения эскиза половины луча снежинки; команды «Симметрия» - для создания эскиза луча, «Копия по окружности» (количество копий 6, по всей окружности) – для создания эскиза снежинки, операция выдавливания, свойства

t1640907304az.png2.1 Создание рабочей области. Выбрать: Файл-Создать-Деталь


t1640907304ba.png2.2. Выбрать Ориентация-Изометрия и Вид справа


2.3 Выбрать Инструменты эскиза - панель инструментов «Геометрия»

t1640907304bb.png

2.3 На панели инструментов «Геометрия» Выбрать инструмент многоугольник, тип линии - вспомогательная, количество вершин 6, Диаметр 10, Угол 240.

t1640907304bc.jpg

Построить вспомогательную прямую под углом 150 градусов, построить вспомогательную линию под углом 120 градусов.

t1640907304bd.jpg











t1640907304be.png








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

t1640907304bf.jpg













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


t1640907304bg.jpg


Выделить рамкой эскиз и скопировать его с помощью инструмента Копирование по окружности 6 раз (вкладка Черчение-Копирование) по всей окружности

t1640907304bh.jpg


Используя операцию выдавливания, построить модель снежинки заданной толщины и цвета.

t1640907304bi.jpgt1640907304bj.jpg


3D модель готова!


Сохраните модель в формате STL, и файл-снежинка готов к 3D-печати!




STEAM-проект «Снежинка+»
PDF / 1.13 Мб

Опубликовано в группе «УРОК.РФ: группа для участников конкурсов»


Комментарии (2)

Севодняева Эльвира Николаевна, 31.12.21 в 08:09 2Ответить Пожаловаться
Елена Вячеславовна, Вы со своими коллегами создали удивительный STEAM-проект, дали интересную идею для проведения нестандартного урока.

Отредактировано 31-12-2021 08:11

Марасанова Елена Вячеславовна, 06.03.22 в 09:39 1Ответить Пожаловаться
Эльвира Николаевна, спасибо за отзыв! У нас получилось успешно внедрить нашу разработку в учебный процесс, но нам очень важно мнение коллег!
Чтобы написать комментарий необходимо авторизоваться.