МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Бердичівський політехнічний коледж
Контрольна робота
з предмета “Комп’ютерна графіка”
(варіант №12)
Виконав:
студент групи Пзс-504
Побережний Д.В..
Перевірив
викладач:
Козік В.Ю.
м. Бердичів
2007 р.
1. Крива Без
'є
Цей алгоритм дозволяє обчислити координати (х, у) точки кривої Без'є за значенням параметра t.
1. Кожна сторона контуру багатокутника, що проходить по точках-орієнтирах, ділитьсяпропорційно значенню t.
2. Точки поділу з'єднуються відрізками прямих і утворюють новий багатокутник. Кількість вузлів нового контуру на одиницю менша, ніж кількість вузлів попереднього контуру.
3. Сторони нового контуру знову діляться пропорційно значенню t. І так далі. Це продовжується до тих пір, доки не буде отримано єдину точку поділу. Та точка й буде точкою кривої Без'є (рис. 3.9).
Наведемо запис геометричного алгоритму на мові C++:
Результат роботи алгоритму — координати однієї точки кривої Без'є — записуються в R[0].
Фігурою тут будемо вважати плаский геометричний об'єкт, який складається з ліній контуру та точок, що містяться всередині контуру. Контурів може бути декілька — наприклад, коли об'єкт має всередині порожнини (рис. 3.10). У деяких графічних системах одним об'єктом може вважатися й більш складна багатоконтурна фігура — сукупність островів із порожнинами.
Графічний вивід фігур поділяється на дві задачі: вивід контуру й вивід точок заповнення. Позаяк контур являє собою лінію, то вивід контуру проводиться на основі алгоритмів виводу ліній. У залежності від складності контуру, це можуть бути відрізки прямих, кривих або довільна послідовність сусідніх пікселів.
Для виводу точок заповнення відомі методи, котрі розділяються в залежності від використання контуру на два типи: алгоритми зафарбовування від внутрішньої точки до границь довільного контуру й алгоритми, що використовують математичний опис контуру.
2. Графічна бібліотека OpenGl
OpenGL — це "програмний інтерфейс для апаратури, яка створює графіку" [88]. Цей інтерфейс зроблений у вигляді бібліотеки функцій (Open Graphic Library — OpenGL). Розробник — фірма Silicon Graphics.
OpenGL стала індустріальним стандартом, вона підтримується багатьма операційними системами для різноманітних апаратних платформ — від персональних комп'ютерів до надпотужних суперкомп'ютерів. Бібліотека OpenGL дозволяє досить просто створювати швидкодіючі графічні програми, які використовують апаратні можливості ЗD-акселераторів. Тому вона часто використовується розроблювачами комп'ютерних ігор (наприклад, Quake) та систем тривимірного моделювання. В операційній системі Windows бібліотека OpenGL (версії 1.1) підтримана, починаючи з Windows 95 версії OSR 2, — були додані відповідні модулі DLL, а також включені кілька функцій і структур даних у АРІ Win32.
Перша версія OpenGL побачила світ у 1992 році. Розширення OpenGL втілювалися у версіях 1.1-1.5. Зараз на порядку денному впровадження OpenGL версії 2. Ця версія буде забезпечувати використання усіх можливостей графічних процесорів, у тому числі повну підтримку шейдерів.
Розробка графічних програм OpenGL для середовища Windows подібна програмуванню графіки GDI функцій АРІ, що ми розглянули в главах 7-10. Однак є особливості, деякі з яких ми вивчимо. Для одержання докладніших відомостей можна порекомендувати такі літературні джерела, як довідники для систем програмування для АРІ Win32 [86, 87].
Стосовно літератури. Незважаючи на те, що видано багато різноманітної літератури з OpenGL, в тому числі й кирилицею, радимо вам завжди намагатися читати першоджерела (це стосується будь-якої теми). Для OpenGL таким джерелом є знаменита "Red Book" від Silicon Graphics.
Швидкодія графічних програм, що використовують OpenGL, істотно залежить від відеоадаптера. Апаратна реалізація всіх базових функцій OpenGL — гарантія високої швидкодії. У даний час багато відеоадаптерів містять спеціальний графічний процесор (один чи декілька) для підтримки функції графіки. Крім того, що відеоадаптер повинен апаратно виконувати усі базові функції OpenGL (такі як перетворення координат, відсікання, вивід полігонів, розрахунок освітлення, накладення текстур), для досягнення високої швидкодії повинен бути встановлений спеціальний драйвер. Драйвери типу ICD (Installable Client Driver) забезпечують інтерфейс, що сприяє ефективному використанню апаратних можливостей відеоадаптера. Інший тип драйвера — MCD — встановлюється зазвичай тоді, коли не всі функції підтримані апаратно, в цьому випадку вони виконуються програмно центральним процесором, що істотно повільніше.
Розглянемо створення програм OpenGL мовою С, C++ у середовищі Windows. У главі 7 при розгляді графіки GDI ми визначили ключовий момент — це створення контексту графічного пристрою (device context). Графіка OpenGL у цьому плані схожа — необхідно спочатку створити контекст, що названий тут контекстом відображення {rendering context), і спрямовувати поточний вивід графіки на нього. Потім необхідно закрити цей контекст, звільнити пам'ять.
Будемо програмувати в стилі програм StudEx попередніх глав цієї книги. Цей стиль полягає в безпосередньому виклику функцій API Windows без будь-яких посередників типу MFC (чи інших подібних бібліотек). По-перше, це зменшує виконуваний код (оскільки кожному посереднику потрібно платити — ось тільки тут за що?), а по-друге, дозволить нам більш детально ознайомитися власне з OpenGL.
Дамо загальну схему програми OpenGL.
1. Створення вікна програми. Тут необхідно обов'язково установити стиль вікна ws_clipchildren і ws_clipsiblings. Це здійснюється завданням значень аргументів функції CreateWindow.
2. Після створення вікна можна відкривати контекст відображення. Рекомендується відкриття цього контексту робити під час обробки повідомлення wm_create.
3. Щоб створити контекст відображення, спочатку необхідно відкрити контекст вікна (hdc), наприклад, функцією GetDC.
4. Для з'ясування характеристик контексту відображення встановлюємо відповідні значення полів структури PIXELFORMATDESCRIPTOR і викликаємо функцію ChoosePixelFormat. Ця функція повертає номер піксельного формату, який можна використовувати. Якщо це — номер 0, то створення потрібного контексту відображення неможливо.
5. Викликом функції SetPixelFormat задаємо відповідний піксельний формат у контексті hdc.
6. На основі контексту hdc створюємо контекст відображення hglrc викликом функції wglCreateContext. Для переадресації поточного виводу графіки OpenGL у hglrc необхідно викликати функцію wglMakeCurrent.
7. У ході роботи програми виводимо графічні об'єкти в поточний контекст відображення. Графічний вивід можна здійснювати під час обробки повідомлення wm_paint чи інших повідомлень. Для цього використовуються функції для роботи з графічними примітивами OpenGL.
8. Перед закриттям вікна програми необхідно закрити всі відкриті контексти відображення. Також необхідно закрити всі контексти графічного пристрою. Це можна зробити в ході обробки повідомлення WM_DESTROY ВИКЛИКОМ функцій ReleaseDC І wglDeleteContext.
Щоб використовувати бібліотеку OpenGL, у середовищі розробки програм на С та C++ необхідно підключити відповідні файли заголовків.
Список використаної літератури:
1. С.В.Глушаков, Г.А.Крабе Компютерная графика, Харьков 2002
2. Блінова Т.О., Порєв В.М. Комп’ютерна графіка / За ред. В.М.Горєва. – К.: Видавництво “Юніор”, 2004.
3. OpenGl, технология ставшая символов, Учебник в примерах.
Другие работы по теме:
Розрахунок нерозрізної балки
Міністерство освіти і науки України Полтавський національний технічний університет імені Юрія Кондратюка Кафедра опору матеріалів Розрахунково-графічна робота № 5
«Применение OpenGL»
Государственное образовательное учреждение высшего профессионального образования
работа
Кинематографы создают удивительные спецэффекты или полностью анимированные фильмы. В последние годы широкое распространение получили также компьютерные игры, максимально использующие трехмерную графику для создания виртуальных миров
Побудова скінченних множин
Множина як визначена сукупність елементів чи об’єктів. Списковий спосіб подання множини. Множина, кількість елементів якої скінченна (скінченна множина). Виведення декартового добутку з кожної заданої комбінації. Алгоритм рішення та реалізація програми.
Процес прийняття рішення про покупку
Процес прийняття рішення про покупку має 5 етапів: усвідомлення потреби – у споживача під тиском різних факторів виникає потреба у прдбанні певного товару. На цьому етапі маркетологам важливо визначити коло тих обставин, які підштовхують покупця до думки про можливість купівлі товару;
Харчук Борис
(1931 — 1988) Народився Борис Микитович 1931 року в селі Лози Збаразького району. Навчався на філологічному факультеті Кременецького педагогічного інституту. Згодом його було вигнано звідти за складання пародій на керівництво вузу. Продовживши навчання в Полтавському педінституті, Харчук вступає на Вищі московські літературні курси.
Цифрова обробка сигналів
Міністерство освіти та науки України Житомирський інженерно-технологічний інститут Кафедра АУТС Розрахунково-графічна робота Цифрова обробка сигналів”
Цифрова обробка сигналів
Знаходження згортки послідовностей способами прямого обчисленням і з використанням z-перетворення. Побудова графіків за результатами обчислення з використанням програми MathCAD. Визначення системної функції фільтра, імпульсної та частотної характеристик.
ЮНЕСКО
Реферат на тему: Інформаційна система Нижче наведено загальну схему інформаційної системи ЮНЕСКО. Звичайно, у дійсності вона є більш деталізованою, проте вказані п'ять її елементів є основними.
Формування об’ємних зображень вейвлет аналіза
Огляд середовища програмування Delphi виробництва корпорації Inprise. Засоби масштабування для побудови баз даних. Візуальна побудова додатків із програмних прототипів. Об’єктно-орієнтована модель компонентів. Опис структури програми, компонентів OpenGL.
Побудова ліній та точок з допомогою комп’ютерної графіки
Алгоритм побудови лінії та використання графічної бібліотеки DirectX. Способи побудови довільної кількості довільного розміру точок на поверхні форми. Можливості комп'ютера виконувати мультимедійні програми під управлінням операційної системи Windows.
Концепції програмування. Графічна система OpenGL
Об'єктно-орієнтоване програмування за допомогою Delphi. Основні види проекцій. Поняття контексту відображення та пристрою в бібліотеці OpenGL. Побудова сфери засобами OpenGL: лістинг програми. Алгоритм операції збільшення та зменшення зображення.
Что такое DirectX?
DirectX представляет собой набор технологий и инструментов, которые позволяют создавать разработчику игры и мультимедиа приложения с неслыханным во времена MS-DOS качеством графики и звука.
OpenGL и Delphi на практике
Предлагаю не откладывая в долгий ящик написать первую программу на OpenGL - а потом, окрылившись успехом, вернуться к теории и как следует проштудировать все книги и сайты по сабжу, чтобы уж стать настоящими монстрами трехмерного моделирования.
Работа с цветом в библиотеке OpenGL
Работа с цветом с помощью графической библиотеки OpenGL. Программа, отображающая квадрат, с меняющимся цветом, в зависимости от изменения градиентов (R,G,B), треугольник, вершины которого имеют различные цвета, прямоугольную полосу в виде спектра.
Построение геометрических тел с помощью библиотеки OpenGL
Создание программы, с помощью библиотеки OpenGL рисующей проволочный чайник с поворотом рисунка вокруг осей X, Y, Z. Построение отрографической проекции. Установка области отображения. Функция обработки сообщений с клавиатуры. Главный цикл приложения.
Основные конструкции библиотеки OpenGL
Определение области значений функции y=sin(x) и построение графика по точкам с помощью основных конструкций библиотеки OpenGL. Функции вырисовки на экране, обработки сообщений с клавиатуры. Установка размеров области отображения. Главный цикл приложения.
Модель трехмерной сцены и библиотека OpenGL
Построение динамической трехмерной сцены, включающей заданные тело и поверхность определенного вида средствами графической библиотеки. Наложение текстур на тела, поверхности с помощью функции SetupTextures. Графическое представление тела с текстурой.
Використання OpenGL. Моделювання вогню
Дослідження особливостей роботи графічної бібліотеки OpenGL з метою використання її в комп'ютерному моделюванні. Розгляд синтаксису команд та програмного коду команд. Методи максимально реалістичного моделювання горіння вогню. Лістинг програми на мові С.
Графічні роботи на комп’ютері
Піксел як універсальний растровий графічний примітив. Схема алгоритму виводу прямої лінії. Використання операцій із плаваючою точкою. Графічна бібліотека DirectX, її сутність, основні компоненти, версії. Приклад файлу форми Delphi3 для побудови сфери.
Види комп'ютерної графіки
Створення зображення (візуалізація) як завдання комп'ютерної графіки. Методи та алгоритми візуалізації. Трансформація об’єктів в бібліотеці OpengL. Побудова довільної кількості довільного розміру точок на поверхні форми засобами бібліотеки OpengL.
Будування плакатів та блок-схем
Особливості зображення плакатів у MSVisio. Будування блок-схем алгоритмів згідно варіантів. Віртуальна інфраструктура сервера. Структура центра управління сіттю AltegroSky. Взаємозв’язок операційної системи, віртуальної машини та користувача комп’ютера.
Управление элементами поверхности
Изучение основных возможностей создания трехмерных объектов в программе OpenGL, методика наложения текстур. Механизм подключения библиотек. Создание поверхности ландшафта. Реализация ориентирования на поверхности. Изменение поверхности ландшафта.
Отримання зображень з допомогою комп’ютерної графіки
Використання CMY та CMYK для опису кольору при отриманні зображень методом поглинання кольорів. Субтрактивні кольори: блакитний (Cyan), пурпурний (Magenta) та жовтий (Yellow). Моделювання розповсюдження світла в об'ємі напівпрозорого середовища.
Методи поліпшення растрових зображень
Методи поліпшення растрових зображень. Параметри виду, буфер глибини, джерело світла в бібліотеці Opengl. Створення тривимірної фігури та забезпечення її повороту за допомогою Opengl, виконання операції масштабування з використанням клавіші "+" та "-".
Трехмерная графика OpenGL
Кафедра: Информационные технологии Трехмерная графика OpenGL 1. Теоретическая часть 1.1 Подключение графической библиотеки OpenGL к интерфейсу Windows
Будування плакатів та блок-схем
Міністерство освіти і науки України Полтавський національний технічний університет Імені Юрія Кондратюка Факультет інформаційних та телекомунікаційних технологій і систем
Компьютерная графика 9
Федеральное агентство по образованию Пермский государственный технический университет Чайковский филиал Кафедра Информационных технологий Курсовая работа
Гра Тетріс
ДНІПРОПЕТРОВСЬКА ОБЛАСНА РАДА ОБЛАСНИЙ КОМУНАЛЬНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД "ІНСТИТУТ ПІДПРИЄМНИЦТВА "СТРАТЕГІЯ" КАФЕДРА КОМП’ЮТЕРНИХ ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Архітектура операційної системи MS DOS Структура ОС Ms-Dos розбивка на модулі визначення ст
Лабораторна робота №8 Тема: Архітектура операційної системи MS – DOS. Мета: Ознайомитися із будовою ядра і модулів ОС MS – DOS. Теоретичні відомості: Будь – яка ОС в своїй побудові повинна мати зрозумілу і раціональну структуру. Це означає, що ОС поділяється на частини, які називають модулями. Будь – який модуль являє собою функціонально завершену програму із чіткими правилами взаємодії з іншими модулями.
Отчет по OpenGL
Оглавление Структура и применение OpenGl Основные библиотеки, используемые при создании приложений Массивы вершин и списки изображений (назначение и команды для их описания)