Лекция 13 Координатный метод задания объектов на плоскости и в пространстве

Лекция 13

Методы двухмерной графики

Координатный метод задания объектов на плоскости и в пространстве. Преобразование координат. Алгоритмы вывода линий. Алгоритмы закрашивания фигур.

Координатный метод задания объектов на плоскости и в пространстве. Преобразование координат

 

Фундаментом компьютерной графики является аналитическая геомет­рия, в основе которой лежит координатный метод — задание положения точек и объектов на плоскости или в пространстве с помощью системы координат. Наиболее часто используются прямоугольная или Декартова система координат, что связано как с ее широким применением в аналитичес­кой геометрии, так и с тем, что координаты пикселов в дисплеях и печатающих устройствах также задаются в прямоугольной системе координат.

Рассмотрим особенности координатного метода на плоскости. Положение точки в этом случае задается двумя числами — координатами x и y, рис. 13.1 а. Положение некоторого объекта может быть задано координатами некоторой базовой точки, являющейся центром его собственной (локальной) системы координат, и углом поворота этой системы координат относительно глобальной системы координат, связанной с экраном дисплея или листом бумаги в прин­тере. Пересчет координат точек из одной в другую систему координат называ­ется преобразованием координат.

Пусть существует некий объект, имеющий свою систему координат (x, y), рис. 13.1 б. Форма объекта определяется набором точек, положение которых задано координатами в системе (x, y). Для того, чтобы отобразить его в некотором положении на экране, листе бумаги или в некотором более сложном изображении, необходимо пересчитать координаты этих точек в глобальную систему координат (X, Y). Пусть положение объекта задано координатами центра его локальной системы координат (X0, Y0) и углом поворота α. Рассмот­рим три частных случая преобразования координат.

1. Сдвиг — центр локальной системы координат смещен в точку (X0, Y0), угол поворота равен нулю, рис. рис. 13.1 в. Координаты некоторой точки A объекта в новой системе координат составят:

(13.1)

где x, y – координаты точки A в системе координат объекта.

2. Поворот вокруг центра координат локальной системы на угол α, рис. 13.1 г. :

(13.2)


3. Масштабирование (сжатие/растяжение) с центром в начале коорди­нат — увеличение или уменьшение объекта, определяемое коэффициентами масштабирования kx и ky, рис. 13.1 д.:

(13.3)

Если kx = ky — объект масштабируется пропорционально; в противном случае происходит деформация объекта — неодинаковое растяжение или сжатие по разным направлениям.

Как видно из рис. 13.1 е., последовательно применяя масштабирование, поворот и смещение координат, можно расположить некоторый объект (геометрический примитив или фрагмент изображения) в произвольном положе­нии. При этом формулы для пересчета координат будут иметь вид:

(13.4)

Подобные преобразования координат в аналитической геометрии назы­вают аффинными. В общем виде они могут быть записаны в виде системы уравнений

(13.5)

Преобразования координат удобно выполнять в матричном виде. Конс­тан­ты A, B, …, F образуют матрицу преобразования, которая, будучи умно­женной на матрицу-столбец координат (x, y), дает матрицу-столбец (X, Y). Чтобы учесть константы C и F, необходимо перейти к так называемым одно­родным координатам — добавить еще одну строку со значением, равным 1. Тогда (13.5) можем записать в виде

, (13.6)

или

, (13.7)

где w и W – матрицы координат в исходной и новой системах; А – матрица преобразования. Например для операций смещения, поворота и масштабиро­вания получим матрицы соответственно

(13.8)

(13.9)

(13.10)

Тогда преобразование (13.4) запишем как

. (13.11)

 

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

Многие современные программы (векторные графические редакторы, САПР, математические и другие специальные программы) работают с изобра­же­ниями,… Поскольку практически все современные средства отображения графики (дисплеи,… Для того, чтобы преобразовать в растр линию, необходимо изменить цвет пикселов, по которым эта линия проходит, рис.…

Кривые Безье

Кривые Безье описываются в параметрической форме: {x = fx(t), у = fy(t)}. Значение t выступает как параметр, которому соответствуют координаты… Многочлены Безье в общем имеют такой вид: (13.17)

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

Фигурой будем считать плоский геометрический объект, который состоит из ли­ний контура и точек заполнения, которые помещаются внутри контура.… Графический вывод фигур делится на две задачи; вывод контура и вывод точек… Для вывода точек заполнения известны методы, которые разделяются в зависимости от ис­пользования контура на два…

Стиль линии. Перо. Алгоритмы вывода толстой линии

Возможности алгоритмов, описанных в предыдущих пунктах, ограничены выводом линии толщиной в 1 пиксел. Очевидно, что для построения качественных…   Для описания разных по виду изображений на основе линий используют термины стиль линий и перо. Термин перо ино­гда…