- •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
6. Архитектура графических рабочих станций. Принципы конвейерной архитектуры.
Описывая технологии, применяемые в 3D-графических акселераторах, попробуем разобраться, каким же образом применение всех эффектов позволяет получить целостную картину. 3D-графика реализуется с помощью многоступенчатого механизма, называемого конвейером рендеринга.
Конвейерная обработка позволяет ускорить выполнение расчетов за счет того, что вычисления для следующего объекта могут быть начаты до окончания вычислений предыдущего. Конвейер рендеринга может быть разделен на 2 стадии: геометрическая обработка и растеризация.
1) Подготовка отсечения
Масштабирование
Освещение
Разбиение на примитивы
2) Удаление невидимых поверхностей
Z-Buffer, текстурирование
Туман
Прозрачность
Сглаживание
Pixel
Графический конвейер на стадии геометрической обработки выполняется преобразование координат (вращение, перенос и масштабирование всех объектов), отсечение невидимых частей объектов, расчет освещения, определение цвета каждой вершины с учетом всех световых источников и процесс деления изображения на более мелкие формы. Для описания характера поверхности объекта она делится на всевозможные многоугольники. Наиболее часто используется деление на треугольники и четырехугольники. Координаты объектов переводятся из вещественного в целочисленное представление для ускорения вычислений. На этапе рендеринга применяются эффекты в следующей последовательности: удаление скрытых поверхностей, наложение с учетом перспективы текстур с использованием z-буфера, применение эффектов тумана и полупрозрачности. После этого очередная точка считается готовой к помещению в буфер со следующего кадра. В отличие от геометрического этапа, зависящего от вычислительной мощности процессора, выполняющего все вычисления, этап рендеринга интенсивно использует ресурсы памяти. Для каких целей используется память, установленная на плате 3D-акселератора. В ней дополнительно хранятся текстуры, z-буфер и буфер следующего кадра.
Пересечение луча с плоскостью и многоугольником Вопрос 32
Пересечение луча с плоскостью
Пусть плоскость задана общим уравнением:
где N=(A, B, C) — нормальный вектор плоскости.
Заменяя в уравнении плоскости величины x, y и z их выражениями, получим линейное уравнение относительно t:
Разрешая его, находим, что
(a обращается в нуль), то луч параллелен плоскости и, следовательно, не пересекает ее.В случае t*<0 луч не пересекает плоскости.Если t*>0 то координаты точки пересечения вычисляются подстановкой в выражения полученного значения
Если
Пересечение луча с многоугольником
В данном случае задача разбивается на две:
1) нахождение пересечения луча с плоскостью, в которой лежит многоугольник;
2) проверка принадлежности точки пересечения многоугольнику.
Решение первой части задачи рассмотрено в предыдущем разделе. Остается проверить принадлежность полученной точки многоугольнику.
Решение будет состоять из следующих шагов:
• нахождения пересечения плоскости треугольника с отрезком;
• проверки: лежит ли точка пересечения внутри треугольника. Нахождение точки пересечения луча с плоскостью рассмотрено
в предыдущем разделе. Проверим, лежит ли полученная точка внутри треугольника.
Способ, которым мы воспользуемся, опирается на то, что сумма внутренних углов вида "вершина-точка-вершина" равна 2π, если точка внутри треугольника. Для точки вне треугольника эта сумма будет меньше. Очевидно, сумма берется для одной точки — точки пересечения линии и плоскости, и по всем сочетаниям вершин.
Если мы вычислим единичные векторы Pa1, Pa2, Pa3
тогда углы будут равны
Билет 22