Компютърна графика


Из „Компютърна графика„, учебник от автори от ТУ-Варна
автори: Борис Рачев, Марияна Стоева, Даниела Илиева
под общата редакция на доц. д-р Борис Рачев

Настоящият учебник представлява второ и преработено издание на “Компютърна графика” със същите автори, издаден през 1998 г. в ТУ-Варна. В него е включен материал, отнасящ се до теорията, практиката и методите за създаване на компютърни графични изображения.
Книгата обхваща следните основни раздели от компютърната графика като една от важните компютърни науки:: основи на компютърната графика – понятия, библиотеки (прости графични пакети)и програмиране “под Windows”, двумерна графика и изчертаване на прости графични примитиви, графични прозорци, генерация на запълнени области, възпроизвеждане на криви линии, интерполационни и апроксимационни алгоритми за генериране на линии в растровата графика, използване на диференциални подходи (или още по метода на цифровата интегрираща машина) за генериране на изображения с повишено бързодействие, тримерна графика и двумерни и тримерни преобразувания, движение на обекти, изобразяване на тримерни обекти-проекции, генериране на гладки тримерни обекти и тяхното оцветяване (реалистично изобразяване) и икономическа (бизнес) графика.
Изложените в книгата знания са подходящи за всички, които се занимават със създаване на програмно и технологично осигуряване за компютърна графика за целите на изграждането на различни средства на интерфейса между човека и компютъра, а също така при решението на множество приложни задачи при изграждането на компютърни технологии.
Материалът в книгата е подготвен, както следва:
доц. д-р Борис Рачев обща редакция, увод, глави 1, 15, 16, 17 и 18, и общ дизайн;
гл. ас. д-р Марияна Стоева – глави 1, 2, 5, 6, 11, 12, 13 и 19, а също така задачите към глави 7, 8, 9, 14 и 15.
гл.ас. Даниела Илиева – глави 3, 4, 7 , 8, 9, 10, 13, и 14;
Раздел 1.6. е подготвен от гл.ас. Ирена Вълова от РУ „Ангел Кънчев”, за което авторите и изказват своята благодарност.
Авторите изказват своята благодарност и на рецензентите доц. д-р А. Антонов и доц. д-р Н. Рускова за направените препоръки, довели до подобряване на настоящото издание.
© Борис Тодоров Рачев Марияна Цветанова Стоева Даниела Добрева Илиева
ISBN – 10: 954-20-0349-8
ISBN – 13: 978-954-20-0349-6

СЪДЪРЖАНИЕ

УВОД

ЧАСТ I ОСНОВИ НА КОМПЮТЪРНАТА ГРАФИКА
Глава 1. ОСНОВНИ ПОНЯТИЯ В КОМПЮТЪРНАТА ГРАФИКА

1.1. Методи за извеждане на графична информация
1.2. Методи за въвеждане на графична информация
1.3. Координатни системи, използвани в компютърната графика
1.4. Графични файлове и графични формати
1.5. Компресия на изображения
1.6. Цветови модели

Глава 2. ГРАФИЧНА БИБЛИОТЕКА В СРЕДАТА НА С++
2.1. Графична библиотека
2.2. Въпроси и задачи за самостоятелна работа

Глава 3. ОСОБЕНОСТИ НА ПРОГРАМИРАНЕТО “ПОД WINDOWS” ЗА ЦЕЛИТЕ НА КОМПЮТЪРНАТА ГРАФИКА
3.1. Типове данни в Windows
3.2. Структура на Windows – приложения
3.3. Библиотека Microsoft Foundation Class Library
3.4. Обработка на съобщения

Глава 4. СЪЗДАВАНЕ НА ГРАФИЧНИ ПРИЛОЖЕНИЯ
4.1. Генератор на приложения AppWizard
4.2.Съхраняване на рисунката във файл
4.3. Извеждане на рисунката на печат и предварителен преглед

Глава 5. МАТЕМАТИЧЕСКИ АПАРАТ НА АЛГОРИТМИТЕ В КОМПЮТЪРНАТА ГРАФИКА
5.1. Вектори
5.2. Координатни системи
5.3. Еднородни координати
5.4. Положение на точка относно отсечка и многоъгълник
5.5. Въпроси и задачи за самостоятелна работа

ЧАСТ II ДВУМЕРНА ГРАФИКА
Глава 6. ДИСКРЕТИЗАЦИЯ И ТОПОЛОГИЯ
6.1. Елементи на геометрията на дискретната плоскост
6.2. Построяване (отделяне) на контур на област
6.3. Въведение в анализа на формата на обектите
6.4. Въпроси и задачи за самостоятелна работа

