Компьютерная анимация сцены "Дом и его окружение. Движение автомобиля" средствами библиотеки tkinter на языке Python
Описание авторской идеи анимации, использования базовых команд и конструкций. Процесса проектирования программы. Описание алгоритма разработанной программы. Последовательность создания анимации. Листинг программы и скриншот рисунка по программе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.05.2013 |
Размер файла | 911,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
[Введите текст]
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ
КАФЕДРА ТЕЛЕВИДЕНИЯ И УПРАВЛЕНИЯ (ТУ)
Пояснительная записка к курсовому проекту по дисциплине “Технология программирования”
Тема: Компьютерная анимация сцены «Дом и его окружение. Движение автомобиля» средствами библиотеки tkinter на языке Python
2012
РЕФЕРАТ
Объектом исследования являются основы компьютерной графики на языке Python.
Цель работы: повысить уровень знания в области разработки программ.
Пояснительная записка к курсовому проекту выполнена в текстовом редакторе MS Word 2003. Компьютерная анимация составлена на языке Python средствами библиотеки tkinter.
ВВЕДЕНИЕ
Актуальность данной работы состоит в том, что при работе над курсовой, я научусь правильно её оформлять, пойму саму структуру курсовых работ. Таким образом, на примере данной курсовой я научусь составлять последующие мои курсовые и дипломные работы, с которыми я ещё буду не раз встречаться в течение 6 лет учебной деятельности в университете.
Цель курсовой работы - повысить уровень знания в области разработки программ средствами библиотеки tkinter на языке Python, изучить основы работы в текстовом редакторе Word.
Задачи:
написать программу и описать её;
научиться писать курсовую работу;
научиться правильно оформлять курсовую работу;
научиться работать в текстовом редакторе MS Word.
Краткое описание глав пояснительной записки:
В пояснительной записке должно быть описание авторской идеи анимации, описание используемых базовых команд и конструкций, описание самого процесса проектирования программы, а также описание алгоритма разработанной программы. Затем в пояснительной записке должно содержаться заключение, в котором описываются достигнутые результаты. Также к пояснительной записке должны прилагаться список использованных источников и приложение с листингом программы и скриншотом рисунка, составленного в программе.
ОПИСАНИЕ АВТОРСКОЙ ИДЕИ АНИМАЦИИ
В своем курсовом проекте я решила изобразить сцену «Дом и его окружение. Движение автомобиля», поэтому в своем рисунке я нарисовала ночной двор, его окружение, дорогу. По обе стороны дороги у меня изображены два дома, детская площадка, качели, песочница. Окружение домов составляет лес. На ночном небе у меня нарисованы звезды и луна. Также на рисунке присутствует анимация: вниз по дороге движется автомобиль. Была задумано, что автомобиль от середины дороги едет вниз и исчезает, что у меня и получилось
На создание именно такой картинки и анимации меня подтолкнула осенняя поездка домой, именно там я начала составлять свой рисунок (сначала на листочке), а данная анимация движения автомобиля символизирует мой обратный уезд на учебу.
ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ БАЗОВЫХ КОМАНД И КОНСТРУКЦИЙ
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
ОПИСАНИЕ ПРОЦЕССА ПРОЕКТИРОВАНИЯ ПРОГРАММЫ
Написание данного курсового проекта является для меня новинкой. В школе я никогда не занималась программированием. Но на парах по «Технологии программирования» я всё же освоила какие-то азы. Когда приступила к написанию программы по проекту, то возникли определенные трудности, либо не знала, как осуществлять анимацию, либо не знала, что писать в тех или иных пунктах пояснительной записки. По мере возможностей все проблемы были устранены. Процесс проектирования моей программы заключался в следующем:
Разработка идеи проекта (сначала нарисовала рисунок на листе бумаги).
Разработка идеи анимации (движение автомобиля вниз и в сторону).
Изменение идеи анимации (появились трудности с осуществлением анимации).
Задумка новой идеи анимации (движение автомобиля по дороге только вниз).
Реализация новой идеи анимации.
Написание пояснительной записки.
Появление проблемы в понимании написании некоторых пунктов курсового проекта (различие таких пунктов курсовой, как «Описание алгоритма разработанной программы» от «Описания процесса проектирования программы»).
Решение данной проблемы на консультациях по курсовому проекту.
Сдача пояснительной записки по курсовому проекту.
ОПИСАНИЕ АЛГОРИТМА РАЗРАБОТАННОЙ ПРОГРАММЫ
Последовательность создания анимации:
Придумала картинку.
Нарисовала её на листке.
Задала размеры холста.
Рисую прямоугольник (траву).
Рисую левый домик.
Рисую крышу на левый домик.
Рисую трубу на левый домик.
Рисую фундамент на правый и левый домик.
Рисую два окна на левый домик.
Рисую три ёлочки.
Рисую небо.
Рисую дорогу.
Рисую правый домик.
Рисую крышу для правого домика.
Рисую трубу для правого домика.
Рисую дверь для правого домика.
Рисую окно на правый домик.
Рисую три ёлочки.
Рисую площадку (песок).
Рисую качели.
Рисую машину.
Рисую корпус машины.
Рисую колеса на машину.
Рисую Луну.
Рисую звезды.
Прописываю координаты движения для анимации движения машины.
В конце пишу команды запуска движения анимации и самой программы.
ЗАКЛЮЧЕНИЕ
В данном курсовом проекте была написана программа, которая выводит на экран рисунок, составленный в программе 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
Подобные документы
Разработка программ средствами библиотеки tkinter на языке Python. Изучение основы работы в текстовом редакторе Word. Описание авторской идеи анимации. Использование базовых команд и конструкций. Процесс проектирования и алгоритм разработанной программы.
контрольная работа [125,3 K], добавлен 11.11.2014Назначение компьютерной графики. Особенности трехмерной анимации. Технология создания реалистичных трехмерных изображений. Компьютерная графика для рисования на SGI: StudioPaint 3D. Пакет PowerAnimator как одна из программ трехмерной анимации на SGI.
реферат [25,7 K], добавлен 31.03.2014Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.
курсовая работа [721,4 K], добавлен 10.11.2010Особенность разработки алгоритмов для базы данных "Поэты". Анализ реализации анимации с помощью многофункциональной кроссплатформенной библиотеки SFML. Характеристика схемы алгоритма работы меню. Осуществление запуска программы через VisualStudio.
курсовая работа [4,4 M], добавлен 10.05.2019Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.
контрольная работа [360,4 K], добавлен 13.06.2012Компьютерная графика - область информатики, занимающаяся проблемами получения различных изображений. Виды компьютерной графики: растровая, векторная, фрактальная. Программы для создания компьютерной анимации, область применения, форматы хранения.
реферат [29,1 K], добавлен 16.03.2010Описание этапов создания анимированного GIF изображения мультипликационного героя "Винни-Пуха" в программе Adobe Photoshop CS6. Создание дубликата слоя изображения и подготовка кадров для GIF анимации. Настройка эффектов анимации и результат GIF-файла.
лабораторная работа [1,2 M], добавлен 05.03.2015Описание логической и модульной структуры разрабатываемой программы, используемые в данном процессе основные технические средства. Организация хранения данных в программе, проектирование интерфейса. Тестирование и отладка, листинг готовой программы.
курсовая работа [494,5 K], добавлен 20.06.2012Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.
контрольная работа [150,4 K], добавлен 03.05.2014Программы для создания 3D моделей, их возможности: blender, 3DsMax. Скелетная анимация или Риггинг. Ragdoll, motioncapture, нейронные сети. Сущность термина "тряпичная кукла". Основное преимущество ragdoll-анимации перед традиционной. Анимация, фреймы.
реферат [8,5 M], добавлен 21.02.2022