- •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
Пересечение луча с плоскостью и многоугольником Вопрос 32
Пересечение луча с плоскостью
Пусть плоскость задана общим уравнением:
где N=(A, B, C) — нормальный вектор плоскости.
Заменяя в уравнении плоскости величины x, y и z их выражениями, получим линейное уравнение относительно t:
Разрешая его, находим, что
Если
лен плоскости и, следовательно, не пересекает ее.
В случае t*<0 луч не пересекает плоскости.
Если t*>0 то координаты точки пересечения вычисляются подстановкой в выражения полученного значения
Пересечение луча с многоугольником
В данном случае задача разбивается на две:
1) нахождение пересечения луча с плоскостью, в которой лежит многоугольник;
2) проверка принадлежности точки пересечения многоугольнику.
Решение первой части задачи рассмотрено в предыдущем разделе. Остается проверить принадлежность полученной точки многоугольнику.
Решение будет состоять из следующих шагов:
• нахождения пересечения плоскости треугольника с отрезком;
• проверки: лежит ли точка пересечения внутри треугольника. Нахождение точки пересечения луча с плоскостью рассмотрено
в предыдущем разделе. Проверим, лежит ли полученная точка внутри треугольника.
Способ, которым мы воспользуемся, опирается на то, что сумма внутренних углов вида "вершина-точка-вершина" равна 2π, если точка внутри треугольника. Для точки вне треугольника эта сумма будет меньше. Очевидно, сумма берется для одной точки — точки пересечения линии и плоскости, и по всем сочетаниям вершин.
Если мы вычислим единичные векторыPa1, Pa2, Pa3
тогда углы будут равны
Пересечение луча с прямоугольным параллелепипедом. Вопрос33
Прямоугольный параллелепипед со сторонами, параллельными координатным плоскостям, однозначно определяется любыми двумя своими вершинами, примыкающими к одной из его диагоналей.
Пусть прямоугольный параллелепипед задан вершинами
При l = 0 луч параллелен этим плоскостям и, если X0=x- или X0=x+, не пересекает рассматриваемый прямоугольный параллелепипед. Если же луч непараллелен этим плоскостям, то вычисляем отношения:
Можно считать, что t1x <t2x (в противном случае меняем их местами). Положим tnear=t1x, tfar=t2x
Считая, что m не равно нулю, и рассматривая вторую пару плоскостей, несущих грани заданного параллелепипеда, y=y-_ и y=y+, находим величины
если t1y<tnear , полагаем tnear =t 1y, если t2y >t far, полагаем tfar = t2y, при
tnear >tfar ии при tfar<0 заданный луч проходит мимо прямоугольного параллелепипеда.
Считая, что n не равно нулю, рассматриваем последнюю пару плоскостей z=z- и z=z+ находим величины:
и повторяем предыдущие сравнения.
Если в итоге мы получим, что 0 < tnear <t far или 0 < tfar, то заданный луч непременно пересечет исходный параллелепипед со сторонами, параллельными координатным осям.
Если луч проходит через прямоугольный параллелепипед (при этом считается, что начальная точка луча лежит вне параллелепипеда), то расстояние от начала луча до точки его входа в параллелепипед равно tnear, а до точки выхода tfar соответственно.