Глава 7. ИЗЧЕРТАВАНЕ НА ПРОСТИ ГРАФИЧНИ ПРИМИТИВИ

7.1.Изчертаване на отсечка.Общи положения.
7.1.1 Алгоритъм за генериране на отсечки по метода на цифровия диференциален анализатор
7.1.2. Алгоритъм на Брезенхайм за генериране на отсечки
7.2. Изчертаване на криви линии. Общи положения
7.2.1 Алгоритми за изчертаване на окръжност
7.2.1.1. Алгоритъм с апроксимация на отрязъците
7.2.1.2. Алгоритъм с апроксимация на пикселите
7.2.1.3. Алгоритъм на Брезенхайм за генерация на окръжност
7.3. Въпроси и задачи за самостоятелна подготовка

Глава 8. ИЗПОЛЗВАНЕ НА ГРАФИЧНИ ПРОЗОРЦИ. ОТСИЧАНЕ

8.1. Изтриване
8.2. Отсичане
8.3. Поле на изхода
8.4. Въпроси и задачи за самостоятелна подготовка

Глава 9. ГЕНЕРАЦИЯ НА ЗАПЪЛНЕНИ ОБЛАСТИ

9.1. Растрова развивка на многоъгълници
9.2. Въпроси и задачи за самостоятелна подготовка

ГЛАВА 10. РАЗРЯЗВАНЕ НА МНОГОЪГЪЛНИЦИ
10.1. Разрязване на произволен изпъкнал многоъгълник с произволна отсечка от права
10.2. Въпроси и задачи за самостоятелна работа

Глава 11. ГЕНЕРИРАНЕ НА КРИВИ ЛИНИИ В ДИСКРЕТНОТО ПРОСТРАНСТВО

11.1. Възпроизвеждане на крива с използване на диференциални уравнения
11.2. Влияние на грешките от закръгляване върху възпроизвежданата крива
11.3. Графично представяне на експериментални или изчислени данни в зададен графичен прозорец
11.4. Икономическа графика
11.4.1. Хистограми
11.4.2. Кръгови диаграми
11.5. Въпроси и задачи за самостоятелна подготовка

Глава 12. ПОСТРОЯВАНЕ НА КРИВИ ЛИНИИ ЧРЕЗ ИТЕРПОЛАЦИЯ И АПРОКСИМАЦИЯ

12.1. Интерполационни и апроксимационни алгоритми за генериране на линии – класически подход
12.2. Сплайнови криви
12.2.1. Интерполационна крива на Катмул-Ром
12.2.2. Елементарна бета-сплайнова крива
12.2.3. Сплайнова крива на Безие
12.2.4. B – сплайн
12.3 Многочлен на Лагранж
12.4 Многочлени на Безие

12.5. Въпроси и задачи за самостоятелна подготовка

Глава 13. ДВУМЕРНИ ГРАФИЧНИ ПРЕОБРАЗУВАНИЯ
13.1. Преместване (изменение на местоположението) .
13.1.1. Преместване на точка
13.1.2. Преместване на контур
13.1.3. Преместване на изображения
13.1.4. Матрична форма на преобразуването транслация .
13.2. Мащабиране (изменение на размера)
13.2.1. Мащабиране на отсечка
13.2.2..Мащабиране на изображения
13.2.3. Матрична форма на представяне
13.3. Въртене (изменение на ориентацията)
13.3.1. Въртене на точка
13.3.2. Въртене на изображение
13.3.3. Матрична форма на представяне
13.4. Комбинирани преобразувания
13.5. Въпроси и задачи за самостоятелна работа

Глава 14. ДВИЖЕНИЕ НА ИЗОБРАЖЕНИЯ
14.1. Движение на точки и окръжности
14.1.1. Праволинейно движение
14.1.1.1. Хоризонтално движение на точка по екрана
14.1.1.2. Вертикално движение на точка по екрана
14.1.1.3. Движение на точка по екрана в произволно направление
14.1.1.4. Движение на окръжност
14.1.2. Криволинейни движения
14.2. Движение на линии и многоъгълници
14.2.1. Движение на линии
14.2.2. Движение на многоъгълници
14.3. Сложни движения
14.4. Движение на фона
14.5. Въпроси и задачи за самостоятелна работа

ЧАСТ III ТРИМЕРНА ГРАФИКА
Глава 15. ИЗОБРАЗЯВАНЕ НА ТРИМЕРНИ ОБЕКТИ. ПРОЕКЦИИ
15.1. Основи на представянето на тримерни графични обекти
15.2. Проекции на тримерни обекти върху плоска видова равнина
15.3. Въпроси и задачи за самостоятелна подготовка

