- •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.
26. Алгоритмы отсечения в пространстве объектов
Данный алгоритм относится к другой группе алгоритмов отсечения, так как работает в пространстве объектов. Для повышения эффективности (уменьшения количества шагов разбиения) осуществляется дробление окон вдоль границ многоугольника.
Алгоритм Вейлера-Азертона на одноименном двухмерном алгоритме. Трехмерный алгоритм реализуется за четыре этапа:
1) предварительная сортировка по глубине (z-сортировка);
2) сортировка многоугольников на плоскости (x,y-сортировка);
3) удаление экранированных многоугольников;
4) рекурсивное разбиение и окончательная сортировка при наличии неопределенности.
ЭТАП 1. Z-сортировка.
Н а этом этапе происходит формирование списка приблизительных приоритетов, определяющего в первом приближении удаленность многоугольников от наблюдателя. Если за точку наблюдения принимать z=+∞, то ближайший многоугольник должен иметь максимальную z-координату. Построение списка приблизительных приоритетов осуществляется путем сохранения z-координат для каждого из многоугольников.
ЭТАП 2. X,Y-сортировка.
На данном этапе происходит сортировка в плоскости экрана. В результате создается два списка многоугольников:
А) внутренний (для многоугольников, попадающих в окно)
Б) внешний (для всех прочих).
Для отсечения используется копия ближайшего многоугольника, определенного на первом этапе.
Поскольку отсечение производится ближайшим многоугольником, то первым во внутреннем списке является он сам.
ЭТАП 3.
Н а данном этапе выполняется полная проверка координат многоугольников, учитывая тот факт, что первоначальная z-сортировка является приблизительной.
При выполнении проверки для каждой j-ой вершины i-ого многоугольника с координатами (Xij, Yij), отсекаемого ближайшим многоугольником, определяется глубина Zij. Затем Zij сравнивается с глубиной Zk ближайшего многоугольника, зафиксированного при z-сортировке. Если вычисленная величина Zij< Zk, то порядок, определенный z-сортировкой, правильный. В том случае, если Zij > Zk, то результат z-сортировки – ошибочен. В первом случае продолжается рекурсивная работа с внешним списком многоугольников. Во втором случае – необходим переход к четвертому этапу.
ЭТАП 4.
Необходимость в нем возникает в том случае, если среди Zij есть значение, большее Zk. Такой многоугольник, по крайней мере, частично экранирует ближайший многоугольник, определенный на первом этапе. Для устранения ошибки сортировки осуществляется рекурсивное разбиение X,Y-плоскости с использованием в качестве отсекающего того многоугольника, который нарушил правило сортировки по z-координате. Отсечению подлежат многоугольники из внутреннего списка, в том числе и старый ближайший многоугольник. Для отсечения используется копия нового претендента. Данный алгоритм обрабатывает случаи циклического перекрытия нескольких многоугольников.
Конец 26 вопроса.
27. Алгоритмы сортировки по глубине.
Данный алгоритм был предложен Ньюэллом и Санчем. При работе исполняется понятие оболочек геометрических объектов. В общем случае в качестве n - мерной оболочки подразумевается n - мерный параллелепипед, размеры которого соответствуют габаритным размерам исходного объекта.
Данный вариант алгоритма позволяет сортировать многоугольники по их Z – координатам и реализуется за три шага:
1) упорядочивание многоугольника по координате Z – max;
2) разрешение неопределенностей при перекрытии Z-оболочек;
3) преобразование многоугольников в растровую форму.
Для выполнения шага 2 исполняется тест, состоящий из 5 проверок.
Рассмотрим ситуацию, при которой в качестве ближайшего многоугольника на первом шаге выбран многоугольник P. Многоугольник имеющий перекрытие Z оболочек с многоугольником Р обозначаем Q.
Необходимо выполнить следующие пять проверок:
1) Х- оболочки не перекрываются;
2) У- оболочки не перекрываются;
3) многоугольник Р целиком за плоскостью Q;
4) многоугольник Q целиком перед плоскостью Р;
5) ХУ- оболочки многоугольников Р и Q не перекрываются.
Если во всех пяти случаях получается отрицательный ответ, то Р закрывает Q, в противном случае Q закрывает Р, поэтому в первоначальном списке многоугольники Р и Q необходимо поменять местами
Данный алгоритм не позволят обрабатывать в случае взаимного перекрытия объектов, этот вариант приводит к зацикливанию алгоритма
Для устранения данного недостатка осуществляется контроль за моментом возникновения зацикливания, для этого фиксируются многоугольники, входящие в список конфликтов.
Зацикливание образуется при повторном вхождении многоугольников в список. Для того чтобы разорвать подобный цикл, многоугольник, повторно возникший в этом списке, делят на две части, таким образом, чтобы не возникало конфликтов между многоугольниками. Данный алгоритм часто называют «алгоритмом художника». Егос ложность определяется Q (n2), где n – количество многоугольников.
Алгоритм сортировки по глубине использующий Z- буфер.
Принципиальное отличие от алгоритма Ньюэма- Санча заключа-ется в том, что Z координаты рассматриваются не для многоугольников, а для точек экрана. Для хранения Z координат используется буфер глубины или Z-буфер, который может представить из себя как часть ОП, так и специальный сегмент памяти, принадлежащей графической подсистеме ПК. Перед началом работы алгоритма выполняются следующие операции:
1) в видео буфер заносится изображение фона;
2) в Z-буфер заносится максимальное значение Zmax.
Затем каждый многоугольник раскладывается в растр и записывается в видео буфер без сортировки по глубине. При разложении в растр для каждой точки i-ого многоугольника c координатами (x,y) выполняются следующие действия:
- вычисление глубины i-ого многоугольника – точки Zi (x,y);
- в том случае, если рассчитанное значение Zi(x,y) < Zбуф(x,y), то цвет многоугольника заносится в точку (x,y) видеобуфера. В противном случае изменения видеобуфера не происходит и осуществляется переход к следующей точке.
Таким образом, после обработки всех многоугольников сцены в Z-буфере оказываются координаты ближайших к наблюдателю объектов. Единственной трудоемкой операцией является вычисление Z-координат многоугольника по координатам (x,y). Однако если рассматривать эту операцию более детально, то и ее трудоемкость можно значительно снизить.
Для вычисления Z(x,y) используется формула Ax+By+Cz+D=O отсюда: Z(x,y) = - (Ax+By+D)/C, т.к. развертка идет вдоль строк, то полное вычисление Z координат можно производить один раз на строку растра. Остальные значения вычисляются как Z(x+Ux,y): Z = Z1 + A*Ux/C. Таким образом, при отображении очередного пиксела растра необходима одна операция вычитания.
Достоинство. Простота алгоритма, что с одной стороны позволяет выполнить его аппаратную реализацию, а с другой стороны позволяет достичь высокого быстродействия.
Недостаток. Необходимость значительного объема буфера глубины.
Область применения:
1) мультимедийные игровые программы;
2) аппаратная реализация 3D-ускорителя, предназначенного для бытовых/игровых ПК.
При практической реализации алгоритма 3D-отсечения возникают ситуации, в которых необходимо использовать достоинства отдельных алгоритмов. Поэтому на практике используются не отдельные классические алгоритмы 3D-отсечения, а их комбинации. Причем алгоритмы, ориентированные на пространство объектов, могут быть реализованы в пространстве изображений и наоборот.
Конец 27 вопроса.