
- •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
8. Алгоритмы архивации без потерь: rle, lz/lzw, Хаффман.
Алгоритм RLE.
Изображение в нем вытягивается в цепочку байт по строкам растра. Само сжатие в RLE происходит за счет того, что в исходном изображении встречаются цепочки одинаковых байт. Замена их на пары <счетчик повторений, значение> уменьшает избыточность данных. В данном алгоритме признаком счетчика служат единицы в двух верхних битах считанного файла. Оставшиеся 6 бит расходуются на счетчик, который может принимать значения от 1 до 64. Строку из 64 повторяющихся байтов мы превращаем в два байта, т.е. сжимаем в 32 раза. Алгоритм рассчитан на деловую графику – изображения с большими областями повторяющегося цвета. Ситуация, когда файл увеличивается, для этого простого алгоритма не так уж редка, например, при обработке цветных фотографий. Для того чтобы изображение увеличилось в два раза, в нем значения всех пикселей должны быть больше двоичного 11000000 и подряд попарно не повторяться. Второй вариант этого алгоритма имеет больший максимальный коэффициент архивации и меньше увеличивает в размерах исходный файл. Признаком повтора в данном алгоритме является единица в старшем разряде соответствующего байта. В лучшем случае этот алгоритм сжимает файл в 64 раза, в худшем увеличивает на 1/128.
Алгоритм LZ/LZW.
Сжатие в нем в отличие от RLE осуществляется уже за счет одинаковых цепочек байт. Существует довольно большое семейство LZ-подобных алгоритмов. Один из достаточно простых вариантов этого алгоритма, например, предполагает, что во входном потоке идет либо пара <счетчик, смещение относительно текущей позиции>, либо просто <счетчик> пропускаемых байт и сами значения байтов. При разархивации для пары <счетчик, смещение> копируются <счетчик> байт из выходного массива, полученного в результате разархивации, на <смещение> байт раньше, а <счетчик> (т.е. число равное счетчику) значений “пропускаемых” байт просто копируются в выходной массив из входного потока. Данный алгоритм является несимметричным по времени, поскольку требует полного перебора буфера при поиске одинаковых подстрок. В результате сложно задать большой буфер из-за резкого возрастания времени компрессии. Однако потенциально построение алгоритма, в котором на <счетчик> и на <смещение> будет выделено по 2 байта (старший бит старшего байта счетчика – признак повтора строки / копирования потока), даст нам возможность сжимать все повторяющиеся подстроки размером до 32Кб в буфере размером 64Кб. В пределе, поскольку максимальное сжатие мы получаем, превращая 32Кб буфера в 4 байта, а буфер такого размера будет накоплен не сразу. Однако минимальная подстрока для которой выгодно проводить сжатие, должна состоять в общем случае минимум из 5 байт, что и определяет малую ценность данного алгоритма.
В алгоритмах семейства LZW может использоваться дерево для представления и хранения цепочек. Процесс сжатия выглядит достаточно просто. Последовательно считываются символы входного потока и проверяются, есть ли в созданной таблице строк такая строка. Если строка есть, то считывается следующий символ, а если строки нет, то заносится в поток код для предыдущей найденной строки, строка помещается в таблицу, и поиск начинается снова.
Алгоритм Хаффмана – один из классических алгоритмов. Использует только частоту появления одинаковых байт в изображении. Сопоставляет символам входного потока, которые встречаются большее число раз, цепочку бит меньшей длины, и, напротив, встречающимся редко – цепочку большей длины. Для сбора статистики требует двух проходов по изображению. Классический алгоритм Хаффмана требует записи в файл таблицы соответствия кодируемых символов и кодирующих цепочек.
(Вопрос)Удаление скрытых линий и поверхностей. Методы оптимизации, понятие когерентности.
когерентность (от английского coherence — связность). Выделяют несколько типов:
• когерентность в картинной плоскости — если данный пиксель соответствует точке грани Р, то скорее всего соседние пиксели также соответствуют точкам той же грани;
• когерентность в пространстве объектов - если данный объект (грань) видим (невидим), то расположенный рядом объект (грань) скорее всего также является видимым (невидимым).
• временная: грани, видимые в данном кадре, скорее всего будут видимы и в следующем; аналогично грани, невидимые в данном кадре, скорее всего будут невидимы и в следующем.
Методы оптимизации: Отсечение нелицевых граней
Рассмотрим многогранник, для каждой грани которого задан единичный вектор нормали. Если вектор нормали грани n составляет с вектором l, задающим направление проектирования, тупой угол, то эта грань заведомо не может быть видна. Такие грани называются нелицевыми. Если угол является острым, грань называется лицевой.
Когда объекты невыпуклые или в сцене присутствует несколько объектов, они могут частично перекрываться или закрывать друг друга. В такой ситуации применяться методы сортировки - можно по удалённости граней от точки зрения расположить их в некотором порядке и после этого изображать эти грани по степени их близости.
Нелицевые грани всегда не видны. Ребра между нелицевыми гранями также всегда не видны. Ребро между лицевой и нелицевой гранями вполне может быть и видимым.
Ограничивающие тела Опишем вокруг каждого объекта тело достаточно простого вида. Если эти тела не пересекаются, то и содержащиеся внутри них объекты пересекаться не будут. Если описанные тела пересекаются, то сами объекты при этом не обязательно пересекаются.
В качестве ограничивающих тел чаще всего используются прямоугольные параллелепипеды с ребрами, параллельными координатным осям.
Разбиение пространства картинной плоскости
Каждой клетке разбиения ставится в соответствие список тех объектов, проекции которых пересекают ее. Для отыскания всех объектов, которые закрывают рассматриваемый объект при проектировании, проверяются только объекты, попадающие в те же клетки картинной плоскости, что и проекция данного объекта.
Иерархические структуры Сначала ограничивающее тело описывается вокруг всех объектов. На следующем этапе объекты разбиваются на несколько компактных групп и вокруг каждой из них описывается свое ограничивающее тело. Далее каждая из групп снова разбивается на подгруппы, вокруг каждой из них строится ограничивающее тело и т. д. В результате получается дерево, корнем которого является тело, описанное вокруг всей сцены.
Сравнения объектов начинаются с корня. Если сравнение не дает положительного ответа, то все тела можно сразу отбросить. В противном случае проверяются все его прямые потомки, и если какой-либо из них не дает положительного ответа, то все объекты, содержащиеся в нем, сразу же отбрасываются.
Билет 25