
- •1. Графические данные и их классификация.
- •2. Алгоритмы компьютерной графики.
- •3. Аппаратные средства компьютерной графики.
- •4. Понятие геометрической машины. Структурная схема графической системы.
- •5. Базовая графическая система (бгс). Gks – международный стандарт на бгс.
- •6. Элементарные (базовые) и комбинированные операции на плоскости.
- •7. Элементарные (базовые) и комбинированные операции в пространстве.
- •8. Пространственное вращение вокруг произвольной оси.
- •9. Классификация плоских проекций.
- •10. Ортографическая проекция
- •11. Геометрические построения в диметрической проекции.
- •12. Геометрические построения в изометрической проекции.
- •13. Косоугольные проекции.
- •14. Виды перспективного проецирования.
- •15. Перспективная одноточечная проекция.
- •16. Перспективная двухточечная проекция.
- •17. Перспективная трехточечная проекция.
- •32. Каркасные модели. Модели твердого тела.
- •33. Параметрическое описание пространственных кривых. Модели кривых линий.
- •34. Представление пространственных кривых в форме Эрмита.
- •35. Представление пространственных кривых в форме Безье.
- •36. Кривые Бернштейна-Безье.
- •37. Представление пространственных кривых в сплайновой форме.
- •44.Колориметрия. Законы Грассмана.
- •45.Табличные и библиотечные форматы представления цвета.
- •46. Базовые цветовые модели, ориентированные на аппаратуру.
- •47.Телевизионные цветовые модели.(yiq и yuv)
- •48.Модели цифровой фотографии
- •49. Художественные цветовые модели, или
- •50.Абстрактные цветовые модели cie xyz и cie l*a*b*.
- •51. Модель освещения, используемая для построения реалистических изображений.
- •52.Модель освещения с учетом микрогеометрии поверхностей объектов.
- •53.Учет коэффициента Френеля в модели освещения с учетом микрогеометрии поверхностей объектов.
- •54.Функция распределения микрограней в модели освещения с учетом микрогеометрии поверхностей объектов.
- •55.Функция ослабления света на микрогранях в модели освещения с учетом микрогеометрии поверхностей объектов.
- •56.Моделирование прозрачности и теней.
- •57.Методы трассировки лучей. Алгоритмы прямого хода луча.
- •58.Методы трассировки лучей. Алгоритмы обратного хода луча.
- •59.Построения реалистических изображений методом излучательности.
- •60.Модель закраски Гуро.
- •61.Модель закраски Фонга.
- •62.Алгоритм отсечения лучей.
- •63.Алгоритм двоичного разбиения пространства (bsp-алгоритм).
- •66. Текстурирование объектов
- •67.Классификация методов сжатия графической информации.
- •68.Метод группового кодирования (rle-алгоритм).
- •69.Методы кодирования строк бит переменной длины. Алгоритм Хаффмена и арифметическое кодирование.
- •70.Алгоритмы сжатия со словарем (lz-алгоритмы).
- •71.Алгоритм сжатия jpeg.
- •72.Алгоритм волнового сжатия (вейвлет-преобразование).
- •73.Фрактальная математика и фрактальное сжатие.
- •75.Форматы представления видеоданных: Microsoft riff avi, mpeg-1,2,4, QuickTime
- •9. Форматы mpeg
- •80. Логические устройства стандартной видеосистемы пк
- •81. Современные режимы работы видеосистем
- •82. Организация взаимодействия в современных видеосистемах пк. Аппаратные интерфейсы
- •83. Графические процессоры ati и nVidia
- •84. Ускорение вычислений при помощи технологий sli и CrossFire
- •18. Виды растровой развертки.
- •19. Алгоритм Брезенхема растровой развертки отрезков прямых.
- •20. Алгоритмы Брезенхема растровой развертки окружностей.
- •21. Построчный алгоритм растровой развертки сплошных областей.
- •22. Алгоритм растровой развертки сплошных областей с затравкой.
- •23. Алгоритм отсечения отрезков на плоскости.
- •24. Алгоритмы отсечения многоугольников на плоскости.
- •25. Алгоритмы отсечения в пространстве изображений
- •26. Алгоритмы отсечения в пространстве объектов
- •27. Алгоритмы сортировки по глубине.
- •28. Простейшие алгоритмы масштабирования растровых изображений.
- •29. Масштабирование растровых изображений с использованием форм Безье и в-сплайнов.
- •30. Алгоритмы фильтрации растровых изображений, базирующиеся на свертке.
- •31. Медианная фильтрация растровых изображений.
- •76. Интерфейс Windows gdi
- •77.Интерфейс Microsoft Windows DirectX.
- •78.Интерфейсы Microsoft Windows DirectDraw и DirectAnimation.
- •78.Интерфейс Microsoft Windows Direct3d.
- •79.Интерфейс по стандарту OpenGl.
21. Построчный алгоритм растровой развертки сплошных областей.
Задача, определяющая принадлежности точки замкнутому контуру, в общем случае является очень трудоемкой задачей, поэтому для уменьшения вычислительных затрат при обработке подобного контура рассматривается не вся рабочая поверхность экрана, а его ограниченная часть, называющаяся охватывающим прямоугольником.
Координаты углов охватывающего прямоугольника определяются максимальными и минимальными значениями координат X и Y рассматриваемого контура.
Для того чтобы эффективно реализовать процедуру развертки сплошной области, необходимо воспользоваться двумя дополнительными процедурами:
1) определение когерентности растровых строк;
2) сортировка.
Под когерентностью понимается пространственная однородность характеристик пиксела в сканируемой строке. Изменение характеристик пиксела свидетельствует о достижении границы контура. Как правило, на практике описание ломаной линии контура хранится в неупорядоченном виде (см. рис.4.14).
Если многоугольник задан ребрами, то точки пересечений строки растровой развертки будут располагаться не упорядоченно. Для нашего случая (рис.4.14): (p1, p2), (p2, p3), (p3, p4), (p4, p5), (p5, p1) < x4, x1, x2, x3 >.
Для того, чтобы получить координаты интервала заполнения строки в растре развертки, необходимо выполнить сортировку множества точек пересечения < x1, x2, x3, x4 >.
Таким образом, алгоритм выполнения сортировки является неотъемлемой частью ядра базовой графической системы.
При выполнении построения растровой развертки особой обработки требуют вершины многоугольного контура. Возможны два случая:
1) в том случае, если вершина контура является локальным экстремумом, то она учитывается в списке два раза (например, P5);
2) в противном случае, она учитывается один раз (например, P3).
Для повышения эффективности вычислительной процедуры сортировки по строкам и сортировки в строке выполняются раздельно.
Простейшим вариантом алгоритма данной группы является алгоритм с упорядоченным списком ребер. Он состоит из двух частей:
1) подготовительная (шаги 1 – 3);
2) собственно развертка (шаги 4 – 5).
Алгоритм растровой развертки с упорядоченным списком ребе
1. Для каждого ребра контура определить точки пересечения со строками развертки, используя алгоритм Брезенхейма.
2. Поместить координату X точки пересечения в соответствующую группу описания строки (Y – группу)
3. Для каждой строки выполнить сортировку множества координат X точек пересечения (в порядке возрастания).
4. Для каждой строки развертки сгруппировать попарно X – координаты точек пересечения.
5. Активизировать пиксели текущей строки развертки в пределах пар X – координат.
Данный алгоритм является простым и очевидным, однако требует большого объема памяти, который уходит на хранение точек пересечения всех ребер со всеми строками растра. На практике можно значительно сократить объем необходимой памяти, если учитывать регулярный характер граней, образующих контур.
Для ускорения вычисления и уменьшения объема памяти используется:
1) структурирование данных в виде связного списка ребер;
2) вычисление координат точек пересечения в пошаговом режиме.
На использовании данных приемов базируется следующий вариант алгоритма растровой развертки сплошных областей - алгоритм с активным списком ребер.
Алгоритм растровой развертки сплошных областей, использующих список активных ребер (САК).
Алгоритм также состоит из двух частей: подготовительной (1 – 3) и растровой развертки (4 – 13).
1. Для каждого ребра многоугольника определить Y – координату с максимальным значением.
2. Сформировать для каждой строки Y – группу и занести выделенные ребра в соответствующие группы.
3. Сформировать связный список, сохранив в нем следующие значения:
а) начальная величина координаты Х точек пересечения;
б) ∆y – число строк, пересеченных ребром, уменьшенное на единицу;
в) ∆х – шаг приращения по Х – координате при переходе на одну строку;
г) указатель на данные следующего активного ребра, начинающегося на данной строке развертки.
4. Для каждой строки развертки проверить соответствующую Y – группу на наличие новых ребер.
5. Добавить новые ребра в САК.
6. Выполнить сортировку координат Х точек пересечения ребер, входящих в САК в порядке возрастания.
7. В отсортированном списке выделить пары точек пересечения.
8. Активизировать на строке растра пикселы с координатами, входящими в отрезки, определенные на шаге 7.
9. Для каждого ребра из САК уменьшить ∆y на единицу.
10. Если ∆y < 0, исключите данное ребро из САК.
11. Вычислить новое значение Х – координаты точки пересечения.
12. Перейти к следующей строке.
13. Если область, охватывающего прямоугольника просмотрена (y < ymin), то завершаются вычисления, иначе возврат к п.4.
Конец 21 вопроса.