Смешанное произведение и объём

Смешанное произведение одним числом измеряет объём, натянутый на три вектора.

Смешанное произведение $(\vec a, \vec b, \vec c) = (\vec a \times \vec b) \cdot \vec c$ — число, по модулю равное объёму параллелепипеда на трёх векторах.

Формула

Смешанное произведение равно детерминанту матрицы из координат векторов:

$$(\vec a, \vec b, \vec c) = \begin{vmatrix} a_x & a_y & a_z \\ b_x & b_y & b_z \\ c_x & c_y & c_z \end{vmatrix}$$

Геометрия: длина $\vec a \times \vec b$ — площадь основания, а скалярное умножение на $\vec c$ проецирует $\vec c$ на нормаль, давая высоту. Площадь $\times$ высота $=$ объём:

$$V = |(\vec a, \vec b, \vec c)|$$

Признак компланарности

Если три вектора лежат в одной плоскости, параллелепипед «сплющивается», его объём равен нулю. Значит:

$$(\vec a, \vec b, \vec c) = 0 \;\Longleftrightarrow\; \vec a, \vec b, \vec c \text{ компланарны}$$

Расчёт на Python

def cross(a, b):
    return (a[1]*b[2] - a[2]*b[1],
            a[2]*b[0] - a[0]*b[2],
            a[0]*b[1] - a[1]*b[0])

def dot(a, b):
    return sum(x*y for x, y in zip(a, b))

def triple(a, b, c):
    return dot(cross(a, b), c)

a = (1, 0, 0)
b = (0, 2, 0)
c = (0, 0, 3)
print("Смешанное (a,b,c) =", triple(a, b, c))
print("Объём =", abs(triple(a, b, c)))

# Компланарный случай: c лежит в плоскости a, b
c2 = (5, 7, 0)
print("Компланарность (объём) =", triple(a, b, c2))

Вывод:

Смешанное (a,b,c) = 6
Объём = 6
Компланарность (объём) = 0

Как работает под капотом

Знак смешанного произведения кодирует ориентацию тройки. Положительный знак — правая тройка (как $\vec e_x, \vec e_y, \vec e_z$), отрицательный — левая. Объём при этом всегда берут по модулю. Циклическая перестановка $(\vec a,\vec b,\vec c) = (\vec b,\vec c,\vec a)$ знак сохраняет, а одна транспозиция — меняет.

Частые ошибки

  • Брать объём без модуля и получать отрицательное «число литров».
  • Считать, что нулевой объём означает совпадение векторов. Он означает лишь, что они в одной плоскости.
  • Путать порядок при нечётных перестановках — знак меняется.

Итог

  • $(\vec a,\vec b,\vec c)$ — детерминант 3×3, по модулю это объём.
  • Ноль означает компланарность (вектора в одной плоскости).
  • Знак задаёт ориентацию тройки (правая/левая).
Проверьте себя
1. Смешанное произведение трёх векторов равно нулю. Что это значит?
AВекторы перпендикулярны
BВекторы компланарны (лежат в одной плоскости)
CВекторы равны
DОдин вектор нулевой обязательно
2. Объём параллелепипеда на векторах a, b, c равен…
A(a,b,c)
B|(a,b,c)|
C(a,b,c)²
D1/(a,b,c)