- •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
Вопрос 29
Задачи вычислительной геометрии: построение выпуклой оболочки. Простейший алгоритм построения выпуклой оболочки. Построение выпуклой оболочки по Грехему (метод обхода Грехема). Диаметр множества.
Если представить резиновый шнур, натянутый на множество точек, то это и будет выпуклая оболочка для данного множества точек.
Определение 1. Область D, принадлежащая пространству E2, будет называться выпуклой, если для любой пары точек q1 и q2 из D отрезок q1q2 целиком принадлежит D.
Так как алгоритмы имеют дело с границей выпуклой, то введем для нее обозначение CH(L) и будем ее также называть выпуклой оболочкой.
Задача ВО1. (Выпуклая оболочка). В E2 задано множество S, содержащее N точек. Требуется построить их выпуклую оболочку (т.е. полное описание границы CH(S)).
Простейшие алгоритмы
Определение 1. Точка p выпуклого множества S называется крайней, если не существует пары точек a, b S, таких, что p лежит на открытом отрезке ab.
Для нахождения выпуклой оболочки необходимо выполнить два шага:
• Определить крайние точки.
• Упорядочить эти точки так, чтобы они образовали выпуклый многоугольник.
Теорема 1. Точка p не является крайней точкой множества S только тогда, когда она лежит в некотором треугольнике, вершины которого принадлежат S, но сама она не является вершиной этого треугольника.
Эта теорема дает возможность построить алгоритм проверки крайности точки. Следующая теорема показывает, в каком порядке должны быть точки в конечном множестве.
Теорема 2. Последовательные вершины выпуклого многоугольника располагаются в порядке, соответствующем изменению угла относительно любой внутренней точки.
Построение выпуклой оболочки по Грехэму
Пусть центр координат в какой-нибудь внутренней точке. Упорядочим точки относительно полярного угла, если таковые совпадают относительно расстояния от центра координат. Так как обе точки лежат на одной прямой, проходящей через центр координат, то для сравнения нет необходимости вычислять расстояние, а можно сравнивать сумму абсолютных значений координат.
Отсортированные точки следует поместить в двусвязный список. Так как внутренние точки принадлежат некоторому треугольнику (Opq), где p и q - соседние вершины на выпуклой оболочки. Сущность алгоритма в последовательном просмотре отсортированного списка и удалении внутренних вершин. Оставшиеся точки будут являться вершинами выпуклой оболочки.
Просмотр начнем с точки, являющейся вершиной ВО. Для этого можно взять точку с минимальной абсциссой, а если их несколько, то и с минимальной ординатой и пометить как начальную. После чего обходим список, начиная с нее, против часовой стрелки и проверяем внутренний угол для текущей точки. Если он больше либо равен π, то удаляем вершину, в противном случае переходим к следующей. Так как за каждый просмотр мы или удаляем одну вершину, или переходим к следующей, а просмотр заканчиваем при достижении началь- ной вершины, которая не будет удалятся, то мы выполняем не более N шагов. Рассмотренный метод называют методом обхода Грэхема.