
- •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
11. Представление геометрических моделей. Полигональные сетки и способы …
Наиболее распространённые представления графических объектов:
1. Пространственное подразбиение.
Если в трёхмерном пространстве есть тело, то это пространство можно разбить на кубики (воксели). Для каждого кубика b(i, j, k) можно указать, пересекается ли он с телом, то есть лежит ли он внутри, на границе – 1 или вне тела – 0. В некоторых случаях удобно применять некоторые промежуточные значения, задавая тем самым плотность в данной точке пространства.
Характеристики воксельного представления:
• Только приближение реального объекта. Поверхности, не параллельные осям координат, представляются приблизительно. Качество приближения зависит от относительного размера вокселей.
• Требует больших размеров памяти для хранения, и эти требования резко возрастают при увеличении разрешения (растет как куб от разрешения).
• С таким представлением хорошо работают в основном пространственные алгоритмы, такие как вычисление объема объекта, нахождение центра масс и т.д.
• Можно проводить набор операций: пересечение, объединение, вычитание.
. Граничное (поверхностное). Тела задаются ограниченными фрагментами поверхностей.
3. Конструктивное.
При конструктивном представлении вводятся примитивы тел. Конструируя эти объекты и применяя теоретико-множественные операции, можно получить более сложное тело.
Под операциями понимаются булевы операции над примитивами, а так же геометрические преобразования, такие как передвижение, поворот, изменение размеров.
Полигональная сетка представляет собой совокупность ребер, вершин и многоугольников.
Виды представлений полигональных сеток:
1. Явное представление – многоугольник задается последовательностью вершин {x1,y1,z1},{x2,y2,z2},…,{xn,yn,zn}
2. Список вершин – перечисление всех вершин, встречающихся в многоугольниках: {x1,y1,z1},…,{xn,yn,zn}. При представлении многоугольника указываем лишь индексы вершин.
3. Определение многоугольника списком ребер. В такой модели грань представляется набором ребер и вершины грани определяются через ребра.
4. Крылатое представление: структура основывается на списке ребер, и для каждого ребра возникают две соседние грани. Каждое ребро ссылается на соседние грани, на ближайшие соседние ребра и опирается на две вершины. В результате ссылки для каждого ребра образуют кольцевые списки.
Полигон удобно представлять в виде списка (кольца) вершин, хранящегося в кольцевом списке с двойными связями. Необходимы функции для добавления, удаления, редактирования, поиска вершин.
Часто применяются следующие способы представления полигонов:
указатель на список вершин;
количество вершин;
указатель на текущую вершину;
функции для работы с вершинами;
функция расщепления полигона (деление полигона на два меньших по некоторой хорде);
проверка принадлежности точки полигону;
поиск наименьшей вершины (если определена некоторая функция упорядочивания).
Вопрос 38
Удаление скрытых линий и поверхностей: алгоритм трассировки лучей (прямая и обратная, методы оптимизации).
При рассмотрении этого алгоритма предполагается, что наблюдатель находится на положительной полуоси z, а экран дисплея перпендикулярен оси z и располагается между объектом и наблюдателем.
Удаление невидимых (скрытых) поверхностей в алгоритме трассировки лучей выполняется следующим образом:
- Сцена преобразуется в пространство изображения.
- Из точки наблюдения в каждый пиксель экрана проводится луч, и определяется, какие именно объекты сцены пересекаются с лучом.
- Вычисляются и упорядочиваются по z координаты точек пересечения объектов с лучом. В простейшем случае для непрозрачных поверхностей без отражений и преломлений видимой точкой будет точка с максимальным значением z-координаты. Для более сложных случаев требуется сортировка точек пересечения вдоль луча.
Очевидно, что повышение эффективности может достигаться сокращением времени вычисления пересечений и избавлением от ненужных вычислений. Последнее обеспечивается использованием геометрически простой оболочки, объемлющей объект — если луч не пересекает оболочку, то не нужно вычислять пересечения с ним многоугольников, составляющих исследуемый объект.
При использовании прямоугольной оболочки определяется преобразование, совмещающее луч с осью z. Оболочка подвергается этому преобразованию, а затем попарно сравниваются знаки xmin с xmax и ymin с ymax. Если они различны, то есть пересечение луча с оболочкой.
При использовании сферической оболочки для определения пересечения луча со сферой достаточно определить расстояние от луча до центра сферы. Если оно больше радиуса, то пересечения нет.
Дальнейшее сокращение расчетов пересечений основывается на использовании групп пространственно связанных объектов. Каждая такая группа окружается общей оболочкой. Получается иерархическая последовательность оболочек, вложенная в общую оболочку для всей сцены. Если луч не пересекает какую-либо оболочку, то из рассмотрения исключаются все оболочки, вложенные в нее, и, следовательно, объекты. Если же луч пересекает некоторую оболочку, то рекурсивно анализируются все оболочки, вложенные в нее.
Билет 28