- •Передмова
- •Загальні теоретичні відомості
- •Області застосування комп'ютерної графіки
- •Способи формування зображень на екрані
- •Формування кольору малюнка
- •Технічні аспекти комп’ютерної графіки
- •Особливості реалізації роботи з графікою у мові Turbo Pascal 7.0
- •Математичні основи графічних побудов
- •Аффінні перетворення на площині
- •Аффінні перетворення в просторі
- •Види проектування
- •Базові алгоритми комп’ютерної графіки
- •Растрове розгорнення відрізка. Алгоритм Брезенхема
- •Заповнення суцільних областей
- •Заповнення багатокутників
- •Алгоритми заповнення області з затравкою
- •Видалення невидимих ліній і поверхонь
- •Деякі підходи до розв’язування задач загороджування
- •Тріангуляція
- •Робота II Графіки функцій у декартових координатах
- •Методичні вказівки
- •Варіанти завдань
- •Робота III Графіки функцій у полярних координатах Загальне формулювання завдання
- •Методичні вказівки
- •Варіанти завдань
- •Робота IV Побудова обмежених областей на площині Загальне формулювання завдання
- •Методичні вказівки
- •Варіанти завдань
- •Робота V Анімація двовимірних зображень
- •Методичні вказівки
- •Варіанти завдань
- •Робота VI Програмування тривимірних статичних сцен
- •Методичні вказівки
- •Варіанти завдань
- •Робота VII Моделювання зображень поверхні
- •Методичні вказівки
- •Варіанти завдань
- •Додаток а Приклади програмної реалізації графічних задач
- •Приклад 3
- •Приклад 4
- •Додаток б Графічна бібліотека компілятора Turbo Pascal 7.0
- •Драйвери
- •Система координат на екрані
- •Перетічний вказівник
- •Фігури і стилі
- •Вікна і бітові образи
- •Обробка помилок
- •Константи
- •Глосарій
- •Додаткова література
Драйвери
Графічні драйвери підтримують роботу наступних графічних адаптерів: Cga, Mcga, Ega, Vga, Ibm 8514 та деякі інші. Кожен драйвер вміщує код та дані, що зберігаються в окремому файлі.
Під час виконання програми процедура InitGraph визначає графічний пристрій, завантажує та ініціює відповідний графічний драйвер, переводить систему до графічного режиму і повертає управління програмі, що зробила виклик. Процедура CloseGraph звільняє пам’ять від драйверу і відновляє попередній відеорежим. Можна переводити систему у графічний чи текстовий режими, використовуючи RestoreCrtMode і SetGraphMode. Для того, щоб завантажити Ваш власний драйвер або включити його в .exe-файл, див. RegisterBgiDriver.
Файли драйверів:
-
Cga.Bgi
Egavga.Bgi
Ibm8514.Bgi
Драйвер для Cga, Mcga
Драйвер для Ega, Vga
Драйвер для Ibm 8514
Система координат на екрані
Верхній лівий кут графічного екрану визначений як (0,0). Значення Х {колонка} збільшується направо. Значення Y {рядок} збільшується вниз. В режимі 640x480 адаптеру Vga або SVga екранні координати кожного з чотирьох кутів будуть представлені так:
(0, 0) (639, 0)
(0, 479) (639, 479)
Перетічний вказівник
Багато графічних систем підтримують поняття перетічного вказівника (Cp -Current Pointer ). Cp подібний до курсора в текстовому режимі, але у відміну від нього Cp не видно. У прикладі:
MoveTo (0, 0);
LineTo (20, 20);
команда MoveTo використовується тільки для переміщення Cp. оператор LineTo помістить Cp у точку (20, 20), виводячи при цьому пряму лінію.
Наступні команди переміщують перетічний вказівник: MoveTo, MoveRel, LineTo, LineRel, OutText, InitGraph, SetGraphMode, GraphDefaults, ClearDevice, SetViewPort, ClearViewPort, причому останні 6 команд переміщують Cp у точку ( 0, 0 ).
Текст
Для виводу тексту в графічному режимі визначені побітовий шрифт і декілька штрихових шрифтів. Символ побітового шрифту визначений матрицею 8х8 пікселів. Штриховий шрифт визначений серією відрізків, які підказують графічній системі як малювати символи. Оскільки штриховий шрифт визначений відрізками, його якість не змінюється при збільшенні.
Коли побiтовий шрифт збільшується, матриця множиться на коефіцієнт масштабування. При великім коефіцієнті масштабування зображення символів стає грубим. Для невеликих символів побiтовий шрифт буде ефективний, в іншому разі знадобиться штриховий шрифт.
Вирівнювання графічного тексту керується процедурою SetTextJustify. Масштабування і вибір шрифту виконується процедурою SetTextStyle. Текстове повідомлення виводиться викликом процедур OutText та OutTextXY. Запит поточних параметрів тексту виконується процедурою GetTextSettings. Розмір штрихового шрифту може бути визначений (змінений) процедурою SetUserCharSize.
Кожний штриховий шрифт зберігається в окремому файлі типу .Chr. Файли шрифтів можуть бути завантажені з диску автоматично модулем Graph під час виконання програми, або включені в програму користувача.
Програма BinObj.exe забезпечує перетворення файлу шрифтів у файл .obj, що може бути включений в модуль чи програму. Це дозволяє мати файли шрифтів, умонтовані в .exe файл.