Смекни!
smekni.com

Графика Турбо-Паскаля. Динамические изображения (стр. 1 из 5)

Министерство образования и науки Российской федерации

Бузулукский гуманитарно-технологический институт

(филиал) государственного образовательного учреждения

Высшего профессионального образование –

«Оренбургский государственный университет»

Факультет промышленности и транспорта

Кафедра физики, информатики, математики

Оценка: ____________

«____»_________2009г.

КУРСОВАЯ РАБОТА

по дисциплине «Языки и системы программирования»

ТЕМА

Графика Турбо-Паскаля. Динамические изображения

БГТИ (филиал) ГОУ ВПО ОГУ 050501.65.5.2.09.9 ПЗ

Пояснительная записка

на 25 листах

Студентка группы: 07ПО

_______ Городецкая А.А.

Руководитель:

________Литвинова С.А.

Бузулук 2009


Кафедра физики, информатики,

математики

Утверждаю

Зав. кафедрой

____________ Степунина О.А.

«__» ________________2009г.

Задание на курсовую работу

Студентке Городецкой Анне Александровне

1. Тема работы: Графика Турбо-Паскаля. Динамические изображения.

2. Срок сдачи студенткой законченной работы 10.12.2009г.

3. Перечень подлежащих разработке в работе вопросов:

1) Изучить теоретические основы рассматриваемого вопроса.

2) Разработать программу, реализующую движение по траектории графического объекта.

3) Разработка программы, реализующей перемещение по экрану окружности

4. Перечень графического материала: рисунок, таблицы

Дата выдачи задания: 31.10.2009г.

Руководитель: __________ Литвинова С.А.

Задание приняла к исполнению: «__» ___________ 2009г.

___________________ Городецкая А.А.


Содержание

Введение. 4

Раздел 1. Теоретическая часть. 5

1.1 Текстовый и графический режимы.. 5

1.2 Графические координаты.. 6

1.2.1 Переключение между текстовым и графическим режимами. 7

1.3 Процедуры и функции. 10

1.3.1 Установка цвета линии, типа линии и закраски. 10

1.3.2 Точки на экране. 12

1.3.3 Линии и прямоугольники. 12

1.3.4 Окружности, эллипсы, дуги.13

1.3.5 Сектор. 14

1.3.6 Многоугольники. 14

1.3.7 Вывод изображений в относительных координатах.15

1.3.8 Работа с текстами в графическом режиме.16

1.4 Графические окна. 18

1.5 Программирование движущихся объектов. 19

Раздел 2. Практическая часть. 20

2.1 Разработка программы, реализующей движение по траектории графического объекта.20

2.2 Разработка программы, реализующей перемещение по экрану окружности21

Заключение. 24

Список использованных источников. 25

Введение

Язык Turbo Pascal предоставляет целый ряд процедур и других средств, позволяющих рисовать на экране разноцветные точки, отрезки прямых, дуги, закрашенные и не закрашенные окружности, прямоугольники, а также выполнять ряд других действий.

Все средства для работы с графикой находятся в модуле GRAPH, поэтому он должен быть подключен в программе перед тем, как начать работу:

USES Graph;

Инициализация графики производится с помощью процедуры InitGraph:

InitGraph(var d, t, ‘’)

Переменная d определяет тип видеоадаптера, t– тип графического режима. Если переменной d присвоить значение Detect, то Паскаль сам определит установленный видеоадаптер и установит самый мощный из имеющихся графический режим. Для проверки успешности инициализации графики можно использовать процедуру GraphResult. Если графика была успешно инициализирована, то процедура GraphResult вернет значение grOk.

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


Раздел 1. Теоретическая часть

1.1 Текстовый и графический режимы

Известно, что основным устройством для вывода информации, в том числе и результатов работы программы, является монитор компьютера. Монитор внешне очень похож на телевизор, но у него имеется важная особенность. Эта особенность заключается в том, что у телевизора один-единственный (с точки зрения вывода изображения) режим работы, а у компьютерного монитора их два. Это текстовый и графический режимы.

Рисунок 1 – Графический режим

