Помощь в написании студенческих работ
Антистрессовый сервис

Компьютерная анимация сцены «Дом и его окружение. 
Движение автомобиля» средствами библиотеки tkinter на языке Python

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Цель курсовой работы — повысить уровень знания в области разработки программ средствами библиотеки tkinter на языке Python, изучить основы работы в текстовом редакторе Word. Министерство образования российской федерации томский государственный университет систем управления и радиоэлектроники кафедра телевидения и управления (ту). Пояснительная записка к курсовому проекту выполнена в текстовом… Читать ещё >

Компьютерная анимация сцены «Дом и его окружение. Движение автомобиля» средствами библиотеки tkinter на языке Python (реферат, курсовая, диплом, контрольная)

[Введите текст]

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ КАФЕДРА ТЕЛЕВИДЕНИЯ И УПРАВЛЕНИЯ (ТУ)

Пояснительная записка к курсовому проекту по дисциплине «Технология программирования»

Тема: Компьютерная анимация сцены «Дом и его окружение. Движение автомобиля» средствами библиотеки tkinter на языке Python

РЕФЕРАТ

Объектом исследования являются основы компьютерной графики на языке 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

Показать весь текст
Заполнить форму текущей работой