- •1. Предмет кг. Области применения кг. Совр. Тенденции развития кг.
- •2. История развития кг. Современные тенденции развития кг.
- •3. Основные понятия кг. Аппаратное обеспечение кг. Принципы формирования изобр.
- •4. Архитектура рабочих станций. Графический ускоритель. Арi.
- •5. Архитектура графических рабочих станций. Технологии 3d графики.
- •6. Архитектура графических рабочих станций. Принципы конвейерной архитектуры.
- •7. Общие положения алгоритмов сжатия изображений.
- •8. Алгоритмы архивации без потерь: rle, lz/lzw, Хаффман.
- •9. Алгоритмы архивации с потерями, проблемы алгоритмов архивации с потерями. Основные идеи алгоритмов jpeg, фрактальный, волновой.
- •10. Геометрическое моделирование и решаемые им задачи…
- •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
Вопрос 30
Задачи вычислительной геометрии: задача о ближайшей паре. Метод «Разделяй и властвуй для плоского случая».
Алгоритмы типа "разделяй и властвуй"
В данном алгоритме в отличие от предыдущего множество S разбивается на два равномощных подмножества S’ и S’', а затем рекурсивно строятся отдельно оболочки для каждого из них и объединяются
СH(S )= CH(S ' S’’) = CH(H(S') CH(S'')).
Сложность этого метода состоит в эффективном нахождении слияния двух выпуклых оболочек. Следующий алгоритм слияния был предложен Шеймосом.
Пусть есть выпуклые многоугольники P’ иP’’. Требуется найти Р - их слияние. Для этого берется любая внутренняя точка р для P' и проверяется на принадлежность P’’. Если она принадлежит, то по теореме 4 мы имеем два множества, упорядоченных относительно полярного угла к p. За время, равное сумме точек в них, можно из них получить один упорядоченный список, после чего, используя обход Грэхема, за такое же время получить требуемый выпуклый многоугольник.
В случае, когда p не принадлежит Р , нужно найти левую и правую опорные прямые изp к P’’,pl иpr соответственно. Опорной прямой к выпуклому многоугольнику P будем называть прямую l, проходящую через некоторую вершину этого многоугольника таким образом, что внутренняя часть P находится по одну сторону от l. Для этого нам достаточно время O(N). Все вершины Р" между lиr при движении от l к r против часовой стрелки не рассматриваем и выполняем те действия, которые выполняли в случае принадлежности.
Теорема 4. Выпуклая оболочка объединения двух выпуклых многоугольников может быть найдена за время, пропорциональное суммарному числу их вершин.
Задача о ближайшей паре
Постановка задачи: задано N точек, необходимо найти пару наиболее близких точек.
Простейший алгоритм заключается в переборе всех пар точек и сравнении расстояний между ними. Всего N(N-1) пар, таким образом, сложность алгоритма O(N ).
Для повышения эффективности применяются методы семейства «разделяй и властвуй».
Разобьем множество точек пополам прямой
Найдем ближайшую пару в каждой половине (например, простым перебором), пусть минимальные расстояния соответственно равны l1 и l2. Для объединения решений необходимо учесть расстояние между точками, ближайшими к линии. Для этого найдем минимальное из двух расстояний /3 =min(,l2). Проведем параллельно
разбивающей прямой две прямые на расстоянии l3 от нее. Среди точек, попавших в получившиеся полосы, найдем ближайшую пару l4. Тогда минимальное расстояние равно
llmin=min(3,l4).
Вопрос 31
Пересечение луча со сферой
Сфера радиуса r c центром в точке C(xc, yc, zc) описывается уравнением вида:
Для того, чтобы найти точку пересечения заданного луча с этой сферой, заменим величины x, y и z в последней формуле их выражениями :
Приведем дан ное уравнение к виду
At2+Bt + C= 0
где
Если у уравнения нет вещественных корней, то нет пересечения луча со сферой.
Наименьший положительный корень этого уравнения определяет на луче ближайшую точку пересечения луча со сферой. Пусть t* такой корень. Тогда координаты точки M(x*,y*,z*) пересечения заданного луча со сферой определяются по формулам:
а единичный вектор нормали в этой точке равен