Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по билетам].doc
Скачиваний:
68
Добавлен:
02.05.2014
Размер:
805.89 Кб
Скачать

Вопрос 44

Интерактивные системы машинной графики. Виды графических языков...

Интерактивные системы машинной графики

Задача интерактивной системы машинной графики при выполнении вывода заключается в преобразовании информации из исходного высокоуровневого представления предметной области в представление команд графических устройств вывода. При выполнении ввода, наоборот, требуется преобразование низкоуровневой информации от физических устройств ввода в высокоуровневую информацию на языке предметной области.

Графические языки высокого уровня

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

Первый подход позволяет создать язык, наиболее соответствующий специфике работы с графической и геометрической информацией, но только в том классе приложений, для которых предназначался язык.( АРТ, ОГРА, САГРАФ, COMPAC).

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

Синтаксические расширения алгоритмических языков

Удобство этого подхода заключается в том, что пользователю требуется лишь "доучиться" в уже известном ему языке. Расширение заключается в разработке дополнительных конструкций языка для описания и манипулирования графическими и геометрическими объектами. Возможны несколько способов реализации такого расширенного языка:

  • модификация существующего транслятора;

  • использование препроцессора, либо макропроцессора, обрабатывающего программу на расширенном языке и превращающего его в программу на исходном языке;

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

Одна из первых реализаций графического расширения FORTRANа система GRAF.

Процедурные графические языки

Процедурные языки - это пакеты графических подпрограмм, доступные из программ на самых различных языках.

Функционально генерацию изображений и манипуляцию с ними естественно представить в виде исполнения команд, использующих имена, координатные и иные данные, характеризующие объект манипулирования. Для выполнения таких действий нет необходимости в наличии графических типов данных, а сами действия удобно представить в соответствующих подпрограммах. Подпрограммы при этом фактически представляют собой мощное и легко модифицируемое семантическое расширение языка. Именно поэтому графические расширения языков за счет создания пакетов графических подпрограмм нашли самую широкую поддержку как со стороны разработчиков системного обеспечения, так и со стороны пользователей. Обрабатывающую систему можно представить как состоящую из базовой графической системы, осуществляющую чисто графические функции и прикладной программы, осуществляющей необходимые вычисления и управление.

Вопрос 39

Удаление скрытых линий и поверхностей, алгоритмы упорядочивания: сортировка граней, алгоритм художника, построение BSP деревьев.

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

Методы упорядочения выносят сравнение по глубине за преде­лы циклов и производят сортировку граней явным образом.

Метод сортировки по глубине. Алгоритм художника

Как художник сначала рисует более далекие объекты, а затем поверх них более близкие, так и метод сортировки по глубине сначала упорядочивает грани по мере приближения к на­блюдателю, а затем выводит их в этом порядке.

ал­горитм: множество всех лицевых граней сортируется по ближайше­му расстоянию до картинной плоскости, и потом эти грани выводятся в порядке приближения к наблюдателю.

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

1. Пересекаются ли проекции этих граней на ось x?

2. Пересекаются ли проекции этих граней на ось y?

3. Пересекаются ли проекции этих граней на ось z?

4. Находятся ли грань P и наблюдатель по разные стороны от плоскости, проходящей через грань Q

5. Находятся ли грань Q и наблюдатель по одну сторону от плоскости, проходящей через грань P,

Если хотя бы один тестов 1-3 дает отрицательный ответ грань P упорядочена верно, иначе про­водятся тесты 4-5.Если хотя бы на один из этих вопросов получен утвердительный ответ, то считаем что грани P и Q упорядочены верно.

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

построение BSP деревьев

процесс построения B SP-деревьев заключается в выборе разбивающей плоскости (грани), разбиении множества всех граней на две части (это может потребовать разбиения граней на части) и рекурсивного применения описанной процедуры к каждой из получившихся частей. Узлами этого дерева являются плоскости, произво­дящие разбиение.

Билет 29

Стандартизация в машинной графике: стандарты, структура прикладной графической системы, переносимость, этапы преобразования координатной информации, метафайлы.