Различие между текстовым и графическим режимами работы монитора заключается в возможностях управления выводом визуальной информации. В текстовом режиме минимальным объектом, отображаемым на экране, является символ, алфавитно-цифровой или какой-либо иной. В обычных условиях экран монитора, работающего в текстовом режиме (алфавитно-цифрового дисплея), может содержать не более 80 символов по горизонтали и 25 символов по вертикали, то есть всего 2000 визуальных объектов. При этом имеются ограниченные возможности по управлению цветом символов. Конечно, в таком режиме можно выводить на экран не только обычный текст, но и некие графические изображения (например, таблицы), однако понятно, что качество таких изображений будет вне всякой критики. Но для серьезной работы с изображениями текстовый режим дисплея абсолютно не подходит.

В графическом режиме минимальным объектом, выводом которого может управлять программист, является так называемый пиксель (от английского pixel, возникающего в результате объединения слов "рисунок" (picture) и "элемент" (element). Пиксель представляет собой не что иное, как точку с тремя цветами. Его геометрические размеры определяются разрешением монитора. Разрешение монитора обычно задается в виде rx * ry, где rx – количество пикселей на экране по горизонтали, а ry – количество пикселей по вертикали. На практике используются не произвольные, а некоторые определенные значения разрешения. Такими разрешениями являются, например, 320х200, 640х480, 800х600, 1024х768, 1280х1024 и т.д. Даже в случае самого грубого разрешения изображение в графическом режиме формируется с помощью 64000 графических элементов.

Можно рассуждать и геометрически. Размер экрана – величина фиксированная. Если величина диагонали экрана 14 дюймов, его геометрические размеры составляют примерно 28х20 см. Размер пикселя можно приблизительно получить, разделив размер экрана на разрешение. Геометрические размеры пикселя определяют степень детализации изображения, его качество. Имеется, правда, минимально допустимое значение размера пикселя, определяемое техническими параметрами монитора.

1.2 Графические координаты

Любое изображение формируется из достаточно простых геометрических фигур. Это точки, отрезки прямых, окружности и т.д. Из геометрии известно, что положение геометрического объекта и его форма задаются координатами его точек. Следовательно, для того, чтобы запрограммировать графический вывод, надо научиться задавать координаты графических объектов.

Графические координаты задают положение точки на экране дисплея. Поскольку минимальным элементом, к которому имеет доступ программист, является пиксель, естественно в качестве графических координат использовать порядковые номера пикселей. Допустимый диапазон изменения графических координат составляет [0,rx-1] для х-координаты и [0,ry-1] для y-координаты.

Точкой отсчета является верхний левый угол экрана. Значения х-координаты отсчитываются слева направо, а y-координаты – сверху вниз. Последнее отличает графические координаты от обычных декартовых координат, принятых в математике, и служит не иссякающим источником ошибок для начинающего программиста.

Проблема заключается в том, что при разработке программы график или другое изображение обычно проектируется в привычной декартовой системе координат. Но для правильного отображения такого графика на экране необходимо учесть различие между декартовой и графической системами координат. Таких различий три:

1. Графические координаты принимают только целочисленные значения.

2. Графические координаты принимают значения, ограниченные как снизу (нулевым значением), так и сверху (значением разрешения).

3. Графическая координата y отсчитывается сверху вниз.

Таким образом, декартовы координаты точки (x,y) для отображения ее на экране следует пересчитать в графические (xg,yg) по формулам

xg=|sx *x|+dx;

yg=ry-|sy *y|-dy,

где |x| - целая часть х; sx и sy – масштабные множители, выбираемые из условия

rx=|sx * xmax|+1,

ry=|sy * ymax|+1.

Здесь xmax и ymax – максимальные значения геометрических координат. Пересчет координаты y по такой же формуле, что и для х, привел бы к зеркально отраженному относительно горизонтальной линии изображению. Слагаемые dx и dy обеспечивают смещение изображения относительно левого верхнего угла экрана. Изображение будет смещено в центр экрана при

dx=|rx/2|,

dy=|ry/2|.

Чтобы изображение не зависело от разрешения, в Турбо Паскале используются функции GetMaxX и GetMaxY, возвращающие наибольший и номер пикселя по горизонтали и по вертикали соответственно. Графические координаты правого нижнего угла экрана равны (GetMaxX, GetMaxY).

1.2.1 Переключение между текстовым и графическим режимами

Работа дисплея невозможна без специальных микросхем, управляющих его работой. Видеоадаптер должен поддерживать работу дисплея в графическом режиме. Турбо Паскаль обеспечивает работу со следующими видеоадаптерами: CGA, MCGA,EGA, VGA, Hercules, AT&T 400, 3270 PC, IBM-8514.