Виктор Рабинович - Python для детей. Анимация с черепашьей графикой

Python для детей. Анимация с черепашьей графикой
Название: Python для детей. Анимация с черепашьей графикой
Автор:
Жанры: Детская познавательная и развивающая литература | Программирование
Серии: Нет данных
ISBN: Нет данных
Год: 2020
О чем книга "Python для детей. Анимация с черепашьей графикой"

В нашей книге, написанной для обучения детей 12+ анимационной технике с использованием современного языка программирования Python, мы используем простейшую графическую библиотеку языка: черепашью графику(Turtle library). Считается, что библиотека Turtle предназначена в основном для рисования геометрических фигур и анимаций с использованием стандартных, встроенных в библиотеку изображений таких как квадрат, круг, черепашка, стрелка (назовем эти изображения базовыми примитивами). Однако это не так. Простая и понятная для детей библиотека Turtle имеет в своем составе команды, позволяющие детям создавать отличные анимационные проекты, наподобие тем, которые создаются с помошью блочного языка программирования Scratch, широко распространенного в настоящее время для обучения детей. Мы научимся добывать из интернета нужные нам для проекта изображения, научимся вводить их в программу и контролировать движения этих изображений с помощью команд библиотеки.

Бесплатно читать онлайн Python для детей. Анимация с черепашьей графикой


Введение

Анимация представляет собой способ, при котором последовательно показываемые на экране статические изображения сменяют друг друга так быстро, что в результате имитируется непрерывное движение. Каждая картинка называется кадром. Каждый кадр должен немного отличаться от предыдущего, и быстрое отображение кадров один за другим создает иллюзию непрерывного движения. Кадры сменяются с определенной скоростью около 12 или более кадров в секунду, чтобы человек мог воспринимать их как анимацию. Современный фильм обычно использует 24 кадра в секунду.

В нашей книге, написанной для обучения детей 12+ анимационной технике с использованием современного языка программирования Python, мы используем простейшую графическую библиотеку языка: черепашью графику(Turtle library). Считается, что библиотека Turtle предназначена в основном для рисования геометрических фигур и анимаций с использованием стандартных, встроенных в библиотеку изображений таких как квадрат, круг, черепашка, стрелка (назовем эти изображения базовыми примитивами). Однако это не так. Простая и понятная для детей библиотека Turtle имеет в своем составе команды, позволяющие детям создавать отличные анимационные проекты, наподобие тем, которые создаются с помошью блочного языка программирования Scratch, широко распространенного в настоящее время для обучения детей. Мы научимся добывать из интернета нужные нам для проекта изображения, научимся вводить их в программу и контролировать движения этих изображений с помощью команд библиотеки. Для того, чтобы освоить материал книги, необходимо познакомиться с командами библиотеки Turtle а также изучить базовые функции языка Python, такие как циклы, списки, переменные и т. д. Для этого мы рекомендуем несколько отличных книжек, специально написанных для детей:

a) Джейсон Бриггс, Python для детей;

b) Программирование, самоучитель: https://www.labirint.ru/books/575392/;

c) К. Вордерман, Программирование на Python: Иллюстрированное руководство для детей;

d) Ханс Георг Шуман, Python для детей.

Простейшая анимация с одним базовым примитивом

Основными стандартными (базовыми) графическими примитивами черепашьей библиотеки, как было сказано ранее, являются следующие: квадрат, треугольник, черепашка и круг. Под простейшей анимацией будем понимать перемещение одного или нескольких из этих изображений вдоль экрана компьютера. Контролируемое перемещение изображений обеспечивается командами библиотеки а также базовыми командами языка Python(Питон).

Движение черепашки по прямой

Рассмотрим простейшую анимацию – перемещение базового примитива чрепашки вдоль горизонтали по окну экрана. Соответствующий код и три отдельных анимационных кадра представлены ниже в таблице 1.

Таблица 1



