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

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

В нашей книге, написанной для обучения детей 12+ анимационной технике с использованием современного языка программирования Python, мы используем простейшую графическую библиотеку языка: черепашью графику

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


© Виктор Рабинович, 2020


ISBN 978-5-0051-2921-5

Создано в интеллектуальной издательской системе Ridero

Введение

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

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

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

b) Самоучитель по программированию, язык Python: https://www.labirint.ru/books/575392/;

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

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

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

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

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

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


Таблица 1


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


Таблица 2


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


Таблица 3


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

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

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



Соответствующий скрипт, написанный на Python с использованием кодов черепашьей библиотеки, представлен в таблице 4. В качестве базового елемента черепашьей графики используем круг (строка, обозначенная цифрой #1). Программа составлена так, что шарик в виде круга непрерывно бегает внутри коробки, отражаясь от стенок по законам геометрической оптики. Непрерывное движение шарика обеспечивается бесконечным циклом, начинающимся со строки, обозначенной, как #2 (код начала цикла while True:). Строки #3, #4, #5 и #6 отвечают за отражение шарика от стенок по законам геометрической оптики. Фактически, переменные Х и Y определяют координаты стенок коробки. Координаты положения шарика по оси х и y определяются кодами t. xcor () и t. ycor () соответственно. Если шарик достигает значений Х=175 или X=-175 по оси х либо Y=175 или Y=-175 по оси y, величины перемещений шарика по соответствующим осям: dx по оси х и dy по оси y меняют знаки, приводя к изменению направления движения шарика в соответствующем направлении на 180 градусов.


Таблица 4

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

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


С этой книгой читают
В языке программирования Python есть несколько модулей, которые позволяют создавать компьютерную графику. Одним из простейших таких модулей является модуль turtle (черепашка), разработанный специально для обучения детей. Вызвав эту библиотеку, у вас открывается возможность пользоваться всеми ее командами, которые в справочном формате представлены ниже. Набор команд библиотеки turtle совместно с базовыми командами языка Python позволяет создавать
Веселый и интересный самоучитель работы на компьютере, оснащенном новейшей операционной системой Windows Vista. В ходе непринужденной беседы с читателем автор научит «укрощать» программы, настраивать и защищать компьютер. Изучение тонкостей ПК не потребует специальной подготовки и знания компьютерных терминов. Для всех, кто побаивается компьютера, но хочет или вынужден на нем работать.
Возможности современных программ и компьютеров, а также их относительная доступность по цене позволяют выполнять серьезную работу по обработке звукового материала – в том числе и профессиональную – не только на специализированной звуковой рабочей станции в студии звукозаписи, но и на персональном компьютере, в домашней студии.В книге, которую вы держите в руках, рассмотрены основные методы обработки звука при помощи персонального компьютера, совм
Компьютерное видео многолико: это и просмотр телепередач, и цифровые видеофильмы, и системы безопасности. В предлагаемом издании освещаются почти все аспекты данной области современных технологий – от начальных этапов оцифровки до ретуши полученных кадров и от простейших плат захвата кадра до систем нелинейного монтажа. Цель книги – дать возможность любому, даже неискушенному пользователю самостоятельно выбрать, установить и настроить необходимые
В книге рассматривается влияние информационных технологий на различные сферы человеческой деятельности: экономику и бизнес, движение денег и организацию связи, промышленное производство и сельское хозяйство, т. е. влияние информационных технологий на весь окружающий человека мир. Каждую главу данной книги можно читать отдельно, что позволяет сосредоточиться на наиболее интересных вопросах.
Во все времена человечество волновал вопрос: кто мы и откуда? Пришло время узнать правду, но готовы ли мы к ней?
Многие века обжили российские попаданцы. Только веку галантному как-то не повезло: прискорбно мало было там наших парней. Добавим одного на разживу, а там лиха беда начало – косяком пойдут.
Отпуск нужен всем, даже ведьмам. Я уже настроилась провести пару недель на тихом пляже, попивая коктейли и гуляя в одиночестве, как в самый первый же день произошло нечто, перевернувшее мою жизнь с ног на голову. А визит одного нахального демона, сделавшего возмутительное предложение, только добавил проблем. Хотя ему следовало бы знать - не стоит злить ведьму... Участник литмоба Курортный роман 2021 на ПродаМане Цикл "Университет Высшей
Я увидела его на ринге. Жуткого, огромного, седого монстра по кличке Хан. Когда он вдруг заметил меня и назвал другим именем, мне стало страшно, а когда выкупил у моих приемных родителей, я поняла, что теперь попаду в самый настоящий Ад… Потому что я…не могу быть ею. Его мертвой женой. И только по ночам мне снится белая лебедь, она машет крыльями и покорно склоняет голову перед черным коршуном. И мне кажется…кажется, что лебе