- •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
Задача отсечения Вопрос 24
Если изображение выходит за пределы экрана, то на части дисплеев увеличивается время построения за счет того, что изображение строится в "уме". В некоторых дисплеях это приводит к искажению изображения. Поэтому требуется выполнения отсечения сцены по границам окна видимости.
Двумерный алгоритм Лианга-Барски
В 1982 г. Лианг и Барски предложили алгоритмы отсечения прямоугольным окном с использованием параметрического представления для двух, трех и четырехмерного отсечения.
Продолжим каждую из четырех границ окна до бесконечных прямых. Каждая из таких прямых делит плоскость на 2 области. Назовем "видимой частью" ту, в которой находится окно отсечения.Пусть конечные точки отрезка есть V0 и V1 с координатами (x0,y0) и (x1,y1), соответственно. Тогда параметрическое представление линии может быть задано следующим образом:
Или в общем виде для отрезка, заданного точками V0 и V1: V(t) = V0 + (V1 - V0) · t
Для точек V0 и V1 параметр t равен 0 и 1, соответственно. Меняя t от 0 до 1 перемещаемся по отрезку V0V1 от точки V0 к точке V1. Изменяя t в интервале от -∞ до +∞, получаем бесконечную (далее удлиненную) прямую, ориентация которой - от точки V0 к точке V1.
Подставляя параметрическое представление, заданное уравнениями, в неравенства, получим следующие соотношения для частей удлиненной линии, которая находится в окне отсечения:
-dx·t ≤ x0 - Xлев и dx·t ≤ Xправ - x0,
-dy·t ≤ y0 - Yниз и dy·t ≤ Yверх - y0.
Заметим, что в этих соотношениях - неравенства, описывающие внутреннюю часть окна отсечения, в то время как равенства определяют его границы. Рассматривая неравенства, они имеют одинаковую форму вида: Pi·t ≤ Qi для i = 1,2,3,4.
Тогда каждое неравенство задает диапазон значений параметра t, для которых эта удлиненная линия находится на видимой стороне соответствующей линии границы. Более того, конкретное значение параметра t для точки пересечения есть t = Qi/Pi. Причем знак Qi показывает на какой стороне соответствующей линии границы находится точка V0. А именно, если Qi ≥ 0, тогда V0 находится на видимой стороне линии границы, включая и ее. Если же Qi < 0, тогда V0 находится на невидимой стороне. Ясно, что любое Pi может быть меньше 0, больше 0 и равно 0.
Задача отсечения Вопрос 25
Если изображение выходит за пределы экрана, то на части дисплеев увеличивается время построения за счет того, что изображение строится в "уме". В некоторых дисплеях это приводит к искажению изображения. Поэтому требуется выполнения отсечения сцены по границам окна видимости.
Двумерный алгоритм Кируса-Бека
во многих случаях требуется отсечение по произвольному многоугольнику, например, в алгоритмах удаления невидимых частей сцены. В этом случае наиболее удобно использование параметрического представления линий, не зависящего от выбора системы координат.
Так как многоугольник предполагается выпуклым, то может быть только две точки пересечения отрезка с окном. Пусть Ni - внутренняя нормаль, а P = V1 - V0 - вектор, определяющий ориентацию отсекаемого отрезка, тогда ориентация отрезка относительно i-й стороны окна определяется знаком скалярного произведения Pi = Ni ·V, равного произведению длин векторов на косинус наименьшего угла, требуемого для поворота вектора Ni до совпадения по направлению с вектором V: Pi = Ni ·P = Ni ·(V1 - V0). (2)
При Pi < 0 отсекаемый отрезок направлен с внутренней на внешнюю стороны
При Pi = 0 точки V0 и V1 либо совпадают, либо отсекаемый отрезок параллелен i-й
При Pi > 0 отсекаемый отрезок направлен с внешней на внутреннюю сторону
a) Изнутри наружу |
б) Параллельно границе |
в) Снаружи внутрь |
Рассмотрим теперь скалярное произведение внутренней нормали Ni к i-й границе на вектор Q(t) = V(t) - Fi, начинающийся в начальной точке ребра окна и заканчивающийся в некоторой точке V(t) удлиненной линии. Qi = Ni ·Q = Ni ·[V(t) - Fi]
-
При Qi < 0
точка V(t) лежит с внешней стороны границы
(5)
При Qi = 0
точка V(t) лежит на самой границе
При Qi > 0
точка V(t) лежит с внутренней стороны границы
a) Точка V вне |
б) Точка V на границе |
в) Точка V внутри |
Это уравнение и используется для вычисления значений параметров, соответствующих начальной и конечной точкам видимой части отрезка.
Как следует из (2), Pi равно нулю если отрезок либо вырожден в точку, либо параллелен границе. В этом случае следует проанализировать знак Qi и принять или не принять решение об отбрасывании отрезка целиком в соответствии с условиями (2).
Если же Pi не равно 0, то уравнение (9) используется для вычисления значений параметров t, соответствующих точкам пересечений удлиненной линии с линиями границ.