Компьютерная анимация сцены "Дом и его окружение. Движение автомобиля" средствами библиотеки tkinter на языке Python
Разработка программ средствами библиотеки tkinter на языке Python. Изучение основы работы в текстовом редакторе Word. Описание авторской идеи анимации. Использование базовых команд и конструкций. Процесс проектирования и алгоритм разработанной программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 11.11.2014 |
Размер файла | 125,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ
Кафедра телевидения и управления (ТУ)
Контрольная работа
по дисциплине “Технология программирования”
Компьютерная анимация сцены «Дом и его окружение. Движение автомобиля» средствами библиотеки tkinter на языке Python
Студент
Кривошеевой Юлии Евгеньевны
Содержание
Введение
1. Описание авторской идеи анимации
2. Описание использования базовых команд и конструкций
3. Описание процесса проектирования программы
4. Описание алгоритма разработанной программы
Заключение
Список используемых источников
Приложения
Введение
Актуальность данной работы состоит в том, что при работе над курсовой, я научусь правильно её оформлять, пойму саму структуру курсовых работ. Таким образом, на примере данной курсовой я научусь составлять последующие мои курсовые и дипломные работы, с которыми я ещё буду не раз встречаться в течение 6 лет учебной деятельности в университете.
Цель курсовой работы - повысить уровень знания в области разработки программ средствами библиотеки tkinter на языке Python, изучить основы работы в текстовом редакторе Word.
Задачи:
написать программу и описать её;
научиться писать курсовую работу;
научиться правильно оформлять курсовую работу;
научиться работать в текстовом редакторе MS Word.
Краткое описание глав пояснительной записки:
В пояснительной записке должно быть описание авторской идеи анимации, описание используемых базовых команд и конструкций, описание самого процесса проектирования программы, а также описание алгоритма разработанной программы. Затем в пояснительной записке должно содержаться заключение, в котором описываются достигнутые результаты. Также к пояснительной записке должны прилагаться список использованных источников и приложение с листингом программы и скриншотом рисунка, составленного в программе.
1. Описание авторской идеи анимации
программа библиотека python анимация
В своем курсовом проекте я решила изобразить сцену «Дом и его окружение. Движение автомобиля», поэтому в своем рисунке я нарисовала ночной двор, его окружение, дорогу. По обе стороны дороги у меня изображены два дома, детская площадка, качели, песочница. Окружение домов составляет лес. На ночном небе у меня нарисованы звезды и луна. Также на рисунке присутствует анимация: вниз по дороге движется автомобиль. Была задумано, что автомобиль от середины дороги едет вниз и исчезает, что у меня и получилось
На создание именно такой картинки и анимации меня подтолкнула осенняя поездка домой, именно там я начала составлять свой рисунок (сначала на листочке), а данная анимация движения автомобиля символизирует мой обратный уезд на учебу.
2. Описание используемых базовых команд и конструкций
from tkinter import * - импорт модуля
root = Tk - создание объекта типа Tk
w = Canvas() - создание виджета «Холст»
w.pack() - отображение виджета
width =,height =, - размер холста в пикселях
def go() - оператор определения функции go()
w.move - движение вперед
w.after() - пауза между перерисовками
go - функция для оператора def go()
create_rectangle - команда рисования прямоугольника
create_polygon - команда рисования многоугольника
fill - параметр цвета линии
width - параметр толщины линии в пикселях
outline - параметр цвета рамки прямоугольника
create_line - команда рисования линии
create_oval - команда рисования овалов и кругов
mainloop() - запуск цикла событий tkinter
3. Описание процесса проектирования программы
Написание данного курсового проекта является для меня новинкой. В школе я никогда не занималась программированием. Но на парах по «Технологии программирования» я всё же освоила какие-то азы. Когда приступила к написанию программы по проекту, то возникли определенные трудности, либо не знала, как осуществлять анимацию, либо не знала, что писать в тех или иных пунктах пояснительной записки. По мере возможностей все проблемы были устранены. Процесс проектирования моей программы заключался в следующем:
1. Разработка идеи проекта (сначала нарисовала рисунок на листе бумаги)
2. Разработка идеи анимации (движение автомобиля вниз и в сторону)
3. Изменение идеи анимации (появились трудности с осуществлением анимации)
4. Задумка новой идеи анимации (движение автомобиля по дороге только вниз)
5. Реализация новой идеи анимации
6. Написание пояснительной записки
7. Появление проблемы в понимании написании некоторых пунктов курсового проекта (различие таких пунктов курсовой, как «Описание алгоритма разработанной программы» от «Описания процесса проектирования программы»)
8. Решение данной проблемы на консультациях по курсовому проекту.
9. Сдача пояснительной записки по курсовому проекту.
4. Описание алгоритма разработанной программы
Последовательность создания анимации:
Придумала картинку
Нарисовала её на листке
Задала размеры холста
Рисую прямоугольник (траву)
Рисую левый домик
Рисую крышу на левый домик
Рисую трубу на левый домик
Рисую фундамент на правый и левый домик
Рисую два окна на левый домик
Рисую три ёлочки
Рисую небо
Рисую дорогу
Рисую правый домик
Рисую крышу для правого домика
Рисую трубу для правого домика
Рисую дверь для правого домика
Рисую окно на правый домик
Рисую три ёлочки
Рисую площадку (песок)
Рисую качели
Рисую машину
Рисую корпус машины
Рисую колеса на машину
Рисую Луну
Рисую звезды
Прописываю координаты движения для анимации движения машины
В конце пишу команды запуска движения анимации и самой программы
Заключение
В данном курсовом проекте была написана программа, которая выводит на экран рисунок, составленный в программе Python, и анимация. Были изучены основы программирования на языке Python средствами библиотеки tkinter. Изучены основы работы в текстовом редакторе Word. Было проведено оформление пояснительной записки по системе образовательных стандартов ВУЗов. Для себя я отметила, что работа была довольно интересной. Все поставленные мною цели и задачи были достигнуты.
Список используемых источников
1. http://python.ru/ - сайт о языке программирования Python;
2. Куксенко С.П., Методическое пособие по оформлению в MS Word;
3. Дэвид М. Бизли, Python. Подробный справочник, 2010 год;
4. http://younglinux.info/tkinter.php - программирование графического интерфейса (Tkinter)
Приложение А
Листинг программы
from tkinter import *
root = Tk()
w = Canvas(root, width=800, height=600)
w.pack()
def go():
x,y=0,3
w.move(a1,x,y)
w.move(a2,x,y)
w.move(a3,x,y)
w.move(a4,x,y)
w.after(30,go)
# Рисую прямоугольник(траву)
w.create_rectangle(0, 100, 800, 600, fill = 'light green')
# Рисую левый домик
w.create_rectangle(60, 340, 200, 440, fill = 'brown', outline = 'black', width = '2')
# Рисую крышу на левый домик
w.create_polygon(60, 340, 120, 280, 200, 340, 60, 340, fill = 'brown', outline = 'black', width = '2')
#Рисую трубу на левый домик
w.create_polygon(60, 280, 80, 280, 80, 320, 60, 340, 60, 280, fill = 'brown', outline = 'black', width = '2')
# Рисуем фундамент
w.create_rectangle(40, 440, 220, 460, fill = 'red', outline = 'black', width = '2')
w.create_line(60, 440, 60, 460, fill = 'black', width = '2')
w.create_line(80, 440, 80, 460, fill = 'black', width = '2')
w.create_line(100, 440, 100, 460, fill = 'black', width = '2')
w.create_line(120, 440, 120, 460, fill = 'black', width = '2')
w.create_line(140, 440, 140, 460, fill = 'black', width = '2')
w.create_line(160, 440, 160, 460, fill = 'black', width = '2')
w.create_line(180, 440, 180, 460, fill = 'black', width = '2')
w.create_line(200, 440, 200, 460, fill = 'black', width = '2')
# Рисую два окна
w.create_rectangle(80, 360, 120, 400, fill = 'yellow', outline = 'black', width = '2')
w.create_rectangle(140, 360, 180, 400, fill = 'yellow', outline = 'black', width = '2')
w.create_line(100, 360, 100, 400, fill = 'black', width = '2')
w.create_line(80, 380, 120, 380, fill = 'black', width = '2')
w.create_line(140, 380, 180, 380, fill = 'black', width = '2')
w.create_line(160, 360, 160, 400, fill = 'black', width = '2')
# Рисую три ёлочки
w.create_polygon(40, 220, 80, 200, 120, 220, 40, 220, fill = 'green', outline = 'black', width = '3')
w.create_polygon(60, 200, 80, 180, 100, 200, 60, 200, fill = 'green', outline = 'black', width = '3')
w.create_line(80, 220, 80, 240, fill = 'black', width = '2')
w.create_polygon(160, 240, 200, 220, 240, 240, 160, 240, fill = 'green', outline = 'black', width = '3')
w.create_polygon(180, 220, 200, 200, 220, 220, 180, 220, fill = 'green', outline = 'black', width = '3')
w.create_line(200, 240, 200, 260, fill = 'black', width = '2')
w.create_polygon(120, 160, 160, 140, 200, 160, 120, 160, fill = 'green', outline = 'black', width = '3')
w.create_polygon(140, 140, 160, 120, 180, 140, 140, 140, fill = 'green', outline = 'black', width = '3')
w.create_line(160, 160, 160, 180, fill = 'black', width = '2')
# Рисую небо
w.create_rectangle(0, 0, 800, 100, fill = 'black', outline = 'black', width = '2')
# Рисую дорогу
w.create_line(260, 100, 260, 600, fill = 'black', width = '3')
w.create_line(400, 100, 400, 600, fill = 'black', width = '3')
w.create_rectangle(260, 100, 400, 600, fill = 'gray')
# Рисую правый домик
w.create_rectangle(480, 300, 580, 420, fill = 'brown', outline = 'black', width = '2')
# Рисую фундамент
w.create_rectangle(460, 420, 600, 440, fill = 'red', outline = 'black', width = '2')
w.create_line(480, 420, 480, 440, fill = 'black', width = '2')
w.create_line(500, 420, 500, 440, fill = 'black', width = '2')
w.create_line(520, 420, 520, 440, fill = 'black', width = '2')
w.create_line(540, 420, 540, 440, fill = 'black', width = '2')
w.create_line(560, 420, 560, 440, fill = 'black', width = '2')
w.create_line(580, 420, 580, 440, fill = 'black', width = '2')
w.create_polygon(480, 300, 520, 260, 580, 300, 480, 300, fill = 'brown', outline = 'black', width = '2')
# Рисую трубу для правого домика
w.create_polygon(560, 287, 560, 240, 580, 240, 580, 300, fill = 'brown', outline = 'black', width = '2')
# Рисую дверь для правого домика
w.create_rectangle(500, 380, 520, 420, fill = 'brown', outline = 'black', width = '2')
# Рисую окно
w.create_rectangle(500, 320, 560, 360, fill = 'yellow', outline = 'black', width = '2')
w.create_line(520, 320, 520, 340, fill = 'black', width = '2')
w.create_line(500, 340, 560, 340, fill = 'black', width = '2')
# Рисую три ёлочки
w.create_polygon(420, 200, 460, 180, 500, 200, 420, 200, fill = 'green', outline = 'black', width = '3')
w.create_polygon(440, 180, 460, 160, 480, 180,440, 180, fill = 'green', outline = 'black', width = '3')
w.create_line(460, 200, 460, 220, fill = 'black', width = '2')
w.create_polygon(520, 160, 560, 140, 600, 160, 520, 160, fill = 'green', outline = 'black', width = '3')
w.create_polygon(540, 140, 560, 120, 580, 140, 540, 140, fill = 'green', outline = 'black', width = '3')
w.create_line(560, 160, 560, 180, fill = 'black', width = '2')
w.create_polygon(640, 200, 680, 180, 720, 200, 640, 200, fill = 'green', outline = 'black', width = '3')
w.create_polygon(660, 180, 680, 160, 700, 180, 660, 180, fill = 'green', outline = 'black', width = '3')
w.create_line(680, 200, 680, 220, fill = 'black', width = '2')
# Рисую площадку(песок)
w.create_rectangle(520, 480, 720, 580, fill = 'light yellow', outline = 'black', width = '2')
# Рисую качели
w.create_line(580, 460, 580, 560, fill = 'red', width = '2')
w.create_line(580, 460, 680, 460, fill = 'red', width = '2')
w.create_line(680, 460, 680, 560, fill = 'red', width = '2')
w.create_line(600, 460, 600, 540, fill = 'red', width = '2')
w.create_line(660, 460, 660, 540, fill = 'red', width = '2')
w.create_line(587, 540, 669, 540, fill = 'red', width = '5')
# Рисую машину
a1=w.create_rectangle(300, 380, 380, 450, fill = 'blue', outline = 'black', width = '4', tag = 'line1')
a2=w.create_rectangle(320, 400, 360, 420, fill = 'white', outline = 'black', width = '3', tag = 'line2')
a3=w.create_rectangle(290, 420, 310, 460, fill = 'black', outline = 'white', width = '3', tag = 'line3')
a4=w.create_rectangle(370, 420, 390, 460, fill = 'black', outline = 'white', width = '3', tag = 'line4')
# Рисую Луну
w.create_oval(560, 10, 640, 80, fill = 'yellow', outline = 'black', width = '3')
# Рисую звезды
w.create_oval(480, 60, 500, 80, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(500, 20, 520, 40, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(660, 20, 680, 40, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(680, 60, 700, 80, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(200, 20, 220, 40, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(120, 60, 140, 80, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(40, 20, 60, 40, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(750, 10, 770, 30, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(280, 50, 300, 70, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(340, 15, 360, 35, fill = 'yellow', outline = 'black', width = '3')
w.create_oval(380, 75, 400, 95, fill = 'yellow', outline = 'black', width = '3')
go()
mainloop()
Приложение Б
Скриншот рисунка по программе
Рисунок Б1 - Ночной дворик 1
Рисунок Б2 - Ночной дворик 2
Размещено на Allbest.ru
Подобные документы
Описание авторской идеи анимации, использования базовых команд и конструкций. Процесса проектирования программы. Описание алгоритма разработанной программы. Последовательность создания анимации. Листинг программы и скриншот рисунка по программе.
курсовая работа [911,5 K], добавлен 20.05.2013Методы решения задачи синтеза систепроцесса символьной регрессии. Генетический алгоритм с эволюционной стратегией. Разработка программы на языке Python версии 2.7 в среде Eclipse Juno с использование библиотеки для построения графиков Matplotlib.
дипломная работа [1,6 M], добавлен 17.09.2013Отличительные особенности языка программирования Python: низкий порог вхождения, минималистичный язык, краткий код, поддержка математических вычислений, большое количество развитых web-фреймворков. Традиционная модель выполнения программ на языке Python.
реферат [51,9 K], добавлен 18.01.2015Программное обеспечение Python и ее основные характеристики, как программной среды. Общие сведения о языке программирования Python. Особенности применения ППП Python (x,y) с использованием его различных вычислительных модулей в учебном процессе.
дипломная работа [2,9 M], добавлен 07.04.2019Понятие и характеристики облачных технологий, модели их развертывания, технологические процессы, аспекты экономики и критика. Язык программирования Python, оценка функциональности, сравнение с аналогами. Управление облаком в Python на примере libcloud.
курсовая работа [43,0 K], добавлен 08.06.2014Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.
курсовая работа [3,1 M], добавлен 27.02.2015Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.
курсовая работа [160,3 K], добавлен 03.12.2014Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.
курсовая работа [616,4 K], добавлен 18.10.2010Основные положения и особенности работы в текстовом редакторе Microsoft Word, набор текста и правила оформления таблиц. Порядок вычислений в табличном редакторе Microsoft Excel. Основы программирования на языке Паскаль, примеры составления программ.
контрольная работа [26,7 K], добавлен 07.03.2010Компиляция программ на языке C/C++. Компиляция нескольких файлов. Библиотеки объектных файлов. Создание статической и динамической библиотеки. Функции работы. Создание динамической библиотеки для решения системы линейных уравнений.
курсовая работа [27,4 K], добавлен 07.08.2007