Строка, обозначенная символом *( wn.bgcolor('navy')) задает цвет окна экрана, строки кода, расположенные между цифрами 1 и 2 обеспечивают прорисовку пунктирной прямой линии, относительно которой передвигается черепаха. Обьект, обозначенный латинской буквой t, определяет обьект-черепашку, к которому применяются строчки кода, задающие ее движение (строчки кода расположены между цифрами 3 и 4). Скорость движения определяется строкой time.sleep(0.001), где время задержки каждого кадра цикла равно 0.001-й секунды. Для того, чтобы воспользоваться этой строкой, необходимо импортировать библиотеку time (смотри первую строку программы). Для замедления движения необходимо увеличить время задержки. Последнюю строку можно убрать вовсе для увеличения скорости движения черепашки. Однако скорость движения при этом заметно не уменьшается. Заметного увеличения скорости движения можно добиться, введя в код следующую строку: turtle.tracer(2). Эта строка может быть вставлена, например, перед циклом, определяющим движение черепахи (вместо строки #–3). Регулировать скорость движения в таком случае можно изменяя целое положительное число в строке turtle.tracer(число) и число в строке time.sleep(число).

Интересный анимационный эффект может быть получен добавлением в блок команд между цифрами 3 и 4 строки t.shapesize(1+m*0.01). Соответствующий измененный блок показан ниже.

Таблица 2



Строка t.shapesize(1+0.01*m) увеличивает размеры черепахи при ее движении. Последний кадр анимации с использованием приведенного кода показаны в правой части таблицы. Изменяя величину коеффициента при переменной m можно варьировать размером черепахи.

Показанная выше анимация ограничена во времени, поскольку последний кадр соответствует номеру m в цикле, равному 599. Анимацию можно сделать бесконечной во времени, например, изменив код цикла как показано в таблице 3:

Таблица 3



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

Отражение шарика от стенок коробки

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



Соответствующий скрипт написанный на Python с использованием кодов черепашьей библиотеки представлен в нижней таблице 4. В качестве базового елемента черепашьей графики используем круг (строка, обозначенная цифрой #1). Программа составлена так, что шарик в виде круга непрерывно бегает внутри коробки, отражаясь от стенок по законам геометрической оптики.

Таблица 4



Непрерывное движение шарика обеспечивается бесконечным циклом, начинающимся со строки, обозначенной, как #2. Строки #3, #4, #5 и #6 отвечают за отражение шарика от стенок по законам геометрической оптики.

Вращающиеся окружности

Рассмотрим пример, демонстрирующий непрерывное вращение трех окружностей, составленных в свою очередь из кружков небольшого радиуса. Все круги разного цвета образованы с помощью базового примитива: circle. Программа, реализующая этот алгоритм, показана ниже, несколько статических кадров – в правой части таблицы 5.

Таблица 5



Поясним ключевые (основные) коды приведенной программы. Строка #1 определяет три <пустых> списка(массива) обьектов: базисных черепашьих примитивов, каждый из которых будет заполнен кругами разного цвета. Строки, расположенные между номерами 2 и 3 определяют функцию для рисования кругов, строки между номерами 3 и 4 формируют три массива q[m], p[m], r[m], где m=0,1,2,3…17. Наконец, строки между номерами 4 и 5 задают вращение массивов: первый и третий- почасовой стрелке и второй средний против часовой стрелки. Видоизменив последнюю часть программы, можно остановить вращение окружностей, кликнув стрелкой мышки на любую часть экрана. Соответствующая измененная часть кодов показана ниже:


С этой книгой читают
Эта книга – увлекательное и познавательное путешествие в мир животных. На её страницах дети откроют 100 "секретов" из жизни зверей, птиц и насекомых. Книга расскажет о суперспособностях, необычных повадках, уникальных приспособлениях для выживания и охоты. Ответит на вопросы: «Кто такой неплюй? «Почему кукушка на самом деле заботливая мать», «У кого из животных экскременты в виде кубиков?, «Кто поет крыльями?», «У кого уши под коленками? А также
Однажды взрослые ученые решили провести исследование: как отличаются результаты детей в школе, которые активно занимались летом или просто отдыхали на каникулах. Исследование показало, что дети, которые во время отдыха от школы не только гуляли и играли, но и читали, писали, считали, в сентябре легко осваивали новую программу, сразу получали хорошие оценки, радовали учителей и родителей. Ирина Поддубская, педагог, мама двух дочек, автор книги "Ка
На волшебной планете, где животные разговаривают и обладают магией, надвигается опасность – загадочная Тень стремится уничтожить всё живое. Трое друзей – Настя, Артём и Никита – случайно попадают в этот удивительный мир и получают шанс спасти его. Им предстоит разгадывать загадки, преодолевать страхи и учиться доверять друг другу, встречая на пути мудрого медведя, говорящую лису и строгого филина."Планета чудесных животных" – это не просто сказка
В новогоднюю ночь в маленьком городке произошло чудо – снеговик, который стоял во дворе, ожил! Он стал настоящим другом детям и поведал им важную задачу: вернуть потерянные новогодние огоньки, которые исчезли, и без которых не может быть полноценного праздника. Вместе с детьми снеговик отправляется в захватывающее приключение, где они преодолевают трудности, учат важным урокам о дружбе, вере в чудеса и сохранении духа праздника. Это история о том
Может владелец холдинга спиться втайне от любящей жены? Да, такие долго принимают на веру ложь грешных мужей. Удержится ли топ-менеджмент от воровства у пьющего шефа? Исключено – и трезвого оберут при случае за милую душу. Способен ли протрезвевший и обнаруживший, что разорен, хозяин покончить с собой? Конечно, естественный выход для человека в отчаянии. Так ответили на эти вопросы полковник Измайлов и его сыщики. Только Полина упрямо твердила: «
В сборник вошли пьесы остросоциального характера. Они прекрасно подойдут для постановки в условиях школьной и студенческой среды. Мы, взрослые, очень виноваты перед нашими детьми за страшные девяностые, упадок культуры, разрушение нравственных идеалов, культ денег… Но вместо того, чтобы честно сказать об этом, трусливо, как страусы, прячем головы в песок. Какими они станут – «дети страусов», не ведающие бескорыстия, стыда и совести? Научатся ли о
Маги и эльфы всегда боролись друг против друга. Два клана никак не могли поделить, кто же будет правителем земель. Но вот появление новых врагов приводит к единому решению. Например, соединить их кланы узами брака. Вот только она и он не согласны с решением родителей. Но, увы, у них нет выбора, или же всё же есть?
Меня зовут Катя, и в новом мире я тоже Екатерина. Но это единственное, что осталось прежним, всё остальное чуждо: пираты, маги, инквизиция… Мне бы просто выжить и найти свой собственный уголок, собрать вокруг друзей и попытаться стать независимой! Надеюсь у меня всё получится! Самостоятельная книга по миру Элоизы. #отважная героиня #мир магии #обустройство в новом мире #приключения и любовь #прогрессорство