- •1. Кг. Основные определения, классификация, области применения кг.
- •1) По области применения:
- •2) По способу организации работы графической системы:
- •3) По способу представления изображения:
- •4) По типу решаемых задач:
- •2. Технические средства кг.
- •3. Базовая графика, растровые алгоритмы.
- •4. Геометрические преобразования изображений на плоскости.
- •6. Аффинные преобразования в пространстве.
- •8. Пpогpаммное обеспечение кг.
- •9. Геометрические объекты и примитивы.
- •14. Способы создания реалистичных изображений.
- •13. Удаление скрытых частей изображений.
- •11. Представление и применение поверхностей в кг.
- •1. Явное описание поверхности.
- •2. Неявное описание поверхностей.
- •3. Параметрическое задание поверхности.
8. Пpогpаммное обеспечение кг.
Истоpия pазвития до стандаpтизации. До начала 70-х гpаф.пpиложения писали на ассемблеpе. Их можно охаpактеpизовать как зависимые от устpойств, сpеды функциониpования. Следовательно, использовать такие пpиложения можно было только там, где их pазpабатывали.Затем гpафические пpогpаммы стали писать на языках высокого уpовня. Разpаботчики аппаpатуpы обычно поставляли со своими устpойствами базовое обеспечение, а специалисты опиpаясь на него делали пpогpаммы более высокого уpовня с котоpыми могли pаботать дpугие пpогpаммы. Пpогpаммы пытались писать независимыми от вычислительной системы. Напpимеp: комплекc пpогpамм состоял из двух модулей - ядpа, независимого от аппаpатуpы и интеpпpетатоpа, упpавляющего аппаpатуpой.Дальнейшее снижение цен на аппаpатуpу и улучшение ее качества пpивело к буpному pазвитию гpаф.пpогpаммного обеспечения. Развитие шло по 3-м напpавлениям: - гpаф.pасшиpения существующих языков высокого уpовня с включением гpаф.команд - pазpаботка новых гpаф.языков и пpогpамм на их основе (это удобно,сложности в поиске покупателей) - гpафические pасшиpения алгоpитмических языков ( нет конфликтов )
Стандартизация в компьютерной графике.
Работы по стандартизации в КГ начались в 1974. В 1976-78 были сделны выводы, что цель стандартизации обеспечить переносимость ПО можно разбить на :
- переносимость приложений
- независимость от аппаратуры
- переносимость граф. данных
БГС - базовая граф. система обеспечивающая изоляцию приложения от спицифических граф. устройств.
ПВГУ - протокол виртуального граф. устройства обеспечиваает изоляцию БГС от специфики устр-ов (следоваательно возможность быстрого подключения нового уст-ва).
ППГИ - протокол представления граф. информации для хранения. (Изоляция БГС от формата графич. данных)
* Протокол - строго определ. процедура взаимодействия по управлению вычисл. систем и програм.
* МетаФайл - средство сохранения изображения с целью его записи в архив, транспортировки и обмена.
В 1984 принят 1-ый стандарт на БГС. Ей стала немецкая система GKS(graphical kernel system).
Стандарты на GKS, CGM и CGI.
Ценpальное понятие GKS (pабочая станция) - это абстpактная гpуппа упpавления, котоpая имеет одну видовую повеpхность пpямоугольной фоpмы.
GKS - это стандаpт БГС для создания унивеpсальных или специализиpованных интеpактивных систем для 2D-гpафики. Для систем 3D-гpафики, особенно pаботающих c проволочными моделями стандартом БГС является система GKS - 3D позволяющая стандартизировать образование, осуществление визуализации геометрических моделей.
Существует еще стандарт на GKS - 3D - называется PHIGS (PHIGS+) {Programmer Hierarchical Intagraitive Graphics System} Эти стандарты - основа реализации БГС, основное отличие PHIGS от GKS - 3D-структура организации графических данных.
Низкоуровневые стандарты.
1. Графический интерфейс - его стандартизация (стандартизация методов) доступных программированию к ГУ, она позволяет создавать переносимое программное обеспечение драйверами. Обеспечивает преобразования не зависимо от аппаратуры, Сущ. строгорегламентир соглашение взаимодействия м/у CGI и GKS
2. Графический метафайл - его стандартизация позволяет организовать взаимодействие ГС через общие файлы графических данных, физическая среда не имеет значения. Хранит граф инф на ур-не CGI
ISO : CGM {Computer Graphics Metafile}; CGI {Computer Graphics Interface}.
Эти стандарты совместимы между собой и учитывают опыт эксплуатации GKS имеют более широкий набор графических примитивов и некоторые дополнительные возможности в пересылке прямых, блоков пикселов между экраном и памятью, необходимые для мультиплекации, многооконной работе с дисплеями и другие.
Универсальные графические библиотеки Direct3D и OpenGL рассчитаны как на работу с 3х мерными акселераторами, так и без него. В последнем случае соответствующие графические функции эмулируются программно. Фактическими стандартами из них стали Direct3D – ядро поддержки 3х мерной графики, которая используется совместно с DirectDraw ускоренной двумерной графикой и анимацией. Оба эти API – часть API DirectX – набора низкоуровневых библиотек для Windows, которые были созданы фирмой Microsoft для оптимизации работы в Windows различных мультимедийных устройств. Эта библиотека встроена в ядро ОС Windows и является интегрированным сервисом для Win 98, 2000,Internet Explorer. Максимально использует возможности компьютера. В DirectDraw реализован непосредственный доступ к видеопамяти, чего в самой ОС и API – нет, в отличии от DOS. Поддерживает аппаратную разработку игр и мультимедийных приложений под Windows, где основные графические примитивы реализуются аппаратно. Облегчает создание и анимацию 3х мерных миров, реализуя интерполяторы анимации со смещением цветов, плавными перемещениями объектов и множеством трансформаций, а также последовательное заполнение сеточной модели 3х мерных объектов. Осуществляет z-буферизацию и рендеринг поверхностей, а их непосредственное изображение выполняет DirectDraw, непосредственно обращаясь к видеопамяти и графическим устройствам.
Стандарт OpenGL.
Тоже стандарт де факта для всех граф станции типа SGI, Sun и д.р. Этот стандарт разработан и утвержден в 1992 (1999) г. ведущими фирмами: IBM, Intel, SGI, Sun, Microsoft. В его основу была положена библиотека IrisGL фирмы SGI, которая насчитывала около 20 функций для задания объектов и операций над ними. OpenGL – это эффективный аппаратно и платформно независимый интерфейс. Он позволяет создавать объекты из геометрических примитивов, располагать их в 3х мерном пространстве, выбирая способ и параметры проектирования; вычислять их цвет с учетом источников освещения, параметров освещения и текстур; осуществлять рендеринг создаваемой модели сцены с удаленными невидимыми фрагментами изображения. Функции OpenGL реализованы по типу клиент-сервер. В данном случае клиент – это приложение, оно вырабатывает команды, а сервер – это библиотека OpenGL, которая интерпретирует и выполняет их, находясь на этом или другом компьютере. OpenGL поставляет пользователю мощный, но низкоуровневый набор команд и все операции высокого уровня должны выполняться в терминах этих команд. Это является некоторым неудобством для подготовленного пользователя. Достоинства: стабильность, поскольку библиотека была стандартом профессиональных 3-х мерных приложений долгие годы; переносимость – независимо от ОС все приложения использующие OpenGL дают одинаковый визуальных эффект или результат на OpenGL совместимом оборудовании; масштабируемость т.е. приложение с OpenGL может выполняться на различных системах от PC до суперкомпьютеров.
