- •Глава 5 Математический аппарат алгоритмов компьютерной графики
- •5.1. Векторы
- •5.1.1. Свойства векторов
- •5.1.2. Скалярное произведение векторов
- •5.1.3. Векторное произведение векторов
- •5.2. Детерминанты
- •5.2.1. Свойства детерминантов
- •5.3. Однородные координаты
- •5.4. Использование однородных координат
- •5.5. Преобразования на плоскости
- •5.6. Матричная форма записи двумерных преобразований
- •5.7. Заключение
Глава 5 Математический аппарат алгоритмов компьютерной графики
В данной главе рассматриваются:
-
некоторые определения аналитической геометрии;
-
математический аппарат преобразований на плоскости.
Существенным недостатком текущей версии программы Painter является то, что она не позволяет редактировать рисунки. В настоящий момент мы можем только добавлять объекты в рисунок, но не имеем возможности открыть ранее созданный рисунок и изменить расположение объектов, их форму и цвет, порядок, в котором фигуры накладываются друг на друга, удалить лишние детали. Для того чтобы добавить в программу некоторые средства редактирования, нам потребуются несложные математические преобразования, рассмотрению которых и посвящается данная глава.
5.1. Векторы
Вектор — направленный отрезок прямой.
Ниже будут использованы обозначения:
-
P, Q — концевые точки отрезка;
-
a, b, с — векторы;
-
0 — вектор с нулевой длиной;
-
-а — вектор, длиной |a| направленный в сторону, противоположную а;
-
p, т — вещественные числа;
-
|a| — длина вектора, равная расстоянию между концевыми точками.
5.1.1. Свойства векторов
-
При параллельном переносе вектор не изменяется (рис. 5.1).
-
Сумма векторов тоже является вектором: a + b = с (рис. 5.2).
-
Произведение pa — вектор длиной, равной \р\\а\, если p = 0 или a = 0, то pa = 0 (рис. 5.3);
-
если p > 0, результирующий вектор совпадает по направлению с а;
-
если p < 0, результирующий вектор имеет направление, противоположное а.
-
a =b
Рис. 5.1. Параллельный перенос векторов
а + b = с
Рис. 5.2. Сумма векторов
Рис. 5.3. Произведение векторов
Для векторов выполняются следующие правила:
-
а + b = b + а;
-
(а + b) + с = а + (b + с);
-
a + 0 = a;
-
a + (-а) = 0;
-
р(а + b) = ра + рb;
-
(р + m)а = ра + mа;
-
1а = а;
-
0а=0.
В прямоугольной системе координат направление осей задается тройкой перпендикулярных единичных векторов.
Система координат называется правой, если при повороте от вектора i к вектору j на 90°, направление вектора k совпадает с поступательным движением винта с правой резьбой (рис. 5.4). Начальная точка векторов обозначается буквой О.
Рис. 5.4. Правая система координат
Любой вектор V может быть записан в виде линейной комбинации i, j, k: V= xi + yj + zk, где x, у, z — координаты конечной точки Р вектора V= ОР. Вектор V можно записать также в матричном виде:
5.1.2. Скалярное произведение векторов
Скалярное произведение векторов а и b обозначается а • b и определяется так:
а • b = |a||b|cosγ, (5.1)
где γ – угол между a и b. Скалярное произведение это число p = а • b. Применяя выражение (5.1) к единичным векторам i, j, k, находим:
i • i = j • j= k • k = 1; i • j = j • i = j • k = k • j = k • i = i • k = 0. (5.2)
Свойства скалярного произведения:
-
p(ma • b) = pm(a • b);
-
(pa + mb) с = pa • с + mb • c;
-
a • b = b • a;
-
a • a = 0, если a = 0.
Скалярное произведение векторов a = [a1, a2, a3] и b = [b1, b2, b3]:
а • b = a1b1 + a2b2 + a3b3. (5.3)
Соотношение (5.3) следует из а • b = (a1i + a2j + a3k) • (b1i + b2 j + b3k) с учетом свойств скалярного произведения и соотношения (5.2).