- •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
Вопрос 37
Удаление скрытых линий и поверхностей: алгоритм разбиения области Варнока
Алгоритм работает в пространстве изображения и анализирует область на экране дисплея (окно) на наличие в них видимых элементов. Если в окне нет изображения, то оно просто закрашивается фоном. Если же в окне имеется элемент, то проверяется, достаточно ли он прост для визуализации. Если объект сложный, то окно разбивается на более мелкие, для каждого из которых выполняется тест на отсутствие и/или простоту изображения. Рекурсивный процесс разбиения может продолжаться до тех пор, пока не будет достигнут предел разрешения экрана.
Можно выделить 4 случая взаимного расположения окна и многоугольника:
1. Многоугольник целиком вне окна - все многоугольники сцены — внешние по отношению к окну. В этом случае окно закрашивается фоном.
2. Многоугольник целиком внутри окна - имеется всего один внутренний или пересекающий многоугольник. В этом случае все окно закрашивается фоном и затем часть окна, соответствующая внутреннему или пересекающему окну, закрашивается цветом многоугольника.
3. Многоугольник пересекает окно — имеется единственный охватывающий многоугольник. В этом случае окно закрашивается его цветом.
4. Многоугольник охватывает окно - имеется несколько различных многоугольников, и хотя бы один из них охватывающий. Если при этом охватывающий многоугольник расположен ближе остальных к наблюдателю, то окно закрашивается его цветом.
В любых других случаях процесс разбиения окна продолжается. Легко видеть, что при растре 1024×1024 и делении стороны окна пополам требуется не более 10 разбиений. Если достигнуто максимальное разбиение, но не обнаружено ни одного из приведенных выше четырех случаев, то для точки с центром в полученном минимальном окне (размером в пиксель) вычисляются глубины оставшихся многоугольников, и закраску определяет многоугольник, наиболее близкий к наблюдателю. При этом для устранения лестничного эффекта можно выполнить дополнительные разбиения и закрасить пиксель с учетом всех многоугольников, видимых в минимальном окне.
Вопрос 38
Удаление скрытых линий и поверхностей: алгоритм трассировки лучей (прямая и обратная, методы оптимизации).
При рассмотрении этого алгоритма предполагается, что наблюдатель находится на положительной полуоси z, а экран дисплея перпендикулярен оси z и располагается между объектом и наблюдателем.
Удаление невидимых (скрытых) поверхностей в алгоритме трассировки лучей выполняется следующим образом:
- Сцена преобразуется в пространство изображения.
- Из точки наблюдения в каждый пиксель экрана проводится луч, и определяется, какие именно объекты сцены пересекаются с лучом.
- Вычисляются и упорядочиваются по z координаты точек пересечения объектов с лучом. В простейшем случае для непрозрачных поверхностей без отражений и преломлений видимой точкой будет точка с максимальным значением z-координаты. Для более сложных случаев требуется сортировка точек пересечения вдоль луча.
Очевидно, что повышение эффективности может достигаться сокращением времени вычисления пересечений и избавлением от ненужных вычислений. Последнее обеспечивается использованием геометрически простой оболочки, объемлющей объект — если луч не пересекает оболочку, то не нужно вычислять пересечения с ним многоугольников, составляющих исследуемый объект.
При использовании прямоугольной оболочки определяется преобразование, совмещающее луч с осью z. Оболочка подвергается этому преобразованию, а затем попарно сравниваются знаки xmin с xmax и ymin с ymax. Если они различны, то есть пересечение луча с оболочкой.
При использовании сферической оболочки для определения пересечения луча со сферой достаточно определить расстояние от луча до центра сферы. Если оно больше радиуса, то пересечения нет.
Дальнейшее сокращение расчетов пересечений основывается на использовании групп пространственно связанных объектов. Каждая такая группа окружается общей оболочкой. Получается иерархическая последовательность оболочек, вложенная в общую оболочку для всей сцены. Если луч не пересекает какую-либо оболочку, то из рассмотрения исключаются все оболочки, вложенные в нее, и, следовательно, объекты. Если же луч пересекает некоторую оболочку, то рекурсивно анализируются все оболочки, вложенные в нее.