Глава 16. ОТДЕЛЯНЕ НА СКРИТИТЕ ЛИНИИ И ПОВЪРХНОСТИ
16.1. Въведение
16.2. Алгоритъм на плаващия хоризонт за премахване на скрити
линии
16.3. Алгоритъм, използващ Z-буфер
16.4. Алгоритъм за полинейно сканиране, използващ Z-буфер
16.5. Алгоритъм за отстраняване на невидими части от криволинейни области
16.6. Въпроси и задачи за самостоятелна подготовка

Глава 17. ГРАФИЧНИ ПРЕОБРАЗУВАНИЯ НА ТРИМЕРНИ ОБЕКТИ
17.1. Преобразуване на тримерни графични обекти
17.2. Въпроси и задачи за самостоятелна работа

Глава 18. ГЕНЕРИРАНЕ НА ГЛАДКИ ТРИМЕРНИ ИЗОБРАЖЕНИЯ
18.1. Генериране на параметрични бикубични повърхности – математическо описание
18.2. Използване на алгоритми за генериране на гладки тримерни изображения по метода на цифровата интегрираща машина
18 3. Въпроси и задачи за самостоятелна работа

Глава 19. СЪЗДАВАНЕ НА РЕАЛИСТИЧНИ ИЗОБРАЖЕНИЯ .
19.1. Прост модел на осветяване .
19.1.1. Дифузно отражение
19.1.2. Огледално отражение.
19.2. Методи на оцветяване
19.3. Въпроси и задачи за самостоятелна подготовка

ЛИТЕРАТУРА

Увод

Информатиката е комплексна наука, чието развитие до голяма степен беше определено от необходимостта от ефективни методи и средства за диалог между човека и компютъра, явяващ се основен инструмент за изграждане на съвременни компютърни технологии. При това главно две направления в развитието й са характерни през последните години: едното е свързано с науката за информацията (information science), а другото е свързано с развитието на информационните и компютърни технологии и в основата му стои термина informatics. Особен интерес представлява развитието на второто направление.-информационните и компютърни технологии. От своя страна то се гради върху поднауки. Главни сред тях са онези, които се отнасят до автоматизацията на информационния процес и изграждането на ефективен интерфейс между човека и компютъра, който да интерпретира качествено, удобно и интересно резултатите от работата на изчислителната машина при решението на практически всички видове задачи, които й се поверяват. Точно с тези проблеми се занимава една от най-интересните и бързоразвиващите се в последно време компютърна наука – Компютърната графика (КГ). Това става върху добре развитите теория и практика на съвременните компютри. Имат се предвид двете техни взаимно определящи се и взаимозависими съставни части – апаратната и програмна.
Компютърната графика се занимава с графичната интерпретация на резултатите от решението на различни задачи. Това стана особено възможно и интересно в последно време, след едно бързо развитие на периферни компютърни устройства, които служат за изобразяване на графично интерпретирани резултати, а също така и за въвеждане в компютъра на графични данни и най-вече изображения. Това и доведе до създаване на цели нови компютърни системи технологии, в които основна роля играе КГ, каквито са мултимедийните системи и технологии. Особен интерес представляват достиженията на компютърната графика в областта на създаването на различни видове графични обекти, използвани достатъчно ефективно в системите за компютърно проектиране на машини, съоръжения и технологии, при моделирането на различни процеси в областта на фундаменталните науки – физика, химия, биология и особено медицина, където създаването на тримерни компютърни модели позволява по-лесно да се интерпретират сложните процеси в анатомията, биологията и “химията” на човека. Създаването с помощта на достиженията на КГ на така наречената “виртуална реалност” чрез генериране на тримерни реалистични обекти постави едно ново начало в използването на компютърните технологии. Тук следва да се отбележат изключителните достижения на компютърната анимация.
В настоящата книга се разглеждат основните принципи за изграждане на компютърни изображения – двумерни и тримерни графични обекти, тяхното преобразуване, движение и оцветяване с цел създаването на реалистични изображения. Застъпени са основните алгоритми на КГ, създадени за решение на тези задачи. Обръща се внимание и на начините за повишаване на бързодействието при генериране на изображения, което е особено важно за работа в реално време при създаването на тримерни графични обекти. Това е твърде необходимо и при използването на КГ за целите на анимацията и киното.
Изложеното в настоящата книга има основно значение за обучение и придобиване на знания по създаването на реални графични обекти и системи. Книгата е предназначена за студентите в Техническите университети в страната, обучаващи се по специалността “Компютърни системи и технологии”, но би била полезна и за всички специалисти, работещи в направления, използващи компютърна техника за най-различни цели.
Авторите се надяват, че настоящата книга ще бъде полезна за читателя при овладяването на една толкова нужна днес компютърна наука, каквато е Компютърната графика. Отзивите могат да се изпращат в катедра “Компютърни науки и технологии” на Техническия университет – Варна (адрес: Варна, 9010, ул. Студентска 1, кат. ИТ), където авторите работят. Те изказват за това своята предварителна благодарност.

