- •13. Аффинные преобразования на плоскости.
- •Билет 2
- •2. История развития кг. Современные тенденции развития кг.
- •12. Аффинные преобразования, их свойства, однородные координаты.
- •Билет 3
- •3. Основные понятия кг. Аппаратное обеспечение кг. Принципы формирования изобр.
- •15. Проецирование. Общий вид преобразований в пространстве. Виды проекций.
- •Общая формула преобразования
- •4. Архитектура рабочих станций. Графический ускоритель. Арi.
- •14. Аффинные преобразования в пространстве. Использование матричного представления. Составные аффинные преобразования в пространстве.
- •5. Архитектура графических рабочих станций. Технологии 3d графики.
- •16. Этапы создания графического объекта. Преобразование положения объекта. Понятие камеры. Особенности матричных преобразований.
- •7. Общие положения алгоритмов сжатия изображений.
- •17. Понятие растрового алгоритма. Понятие связности. Основные требования предъявляемые к растровым алгоритмам.
- •18. Растровое представление отрезка: постановка задачи, простейший алгоритм, алгоритм цда.
- •20. Растровое представление отрезка: построение сглаженной линии (метод Флойда-Стейнберга, модификация алгоритма Брезенхейма, сглаживание всей сцены).
- •8. Алгоритмы архивации без потерь: rle, lz/lzw, Хаффман.
- •19. Растровое представление отрезка: постановка задачи, алгоритм Брезенхейма.
- •9. Алгоритмы архивации с потерями, проблемы алгоритмов архивации с потерями. Основные идеи алгоритмов jpeg, фрактальный, волновой.
- •21. Растровое представление окружности: постановка задачи, простой алгоритм, алгоритм Брезенхейма.
- •10. Геометрическое моделирование и решаемые им задачи…
- •22. Алгоритм закраски области, заданной цветом границы.
- •Билет 12
- •11. Представление геометрических моделей. Полигональные сетки и способы …
- •Задача отсечения Вопрос 23
- •Двумерный алгоритм Коэна-Сазерленда (Кохена-Сазерленда)
- •Двумерный fc-алгоритм
- •Вопрос 44
- •Интерактивные системы машинной графики
- •Графические языки высокого уровня
- •Синтаксические расширения алгоритмических языков
- •Процедурные графические языки
- •Задача отсечения Вопрос 24
- •Двумерный алгоритм Лианга-Барски
- •Вопрос 45
- •Задача отсечения Вопрос 25
- •Двумерный алгоритм Кируса-Бека
- •10. Геометрическое моделирование и решаемые им задачи…
- •Пирамидальное фильтрование (Mip-mapping).
- •Проверка выпуклости и определение нормалей Вопрос 27 Алгоритм с использованием векторных произведений
- •Разбиение невыпуклых многоугольников. Алгоритм метода при обходе вершин многоугольника против часовой стрелки состоит в следующем:
- •Отсечение многоугольника
- •Трассировка лучей
- •Излучательность
- •3. Основные понятия кг. Аппаратное обеспечение кг. Принципы формирования изобр.
- •4. Архитектура рабочих станций. Графический ускоритель. Арi.
- •Вопрос 30
- •5. Архитектура графических рабочих станций. Технологии 3d графики.
- •6. Архитектура графических рабочих станций. Принципы конвейерной архитектуры.
- •Пересечение луча с плоскостью и многоугольником Вопрос 32
- •7. Общие положения алгоритмов сжатия изображений.
- •8. Алгоритмы архивации без потерь: rle, lz/lzw, Хаффман.
- •9. Алгоритмы архивации с потерями, проблемы алгоритмов архивации с потерями. Основные идеи алгоритмов jpeg, фрактальный, волновой.
- •10. Геометрическое моделирование и решаемые им задачи…
- •Вопрос 37
- •11. Представление геометрических моделей. Полигональные сетки и способы …
- •Вопрос 38
- •Вопрос 44
- •Интерактивные системы машинной графики
- •Графические языки высокого уровня
- •Синтаксические расширения алгоритмических языков
- •Процедурные графические языки
- •Вопрос 39
- •10. Геометрическое моделирование и решаемые им задачи…
- •Вопрос 41
Вопрос 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). В общем случае они не поддаются решению, даже численными методами. Существует множество подходов, каждый из которых позволяет найти решение уравнений для определенного типа объектов. Но эти подходы требуют значительных временных затрат. Простая локальная модель освещения, основанная на модели отражения Фонга, которая на сегодняшний день представляет вполне приемлемый компромисс между физической корректностью и объемом необходимых вычислений.
Эта модель анализирует световые лучи, испускаемые светоизлучающими поверхностями – источниками света, - и их взаимодействие с отражающими поверхностями объектов сцены.
Можно выделить три основных типа взаимодействия света и материала поверхности:
Зеркальное отражение. Поверхности выглядят блестящими, поскольку Хотя небольшая часть энергии и поглощается, остальной свет отражается под одним углом, равным углу падения.
Диффузное отражение. При диффузном отражении падающий свет рассеивается в разных направлениях. Такой тип взаимодействия характерен для равномерно окрашенной поверхности.
Преломление. при этом отражается часть падающего света.
Идеальный точечный источник света (point source) излучает свет одинаково во всех направлениях.
Диффузное отражение света точечного источника от идеального рассеивателя определяется по закону Ламберта, согласно которому падающий свет рассеивается во все стороны с одинаковой интенсивностью.
Ir = Ip ·Pd ·cos(),
В реальных сценах, кроме света от точечных источников, присутствует и рассеянный свет, который упрощенно учитывается с помощью коэффициента рассеяния:
Субъективно достаточно реалистичный учет расстояния от центра проекции до объекта обеспечивается линейным затуханием:
Суммарная модель освещения Фонга имеет вид:
Если источник света находится бесконечности, то для данного плоского многоугольника L·N равно константе, а R·V меняется в пределах многоугольника.
Билет 30