- •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.
23. Алгоритм отсечения отрезков на плоскости.
При отсечении на плоскости выполняется, с одной стороны, выделение обрабатываемой области экрана, а с другой стороны, объекты этой выделенной области разбиваются на составляющие. Для операции отсечения элементарным геометрическим объектом является линия (отрезок прямой). Существует ряд алгоритмов, позволяющих оптимизировать процесс отсечения, но наиболее эффективно реализован на методе кодирования, предложенном американскими инженерами Коэнном и Сазерлен дом (Cohen D., Sutherland I.). Для быстрого определения видимости/невидимости отрезков прямых был предложен способ четырехразрядного кодирования. Каждый разряд этого кода определяет принадлежность концов отрезка к соответствующим областям. Если точка попадает в область, то код равен единице.
Используя эти коды можно определить видимость (полную или неполную) или невидимость отрезка. Рассмотрим возможные варианты кодировки концевых точек:
1) С1=С2=0 – отрезок полностью видим (обе точки внутри окна);
2) если хотя бы одна из точек имеет и отличие от 0 , то, следовательно, часть отрезка или он полностью невидим:
2.1) если поразрядное логическое произведение кодов отлично от нуля (С1&С2 ≠0), то отрезок полностью невидим;
2.2) С1&С2 = 0, то отрезок может быть как видимым, так и невидимым. В этом случае выполняется дополнительный анализ, при котором концевые точки заменяются точками пересечения рассматриваемого отрезка с границами отсекающего окна.
Алгоритм Коэнна - Сазерленда
Этот алгоритм выполняется следующим образом:
для каждой стороны окна выполнить:
для каждого отрезка выполнить следующие действия:
проверка С1 = С2 = 0;
если результат проверки положительный,
то - отобразить отрезок, иначе - выполнить:
если С1&С2 ≠0, то перейти к следующему отрезку,
иначе заменить точки Р1 и Р2 на точки пересечения отрезка с границами окна.
Конец 23 вопроса.
24. Алгоритмы отсечения многоугольников на плоскости.
Многоугольник можно рассматривать как замкнутую последовательность отрезков, расположенных на плоскости, а операцию отсечения реализовать с точки зрения вычисления взаимного перекрытия двух многоугольников. Один из многоугольников представляет собой отсекающее окно, а другой – отсекаемый объект. При реализации подобных алгоритмов на базе вычислений пересечений, возникает ряд проблем, связанных с тем, что фигура отсекаемого многоугольника может превратиться в набор разрозненных отрезков, либо в открытые многоугольники (как на рис.4.24).
Для устранения подобных ситуаций существует ряд алгоритмов которые отличаются исходными данными, характером просмотра пересечений, а также ограничениями на вид отсекаемого и отсекающего многоугольника. Простейшим вариантом является алгоритм ориентированный на регулярные формы многоугольника (стороны многоугольника параллельны осям координат или границам экрана).
Алгоритм Сазерленда-Ходжмена.
Алгоритм Сазерленда-Ходисмена основан на последовательном отсечении рёбер многоугольника каждой из границ отсекающего окна. Например :
Реальный алгоритм более сложен, т.к. учитывает произвольную форму и ориентацию, как отсекаемого многоугольника, так и отсекающего окна. Исходными данными для работы алгоритма являются списки вершин многоугольника и отсекающего окна v1,v2,…,vn; w1,w2,…,wn.
Работа алгоритма заключается в последовательном просмотре вершин многоугольника с вычислением координат пересечений границ окна с рёбрами многоугольника, а также в формировании результирующей фигуры.
Как правило, алгоритм реализуется за два этапа. На первом этапе в прямой последовательности осуществляется просмотр вершинv1,v2,…,vn и выявляются точки пересечения. На втором этапе осуществляется обратный просмотр с формированием выходного списка отсечённого многоугольника. При этом на каждом шаге работы алгоритма могут быть занесены 1,2 – вершины.
Проанализируем варианты пересечения границы окна с ребром многоугольника.
Перед началом работы цикла выбирается начальная точка v1внутри.
Случай 1. Ребро полностью находится внутри окна. При этом начальная точка v1 ребра находится в выходном списке, а вторая вершина v2 добавляется в список.
Случай 2. Ребро выходит за пределы окна. При этом известна точка пересечения x1 ребра с окном. В выходной список заносится точка пересечения x1 .
Случай 3. Ребро полностью находится за пределами окна. В этом случае выходной список не изменяется.
Случай 4. Ребро входит в окно, и в выходной список заносятся две точки: точка пересечения x2 и v1 .
Данный алгоритм позволяет работать как с выпуклыми, так и с не выпуклыми многоугольниками.
Алгоритм может быть реентерабельным, т.е. может обращаться сам к себе. В этом случае отсутствует требование к дополнительной памяти. Поэтому такой алгоритм может быть реализован аппаратно.
Хотя исходный вариант алгоритма ориентирован на плоскость, при незначительной модернизации он может быть переориентирован в пространство.
Алгоритм Вейлера – Азертона.
Данный алгоритм ориентирован на эффективное решение проблемы отсечения в том случае, если в результате отсечения образуется множество ребер на границе окна.
Внесение простейших изменений в элементарный алгоритм отсечения не дает эффективных решений, поэтому был предложен данный алгоритм, базирующийся на просмотре списка верши и специальных правил обхода контуров.
В алгоритме Вейлера – Азертона происходит отслеживание перемещения вдоль границ многоугольника в выбранном направлении (например, по часовой стрелке) вплоть до пересечения с границей окна. После определения факта пересечения осуществляется анализ варианта пересечения:
1) если ребро входит в окно, то просмотр продолжается вдоль ребра многоугольника;
2) если ребро выходит из окна, то выполняется поворот по границе окна в выбранном направлении.
В любом случае точка пересечения запоминается и используется как точка возврата для продолжения обхода многоугольника.
Конец 24 вопроса.