ЛИТЕРАТУРА

А. С. Востриков, Н.В. Пустовой, Цифровая обработка изображений в информационных системах, Новосибирск, 2002.
Дж. Фоли, А. Вэн Дэм. Основы интерактивной машинной графики. том 1, том 2, Мир, М., 1985.
Дж. Форсайт, М.Малкалм, К. Молър, Компютърни методи за математически пресмятания, Наука и изкуство, София 1986
Г. Эндерле, К.Кэнси, Г.Пфафф. Программные средства машинной графики. Международный стандарт GKS. Радио и связь, М., 1988.
Т. Павлидис. Алгоритмы машинной графики и обработки изображений. Радио и связъ, М.,1986.
А. Поляков, В. Брусенцев, Методы и алгоритмы компжютерной графики в примерах на Visual С++ I C#. Второе издание, Санкт-Петербург, „БХВ-Петербург” 2003
Б. Рачев, С.Йорданова, В.Наумов. Мултимедия и компресия на информация. МТ-МТ-Прес, Варна, 1995.
Б. Рачев, Е. Генчев, М. Митев, Г. Цанков, Г. Демирев. Програмиране и използване на изчислителните системи. Записки, 2 част, ВМЕИ-Варна, 1989.
Б. Рачев, М. Стоева, Д. Илиева, “Компютърна графика”, ТУ-Варна, 1998
Б. Рачев, И. Вълова, М. Стоева, “Системи с бази от изображения-организация и модели данни”, Proc. of the Int. Conference on Computer Systems and Technologies – Comp Sys Tech 2000, pp.III.9.1-III9.9, Sofia, Bulgaria, 2000.
Д. Роджерс. Математические основы машинной графики. Мир, М., 1989.
Хуинх Куиет Тханг. Изследване един клас цифрови интегриращи машини и приложението му в компютърната графика”, Докторска дисертация, ТУ-Варна, 1994.
А. Каляев. Основы теории цофровой интегрирующей машины. Москва, Радио и связь, М., 1980.
Д. Хирн, М. Бейнер. Микрокомпьютерная графика. Мир, М., 1987.

Подобни статии

  • Хибридни програмни среди
    Програмните среди, основаващи се на няколко модела, позволяват на напредналите програмисти да експериментират с различни нови архитектури за решаване на задачи, като избират различни софтуерни модули. Поради липсата на универсален език за представяне на знания, който да е подходя...
  • Скенери
    Ръчни. При ръчните скенери се придвижва самото устройство върху документа. Ръчните скенери въвеждат обикновено изображения с размер до 4 инча (10 см) и са с разделителна способност от 200 до 400 dpi /брой точки на инч - dots per inch/. Затова те са-добри за малки по размер изобра...
  • Уеб дизайн на съвременен Интернет уеб сайт
    През годините на Интернет развитието, уеб сайтовете в Мрежата носят тенденция на своята визия, тип на функционалността си и определено отношение към Интернет потребителите. През годините тези тенденции, тези типове функционалност, визия и дизайн, са се променяли, променяло се е ...
  • Pentium 4
    Pentium 4 е седмо поколение x86 архитектура микропроцесор произведен от  Intel. Pentium 4, с кодово име “Willamette”, работи на честота от 1.4 и 1.5 GHz. Тактовите честоти са от 1,3 до 2,8 GHz и нагоре. Процесорната шина работи на 400 или 533 MHz. L1 – 20 KBL2 – 256 KB или 512 KB...
  • Система за банкови разплащания SWIFTNET – развитие, цели, използвани технологии. Функционални възможности на системата
    Използвана за първи път през 1977 г.  Използвани са телекомуникационни средства за обем на информация, отнасящи се предимно до междубанкови разплащания. Най- важна част от системата е бил т.н. „Модел FIN”. Този модел строго описва начините за обмена на съобщения. Основен принцип ...
Публикувано в Компютри с етикети , , , . Постоянна връзка.

Коментарите са забранени.