- •1. Предмет кг. Области применения кг. Совр. Тенденции развития кг.
- •2. История развития кг. Современные тенденции развития кг.
- •3. Основные понятия кг. Аппаратное обеспечение кг. Принципы формирования изобр.
- •4. Архитектура рабочих станций. Графический ускоритель. Арi.
- •5. Архитектура графических рабочих станций. Технологии 3d графики.
- •6. Архитектура графических рабочих станций. Принципы конвейерной архитектуры.
- •7. Общие положения алгоритмов сжатия изображений.
- •8. Алгоритмы архивации без потерь: rle, lz/lzw, Хаффман.
- •10. Геометрическое моделирование и решаемые им задачи…
- •9. Алгоритмы архивации с потерями, проблемы алгоритмов архивации с потерями. Основные идеи алгоритмов jpeg, фрактальный, волновой.
- •11. Представление геометрических моделей. Полигональные сетки и способы …
- •12. Аффинные преобразования, их свойства, однородные координаты.
- •13. Аффинные преобразования на плоскости.
- •14. Аффинные преобразования в пространстве. Использование матричного представления. Составные аффинные преобразования в пространстве.
- •15. Проецирование. Общий вид преобразований в пространстве. Виды проекций.
- •Общая формула преобразования
- •16. Этапы создания графического объекта. Преобразование положения объекта. Понятие камеры. Особенности матричных преобразований.
- •17. Понятие растрового алгоритма. Понятие связности. Основные требования предъявляемые к растровым алгоритмам.
- •18. Растровое представление отрезка: постановка задачи, простейший алгоритм, алгоритм цда.
- •19. Растровое представление отрезка: постановка задачи, алгоритм Брезенхейма.
- •20. Растровое представление отрезка: построение сглаженной линии (метод Флойда-Стейнберга, модификация алгоритма Брезенхейма, сглаживание всей сцены).
- •21. Растровое представление окружности: постановка задачи, простой алгоритм, алгоритм Брезенхейма.
- •22. Алгоритм закраски области, заданной цветом границы.
- •Задача отсечения Вопрос 23
- •Двумерный алгоритм Коэна-Сазерленда (Кохена-Сазерленда)
- •Двумерный fc-алгоритм
- •Задача отсечения Вопрос 24
- •Двумерный алгоритм Лианга-Барски
- •Задача отсечения Вопрос 25
- •Двумерный алгоритм Кируса-Бека
- •Проверка выпуклости и определение нормалей Вопрос 27 Алгоритм с использованием векторных произведений
- •Разбиение невыпуклых многоугольников. Алгоритм метода при обходе вершин многоугольника против часовой стрелки состоит в следующем:
- •Отсечение многоугольника
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
- •Вопрос 31
- •Пересечение луча с плоскостью и многоугольником Вопрос 32
- •Вопрос34
- •Вопрос 35
- •Вопрос 36
- •Вопрос 37
- •Вопрос 38
- •Вопрос 39
- •Вопрос 40
- •Вопрос 41
- •Вопрос 42
- •Пирамидальное фильтрование (Mip-mapping).
- •Вопрос 43
- •Трассировка лучей
- •Излучательность
- •Вопрос 44
- •Интерактивные системы машинной графики
- •Графические языки высокого уровня
- •Синтаксические расширения алгоритмических языков
- •Процедурные графические языки
- •Вопрос 45
12. Аффинные преобразования, их свойства, однородные координаты.
Для решения таких задач, как движение объектов и их частей, управления камерой применяются аффинные преобразования (АП), рассмотрим их основные свойства:
1) точки, лежащие на одной прямой, после преобразования лежат на одной прямой;
2) пересекающиеся прямые остаются пересекающимися, а параллельные – параллельными;
3) при АП пространства пересекающиеся плоскости остаются пересекающимися, параллельные – параллельными, а скрещивающиеся – скрещивающимися;
4) при АП сохраняются отношения площадей двух квадратов на плоскости и отношение объемов двух кубов в пространстве.
Пусть М - произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно неравных нулю чисел x1, x2, x3, связанных с заданными числами x и y следующими соотношениями:
x
Однородные
координаты
При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке М(х, у) плоскости ставится в соответствие точка М*(х,у,1) в пространстве. Произвольная точка на прямой, соединяющей начало координат, точку 0(0, 0, 0) с точкой М*(х, у, 1), может быть задана тройкой чисел вида (hx, hy, h).
Будем считать, что h0. Вектор с координатами hx, hy, h является направляющим вектором прямой, соединяющей точки 0(0, 0, 0) и М*(х, у, 1). Эта прямая пересекает плоскость z = 1 в точке (х, у, 1), которая однозначно определяет точку (х, у) координатной плоскости ху.
При помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости. В самом деле, считая h = 1, сравним две записи: помеченную символом * и матричную:
Нетрудно заметить, что после перемножения выражений, стоящих в правой части последнего соотношения, мы получим обе формулы (*) и верное числовое равенство 1 == 1. Тем самым сравниваемые записи можно считать равносильными.
Выпишем соответствующие матрицы третьего порядка для базовых аффинных преобразований:
1. Матрица вращения (rotation)
|
2. Матрица растяжения (сжатия) (dilatation)
|
3. Матрица переноса (translation)
|
4. Матрица отражения (reflection)
|
13. Аффинные преобразования на плоскости.
Допустим, на плоскости введена прямолинейная координатная система. Тогда каждой точке М ставится в соответствие упорядоченная пара чисел (х, у) ее координат (рис. 1). Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел - (х*, у*).
Переход от одной прямолинейной координатной системы на плоскости к другой описывается следующими соотношениями:
где ,
,
,
,
,
– произвольные числа, связанные
неравенством
Формулы (*) можно рассматривать двояко: либо сохраняется точка и изменяется координатная система (рис. 2) – в этом случае произвольная точка М остается той же, изменяются лишь ее координаты, либо изменяется точка и сохраняется координатная система (рис. 3) – формулы (*) задают отображение, переводящее произвольную точку M(x,y) в точку М*(х*, у*), координаты которой определены в той же координатной системе.
Рис. 1 |
Рис. 2 |
Рис. 3 |
В дальнейшем мы будем рассматривать формулы (*) как правило, согласно которому в заданной системе прямолинейных координат преобразуются точки плоскости.
В аффинных преобразованиях плоскости особую роль играют несколько важных частных случаев. При исследовании геометрического смысла числовых коэффициентов в формулах (*) для этих случаев нам удобно считать, что заданная система координат является прямоугольной декартовой.
Поворот вокруг начальной точки на угол описывается формулами:
Растяжение (сжатие) вдоль координатных осей можно задать так:
х* = х, у*=у, а > 0, > 0 .
Например, растяжение (сжатие) вдоль оси абсцисс обеспечивается при условии, что > 1 (0 < < 1).
Отражение (относительно оси абсцисс) задается при помощи формул:
х* = х, у* = -у.
Параллельный перенос обеспечивают соотношения
x* = x + ,
у* = у + ..
Выбор этих четырех частных случаев определен двумя обстоятельствами.
Каждое из приведенных преобразований имеет простой и наглядный геометрический смысл (геометрическим смыслом наделены и постоянные числа, входящие в приведенные формулы).
Любое преобразование вида (*) всегда можно представить в виде последовательного исполнения простейших преобразований.
Для эффективного использования этих известных формул более удобной является их матричная запись.
,
,
Этого можно достичь, например, так: перейти к описанию произвольной точки плоскости тройкой чисел.

;
;
;