- •Глава 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.1.3. Векторное произведение векторов
Векторное произведение векторов а и b обозначается a × b. Результатом векторного произведения является вектор: с = a × b.
Свойства векторного произведения:
-
Если a = pb, где р — скаляр, то с = a × b = 0, иначе длина вектора с равна:
|c| = |a||b|sinγ, (5.4)
где γ — угол между векторами а и b. Направление вектора с перпендикулярно а и b и таково, что a, b, с именно в таком порядке образуют правостороннюю тройку. Это означает, что если а поворачивается на угол меньше 180° по направлению к вектору b, то вектор с имеет направление, совпадающее с направлением поступательного движения винта с правой нарезкой при таком повороте.
-
Пусть р — некоторая константа, тогда справедливы соотношения:
(ра) × b = р(а × b);
а × (b + с) = а × b + а × с;
а × b = -b × а;
в общем случае а × (b × с) ≠ (а × b) × с.
-
Для правой ортогональной системы координат, определяемой вектора i, j, k, справедливы соотношения: i × i = j × j = k × k = 0; i × j = k; j × k = i; k × i = j; j × i = -k; k × j= -j; i × k = -j. Учитывая эти соотношения для векторного произведения, имеем:
а × b = (a1i + a2j + a2k) × (b1i + b2j + b2k),
отсюда получаем:
а × b = (а2b3 — a3b2)i + (а3b1 — a1b2)j + (а1b2 — а2b1)k. (5.5)
Правая часть уравнения (5.5) является выражением детерминанта третьего порядка (5.11). Отсюда выражение (5.5) может быть записано в матричной форме:
(5.6)
5.2. Детерминанты
Рассмотрим систему уравнений:
(5.7)
Чтобы решить систему (5.7), умножим первое уравнение на b2, а второе на –b1 и сложим, получим: (a1b2 - а2b1)х = b2с1 - b1с2. Затем первое уравнение умножим на -а2, а второе — на а1 и сложим, в результате получим: (а1b2 - а2b1)у = а1с2 - а2с1,
если a1b2 - а2b1 ≠ 0, то:
(5.8)
Выражение в делителе может быть записано:
(5.9)
Выражение (5.9) называется детерминантом второго порядка.
C помощью детерминантов уравнение (5.7) может быть записано в виде:
(5.10)
Di (i=1, 2) получается заменой i-го столбца на правую часть системы (5.7). Такой способ пригоден для решения систем двух и более уравнений и называется «правилом Крамера».
Детерминант третьего порядка имеет вид:
(5.11)
Аналогично записываются детерминанты более высоких порядков.
5.2.1. Свойства детерминантов
Рассмотрим основные свойства детерминантов.
-
При транспонировании матрицы (если строки записать в столбцы) значение детерминанта не изменяется:
-
Перемена мест двух строк (столбцов) меняет знак детерминанта:
-
Если любую строку (столбец) умножить на число, то значение детерминанта умножится на это же число:
-
Если строка (столбец) изменяется путем добавления соответствующих элементов другой строки (столбца), умноженных на константу, то значение детерминанта не изменится:
-
Если строка (столбец) является линейной комбинацией других строк (столбцов), то значение детерминанта равно нулю:
Использование детерминантов позволяет в удобной форме описывать разные геометрические объекты. Например, уравнение прямой в двумерном пространстве (R2), проходящей через точки P1(x1, y1), P2(x2, y2) может быть записано следующим образом:
(5.12)
Справедливость этой записи подтверждается следующим рассуждением: если, например, х = х1, у = y1, то первая строка является линейной комбинацией, следовательно, D = 0.
Плоскость в трехмерном пространстве (R3), проходящая через точки P1(x1, y1, z1), P2(x2, y2, z2), P3(x3, y3, z3) может быть описана следующим образом:
(5.13)