- •Компьютерная Графика (кг)
- •3 Уровня подобия
- •4Возможности:
- •8. Основные возможности. Дополнительные библиотеки.
- •9.OpenGl в Windows. Контексты и их связь. Формат пикселя.
- •10.Архитектура и синтаксис команд.
- •11.Рисование в OpenGl. Буфер. Обновление изображения.
- •12. Вершины, примитивы, и их атрибуты.
- •13.Дисплейные списки
- •14.Работа с матрицами. Модельно-Видовые преобразования
- •15.Проецкции
- •16.Модель освещения и спецификация материалов
- •17.Описание источников света
- •18.Создание эффекта тумана
- •19.Текстуры. Подготовка текстуры.
- •20.Наложение текстуры на объект.
- •21. Текстурные координаты.
- •22.Смешивание изображений (blending). Прозрачность.
- •23.Буфер-накопитель.
- •24.Буфер трафарета(маски).
- •25.Управление растеризацией [glhint].
- •28. Структура видеоадаптера и назначение его составных частей.(км)
- •30. Аппаратные ускорители графики. 3d-конвейер.
- •31. Аппаратная структура ускорителя. Ускорители будущего.
- •32. Представление пространственных форм. Полигональные сетки.(км)
- •33. Формы задания: явная, указатели в список вершин, явное задание ребер
- •34. Параметрические кубические кривые.(км)
- •35. Форма Эрмита
- •37. Параметрические кубические поверхности Форма Эрмита.
- •38. Методы создания реалистических изображений
- •39. Удаление скрытых линий (hsr). Тезисы
- •40. Hsr: алгоритм сортировки по глубине
- •41.Hsr: алгоритм z-буфера. (км)
- •42.Hsr для криволинейных поверхностей
- •43.Физическая модель света
- •44. Свет. Свойства света ( простейшие законы). (км)
- •45.Диффузное отражение и рассеянный свет.
- •46.Свет. Зеркальное отражение.
- •47. Закраска полигональной сетки. Полосы Маха. (км)
- •48. Метод закраски Гуро (интерполяция интенсивности). Преимущества и недостатки
- •49. Метод закраски Фонга (интерполяция нормалей). Преимущества и недостатки
- •50. Тени
- •51.Текстурирование. Point sampling. Mip-mapping.
- •52.Билинейная, трилинейная и анизотропная фильтрации текстур.
- •53 Цвет в кг. Ахроматический цвет. Интенсивность.
- •55. Цветовые модели rgb, cmyk, yCbCr, hsv.
- •56. Форматы графических файлов: точечная графика, сравнение с векторной.
- •57.Форматы: bmp, gif, jpeg, tiff, raw, eps.
- •58.Сжатие графических файлов.
- •59. Будущее графических файлов.Текущее положение.Модель зрения.Динамический диапазон.Сопоставление.
- •60.Hrdi. Форматы файлов.Области применения.
- •61. Шрифты. История.Графические характеристики.Графема.
- •62. Классификация шрифтов.Система измерений. Оптические компенсации.
- •63. Язык PostScript.
- •64. Растрирование в PostScript. Программные и аппаратные rip.
- •65. Растровые и векторные шрифты.
- •66. Контурные шрифты.
- •67. Шрифты в Windows.Файлы шрифтов.
- •68. Понятие о формате и шрифтовой машине.
- •69. Кодирование шрифтов. Ascii. Стандарт Unicode.
- •72. Лазерные принтеры.
Компьютерная Графика (кг)
вопросы & ответы к экзамену
Введение:
Определение, задача и области применения КГ. Уровни подобия. (км)
КГ– комплекс средств для создания, хранения и обработки объектов и их изображения на ЭВМ
Задачи КГ– визуализация, создание изображений
Типичные области использования КГ
Черчение графиков
Распознавание образов
Автоматизация чертежных и конструкторских работ (САПР)
3.1 Возможность интерактивной работы с моделью
3.2 ГИС (Географическая Информационная Система)
4) Компьютерная полиграфия и веб-дизайн
5) Моделирование и мультипликация
6) Управление процессом
Источниками входной информации для систем машинной графики является не сами физические объекты или процессы, а их математические модели. Существенное влияние на построение мат. модели оказывает требуемый уровень соответствия (подобия).
Синтезируем изображение и визуально наблюдаем картину.
3 Уровня подобия
1) Физическое подобие
а) геометрическое (пространственные)
б) яркостные (энергетические)
в) временные
2) Психо-физическое подобие – соответствие на уровне зрительных ощущений
3) Психологическое подобие – соответствие возникает когда объекты различают по физическим
характеристикам или внешний наблюдатель сам достроит изображение
синтезируемое компьютерное изображение может соответствовать оригиналу только на психо-физическом уровне.
Краткая история КГ. Трудности развития. Эволюция средств вывода.
Краткая история КГ
1950г. ЭВМ оборудовалась дисплеем с ЭЛТ
SAGE середина 50х (дисплейные пульты управления)
Начало интенсивной графики, Диссертация «Графическая система sketchpad» начало 60х описывается простейший графический редактор для вывода геометрии
В 60е гг были сформулированы принципы рисования отрезками и удаление невидимых линий, методы обработки сложных поверхностей, теней учет освещенности сцены. Первые алгоритмы ориентированны на развитие векторной графики. Наибольшее влияние оказывают алгоритмы Брезенхема
70е гг все усилия направились в 3D. Эпоха зарождения трёхмерной графики
80е гг персональные компьютеры.
Развитие компьютерной графики тормозилось:
Высокая стоимость графического оборудования
Значительные потребности в вычислительной мощности
Трудности в разработке интерактивных программ для работы в среде с разделением времени.
Индивидуальность программного обеспечения.
Эволюция средств вывода
Мониторные устройства. Середина 60х годов векторные, штриховые и калигрофические.
дисплейная программа содержала команды ввода вывода точек и объектов. В 70х годах была изобретена дешёвая растровая графика.
Растровая графика– матрица из пикселей покрывающая всю площадь экрана.
3. Стандартизация в КГ.
Основная цель стандартизации:
Основная целью стандартизации – переносимость графических систем (ГС), которая достигается стандартизацией интерфейсов между графическим ядром системы (БГС – Базовая Графическая Система) реализующим, собственно, графические функции и моделирующей системой использующей функции графического ядра.
БГС должен обладать независимостью от:
вычислительных систем
языков программирования
области применения
графических устройств
ДУ-драйвер устройства
У-устройство
NGP – Network Graphic Protocol
Первые результаты по стандартизации были получены применительно к сетиARPA в рамках работ по разработке протоколов для аппаратно и машинно-независимого представления графических данных в сети.
ПГ - Прикладная Программа
ОП - обслуживающая программа
ТМ - терминальная программа
Международная деятельность по стандартизации машинной графики
1976г. – были сформулированы и обсуждены задачи стандартизации. Комитет по стандартизации машинной графики (GSPC) ACM/3IGGRAPH
Стандарт Core-system (GSPC - 77)
Разделение функций ввода вывода
Минимизация отличий выводов
Концепция 2х координатных систем (мировой и приборной системы координат)
Концепция дисплейного файла, содержащего приборную координатную информацию (контекст)
Обеспечение функций преобразования данных из мировой системы в приборную путем вызова видового преобразования
Матричные
операции:
2-мерные преобразования в декартовых и однородных координатах. (км)
XYZ – обыкновенные декартовы координаты
xyz – однородные координаты
Видовые преобразования:
перенос
поворот
масштабирование
Xn=X+Tx
Yn=Y+Ty
Pn=P+T
p=[x,y] – вектор одномерной матрицы
p – вектор координат
Pn – в вектор новых координат
T – вектор
Масштабирование
Xn=X*Sx
Yn=Y*Sy
Pn=P*S
- матрица и масштабирование
Поворот
Xn=X*cosφ – Y*sinφ
Yn= X*sinφ – Y* cosφ
Pn=P*R
φ-угол поворота
Столбцы и строки матрицы поворота представляют собой взаимно ортогональные единичные векторы. В самом деле квадраты длин векторов-строк равны единице:
cosφ * cosφ + sinφ * sinφ = 1
- sinφ * (- sinφ) + cosφ * cosφ = 1
а скалярное произведение векторов-строк есть cosφ(-sin) + sinφ*cosφ = 0
Так как скалярное произведение векторов А * В = |А| * |В| * cosφ где |A| - длина вектора А, |В| - длина вектора В, а φ - наименьший положительный угол между ними, то из равенства 0 скалярного произведения двух векторов-строк длины 1 следует, что угол между ними равен 90.
Двумерные преобразования в однородных координатах
Как видно из приведенных выше формул двумерные преобразования имеют различный вид. Сдвиг реализуется сложением, а масштабирование и поворот - умножением. Это различие затрудняет формирование суммарного преобразования и устраняется использованием двумерных однородных координат точки, имеющих вид:
[ x y w]:
Здесь w - произвольный множитель не равный 0.
Двумерные декартовые координаты точки получаются из однородных делением на множитель w: X =x/w; Y =y/w
Однородные координаты можно представить как промасштабированные с коэффициентом w значения двумерных координат, расположенные в плоскости с Z =w. В силу произвольности значения w в однородных координатах не существует единственного представления точки, заданной в декартовых координатах.
Преобразования переноса, масштабирования и поворота в однородных координатах относительно центра координат все имеют одинаковую форму произведения вектора исходных координат на матрицу преобразования.
Для переноса
-матрица переноса
Для масштабирования
Для поворота
3-х мерные преобразования. Суммарное преобразование. (км)
Аналогично тому, как двумерные преобразования описываются матрицами размером 3x3, трехмерные преобразования могут быть представлены в виде матриц размером 4x4. И тогда трехмерная точка (х, у, z) записывается в однородных координатах как (W*x, W*y, W*z, W), где W ≠0. Если W ≠1, для получения трехмерных-декартовых координат точки (х, у, z) первые три однородные координаты делятся на W. Отсюда, в частности, следует, что две точки H1 и Н2 в пространстве однородных координат описывают одну и ту же точку трехмерного пространства в том и только в том случае, когда H1 =cH2 для любой константы с, не равной нулю.
Применяемая здесь трехмерная система координат являетсяправосторонней
Перенос:
Масштабирование:
Поворот вокруг оси X:
Поворот вокруг оси Y:
Поворот вокруг оси Z:
Столбцы (и строки) верхней левой подматрицы размером 3x3 матриц Rz, Rx и Ry представляют собой взаимно ортогональные единичные векторы, интерпретация которых такая же, что и в двумерном случае.
Все эти матрицы преобразований имеют обратные матрицы
обратная Т, получается подстановкой знака минус перед Dx, Dy и Dz,
обратная S — заменой Sx, Sy и Sz на обратные им значения,
а для каждой из трех матриц поворота — выбором отрицательного угла поворота
Результатом произвольной последовательности поворотов вокруг осей х, у и z является матрица А, имеющая вид:
Подматрицу поворота размером 3x3 называют ортогональной, поскольку ее столбцы являются взаимно ортогональными единичными векторами. При повороте, задаваемом матрицей, эти единичные векторы совмещаются с осями х, у и z. Иногда возникает необходимость определить матрицу поворота, соответствующую таким направлениям. Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и переноса не сохраняют.
Для любой ортогональной матрицы В обратная матрица совпадает с транспонированной B-1=BT. Этот результат является полезным, поскольку вычислять матрицу, обратную матрице поворота, приходится часто. В действительности для получения транспонированной матрицы не требуются даже взаимные пересылки между элементами массива, описывающего матрицу. Необходимо только при выборе элементов массива поменять местами индексы строк и столбцов. Отметим, что этот метод определения обратной матрицы дает тот же результат, что и способ обращения Rx, Ry, Rz, основанный на подстановке
знака минус перед углом φ/
Можно перемножить произвольное число матриц поворота, масштабирования и переноса. Результат всегда будет иметь вид
Рисование в Windows:
6. GDI. Контекст устройства.(км)
Графические функции из состава WinAPI объединяются в отдельную группу – подсистему GDI.
GDI (Grafic device interface)- можно представить себе как графическую машину, которая исп. Windows и ее приложения ,для отображения и манипулирования графикой, причем эти функции не зависят от используемого устройства.
Приложение --> GDI --> драйвер устройства --> видеопамять
Аппаратная независимость реализуется через использование драйверов устройств, которые переводят функции GDI в команды, воспроизводимые устройством вывода.
Запись на устройство вывода.
В отличие от граф. программ, написанных под DOS программы windows никогда не выводят элементы изображения непосредственно на экран либо на какое-нибудь другое устройство, а записывают их в логическую сущность, называемую контекстом устройства. Контекст дисплея(DC) - виртуальная поверхность с присущ ей атрибутами , такими как перо, кисть, цвет фона, цвет текста.
Handle of Device Context (HDC) – идентификатор, указатель на контекст устройства.
Управление контекстом дисплея.
Для организации рисования в контексте дисплея, сначала нужно получить контекст дисплея для нужного окна.
Требования к памяти со стороны КД очень велики, поэтому можно одновременно организовать доступ только к 5 в одном сеансе Windows.
Окно-это объект в OC Windows,к-рый обрабатывает ин-е сообщения и отображает приложения.
Объект- это инкапсулированная абстракция, отражающая своё внутрен. состояние.
Абстракция – сущность у которой отброшены ненужные свойства
Это значит, что каждое окно не может поддерживать свой собственный контекст дисплеев. Оно получает его в случае необходимости и освобождает при первой же возможности.
Что содержится в контексте устройства?
1.Побитовая графика.
2. Перья
3. Кисти
4.Шрифты
5. Цвет, который использует устройство для рисования хранится в цветовой палитре.
7. DirectDraw.
-Компонент пакетаDrictX - Windows игровая платформа расширяющая мультимедийные возможности. Direct Draw в отличии от GDI дает доступ к видеопамяти.
Блиттер (blt) – позволяет копировать куски памяти очень быстро. первое применение- смена видео страниц для вывода видео (гладкой анимации)
одна страница выводится другая считывается.
для прорисовки изображения у приложения есть