Постепенно сформировалось представление о программном продукте как о промышленном изделии, что выдвинуло проблему стандартизации графического программного обеспечения. Развитие сетей ЭВМ, оснащенных терминальными устройствами различных типов, потребовало обеспечить независимость программного обеспечения от аппаратуры.

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

Структура прикладной графической системы, удовлетворяющей сформулированным требованиям, может быть представлена в виде шестиуровневой модели.

Процесс преобразования информации при выполнении вывода:

1. Модельные преобразования. формируется описание совокупного объекта в некоторой единой (мировой) системе координат. Описание совокупного объекта подается в графическую систему.

2. Нормализующие преобразования. переводит описание из мировой, системы координат в т.н. нормализованные координаты устройства.

3. Преобразования сегментов.

4. Видовые преобразования. В случае 3D описания изображения и 2D устройства вывода необходимо выполнить проецирование изображения на заданную картинную плоскость. Наоборот, при 2D сцене и 3D устройстве вывода необходимо выполнить преобразование, связанное с размещением изображения

5. Преобразование рабочей станции- преобразование данных из аппаратно-независимой формы в координаты устройства.

Процесс преобразования координатной информации при вводе от координатных устройств обратен.

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

Основными стандартами являются:

1. GKS (Graphical Kernel System) - набор базовых функций для 2D аппаратно-независимой машинной графики.

2. GKS-3D (Graphical Kernel System for 3 Dimensions) - расширение GKS для поддержки базовых функций в 3D.

3. PHIGS (Programmer's Hierarchical Interactive Graphics System) - набор базовых функций 3D ориентированной на непосредственный вывод графических примитивов

4. Языковые интерфейсы

5. CGM аппаратно-независимый формат обмена графической информацией.

6. CGI (Computer Graphics Interafce) - набор базовых элементов для управления и обмена данными между аппаратно-независимым и аппаратно-зависимым уровнями графической системы.

7. CGRM (Computer Graphics Reference Model) - модель стандартов в машинной графике, которая определяет концепции и взаимосоотношения применительно к будущим стандартам в машинной графике.

8. Регистрация.

9. Тестирование реализаций на соответствие графическим стандартам

Построение реалистических изображений: глобальная и локальная модели освещения (модель Фонга).

С точки зрения физики поверхность материального тела может излучать световую энергию, отражать свет, падающий от внешнего источника. Цвет точки материального объекта, определяется множеством элементарных актов взаимодействий со светом. Последовательность этих элементарных актов можно представить в виде рекурсивного процесса, который математически описывается интегральными уравнениями, называемыми глобальными уравнениями заполнения (rendering equation). В общем случае они не поддаются решению, даже численными методами. Существует множество подходов, каждый из которых позволяет найти решение уравнений для определенного типа объектов. Но эти подходы требуют значительных временных затрат. Простая локальная модель освещения, основанная на модели отражения Фонга, которая на сегодняшний день представляет вполне приемлемый компромисс между физической корректностью и объемом необходимых вычислений.

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

Можно выделить три основных типа взаимодействия света и материала поверхности:

  1. Зеркальное отражение. Поверхности выглядят блестящими, поскольку Хотя небольшая часть энергии и поглощается, остальной свет отражается под одним углом, равным углу падения.

  2. Диффузное отражение. При диффузном отражении падающий свет рассеивается в разных направлениях. Такой тип взаимодействия характерен для равномерно окрашенной поверхности.

  3. Преломление. при этом отражается часть падающего света.

Идеальный точечный источник света (point source) излучает свет одинаково во всех направлениях.

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

Ir = Ip ·Pd ·cos(),

В реальных сценах, кроме света от точечных источников, присутствует и рассеянный свет, который упрощенно учитывается с помощью коэффициента рассеяния:

Субъективно достаточно реалистичный учет расстояния от центра проекции до объекта обеспечивается линейным затуханием:

Суммарная модель освещения Фонга имеет вид:

Если источник света находится бесконечности, то для данного плоского многоугольника L·N равно константе, а R·V меняется в пределах многоугольника.

Билет 30