Преобразование изображений; таймеры
- Рисование графика функции: ОО, ОЗ, количество отрезков в ломаной (псевдокривой), масштабирование x (из исходного диапазона в ширину картинки) и y (из диапазона вычисленной области значения функции на ОО в высоту картинуи)
подмодуль pygame.transform: scale(), rotate(), rotozoom()
- проблемы некратных преобразований (поворотов на углы, не кратные 90° и изменение размера в нецелое число раз)
подмодуль pygame.time: pygame.time.set_timer() и его использование для задания скорости изменения мира
Домашнее задание
Прочитать документацию по pygame.time и pygame.transform.
- Написать-таки программу рисования графика функции
- вычисление графика (ломаной) оформить отдельной функцией
- обрабатывать события MOUSEMOVE с нажатой кнопкой как изменение диапазона (с соответствующим пересчётом графика)
Решить задачу рисования стрелки с помощью линии и повёрнутого треугольника (обратите внимание на удобную функцию atan2() из модуля math)
Пользуясь стрелкой, алгоритмом рисования дерева и подмодулем pygame.font (или прилагаемой функцией Label()), написать программу визуализации дерева на PyGame.
Модифицировать стандартный пример с шаром, введя в него таймер. Добавить «ракетку», которая отбивает шар при соприкосновении.
Проверить, чтобы соприкосновение происходило с непрозрачной частью шара (с помощью pygame.mask)
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения