Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы КГ.docx
Скачиваний:
6
Добавлен:
07.08.2019
Размер:
59.78 Кб
Скачать
  1. Аффинные преобразования объектов на плоскости. Матричные преобразования: сдвиг, растяжение-сжатие, поворот.

Элементарные аффинные преобразования на плоскости

Любые преобразования изображений на экране дисплея сводятся к преобразованиям отдельных точек, составляющих растровое изображение. К элементарным преобразованиям точки относят преобразования переноса, масштабирования (сжатия, растяжения), поворота (вращения), зеркального отражения. Из аналитической геометрии известно, что любые сложные преобразования точки можно получить последовательностью (композицией, суперпозицией) элементарных преобразований. В декартовой системе координат произвольная точка М на плоскости представляется парой чисел (x,y) или в векторном виде M= [x y].

Перенос точки М с координатами (x,y) относительно начала координат в точку М* с координатами (x*, y*) математически описывается следующим образом:                                                

x*= x + Tx;

y*= y + Ty,

где Tx,  Ty – коэффициенты переноса. В векторной форме преобразование переноса имеет вид: M*= M + T, где M = [x y], M*=[x* y*], T= [Tx Ty]. Преобразование переноса иллюстрируется рисунком 1.

Поворот точки на угол φ относительно начала координат (рис.2) выполняется в соответствии со следующими формулами:

В векторной форме преобразование поворота имеет вид: М*=М · R,

Масштабирование точки может выполняться относительно начала координат по обеим осям X и Y через коэффициенты масштабирования Sx и Sy. Координаты точки после масштабирования определяются в соответствии с выражениями:  x*= x · Sx; y*= y · Sy, или в векторной форме  М*= М · S,

Эти формулы в зависимости от значений коэффициентов  Sx и Sy описывают либо растяжение, либо сжатие вдоль соответствующих координатных осей. Например, при  заданный прямоугольник с вершинами О и М растягивается вдоль оси абсцисс (с коэффициентом Sx) и сжимается вдоль оси ординат (с коэффициентом Sy) (рис.3а), а при  этот прямоугольник сжимается вдоль оси абсцисс и растягивается вдоль оси ординат.

Зеркальное отражение относительно оси абсцисс  записывается при помощи формул:

а относительно оси ординат   при помощи формул:

Рассмотренные элементарные преобразования в компьютерной графике обычно выполняются в однородных координатах, обладающим тем свойством, что определяемый ими объект не меняется при умножении всех координат на одно и то же число. Введение однородных координат позволяет унифицировать все элементарные преобразования, которые получаются с использованием только операции умножения.

В однородных координатах точка М(х,у) записывается как трёхкомпонентных вектор с некоторым произвольным масштабным множителем . Связь между декартовыми и однородными координатами устанавливается следующим образом:

Обычно удобно использовать множитель W=1. Тогда соотношение декартовых и однородных координат выглядит совсем просто: , а запись точки в однородных координатах имеет вид .

Если обозначить исходную точку М вектором , тогда преобразованная точка .

Преобразование переноса точки в однородных координатах можно выразить как:

где – матрица переноса.

Преобразование масштабирования точки имеет вид:

где – матрица масштабирования.

Аналогично можно записать преобразование поворота точки в однородных координатах:

где – матрица поворота.

  1. Математические основы компьютерной графики: связь преобразований объектов с преобразованиями координат

Связь преобразований объектов с преобразованиями координат. Преобразование объектов и преобразование систем координат тесно связанно между собой. Движение объектов можно рассматривать как движение в обратном направлении соответствующей системы координат.

С каждым объектом можно связывать как собственную локальную систему координат, так и единую для нескольких объектов.

  1. Типы проекций

Параллельные проекции делятся на два типа в зависимости от соотношения между направлением проецирования и нормалью к проекционной плоскости

1)       ортографические – направления совпадают, т. е. направление проецирования является нормалью к проекционной плоскости;  

2)       косоугольные – направление проецирования и нормаль к проекционной плоскости не совпадают.

Центральная проекция любой совокупности параллельных прямых, которые не параллельны проекционной плоскости, будет сходиться в точке схода. Точек схода бесконечно много.

  1. Мировые, экранные координаты: виды преобразований координат

Мировые: каждый объект индивидуален и имеет свои координаты.

Видовая: Вид из камеры, часть объекта отсекается.

Проекционная: вид по контору. Увеличение или уменьшение.

Экранный: то что мы видим на мониторе, ПК, ТВ.

  1. Базовые растровые алгоритмы.

Алгоритм вывода прямой линии

Поскольку экран растрового дисплея с электронно-лучевой трубкой (ЭЛТ) можно рассматривать как матрицу дискретных элементов (пикселов), каждый из которых может быть подсвечен, нельзя непосредственно провести отрезок из одной точки в другую. Процесс определения пикселов, наилучшим образом аппроксимирующих заданный отрезок, называется разложением в растр. В сочетании с процессом построчной визуализации изображения он известен как преобразование растровой развертки. Для горизонтальных, вертикальных и наклоненных под углом 45°. отрезков выбор растровых элементов очевиден. 

Алгоритм Брезенхема.

Хотя алгоритм Брезенхема был первоначально разработан для цифровых графопостроителей, однако он в равной степени подходит для использования растровыми устройствами с ЭЛТ. Алгоритм выбирает оптимальные растровые координаты для представления отрезка. В процессе работы одна из координат - либо x, либо y (в зависиимости от углового коэффициента) - изменяется на единицу. Изменение другой координаты (на 0 или 1) зависит от расстояния между действительным положением отрезка и ближайшими координатами сетки. Такое расстояние мы назовем ошибкой.

Общий алгоритм Брезенхема.

Чтобы реализация алгоритма Брезенхема была полной необходимо обрабатывать отрезки во всех октантах. Модификацию легко сделатть, учитывая в алгоритме номер квадранта, в котором лежит отрезок и его угловой коэффициепт. Когда абсолютная величина углового коэффициента больше 1, у постоянно изменяется на единицу, а критерий ошибки Брезенхема используется для принятия решения об изменении величины x. Выбор постоянно изменяющейся (на +1 или -1) кооординаты зависит от квадранта 

  1. Инкрементные алгоритмы

Инкрементные алгоритмы выполняются как последовательное вычисление координат соседних пикселов путём добавления приращений координат. Приращения рассчитываются на основе анализа функции погрешности. В цикле выполняются только целочисленные операции сравнения и сложения/вычитания. Достигается повышение быстродействия для вычислений каждого пиксела по сравнению с прямым способом.

  1. Алгоритмы закрашивания

Алгоритм закрашивания очень часто используется в компьютерной графике для закрашивания фигур имеющих границы. Так же этот алгоритм может иметь и другое применение например его можно использовать для нахождения центра масс тела по его изображению. Приведу два алгоритма один рекурсивный, а второй линейный. Рекурсивный имеет один недостаток, его нельзя использовать для закрашивания больших фигур так как при большом количестве элементов происходит переполнение стека. 

Рекурсивный алгоритм

Реку́рсия — метод определения класса объектов или методов предварительным заданием одного или нескольких (обычно простых) его базовыхслучаев или методов, а затем заданием на их основе правила построения определяемого класса, ссылающегося прямо или косвенно на эти базовые случаи.

Волново́й алгори́тм — алгоритм, позволяющий найти минимальный путь в графе с рёбрами единичной длины. Основан на алгоритме поиска в ширину. Применяется для нахождения кратчайшего пути в графе, в общем случае находит лишь его длину.