Векторы: сложение, вычитание, длина
Представь, что ты объясняешь другу дорогу до кафе: «пройди 300 метров на восток, потом 200 метров на север». В этой фразе спрятано главное отличие вектора от обычного числа: тут важно не только «сколько», но и «куда». Вектор — это стрелка со смыслом: у неё есть длина (сколько пройти) и направление (куда идти). В этом уроке разберём, как складывать и вычитать векторы, как находить их длину и как понять, под каким углом они расположены друг к другу.
На пальцах: вектор — это перемещение, а не точка
Важно не путать вектор с точкой. Точка — это конкретное место на плоскости, «где ты стоишь». А вектор — это «куда и насколько ты сдвинулся», перемещение из одной точки в другую. Один и тот же вектор можно нарисовать где угодно на плоскости — если стрелка везде одинаковой длины и смотрит в одну сторону, это один и тот же вектор, просто «приложенный» к разным местам.
Именно поэтому вектор удобно описывать не координатами начала и конца, а просто разницей: «на сколько сдвинулись по x и на сколько по y». Это и есть координаты вектора.
Строгое определение
Вектор $\vec{a}$ с началом в точке $A(x_1, y_1)$ и концом в точке $B(x_2, y_2)$ имеет координаты:
$$ \vec{a} = (x_2 - x_1;\ y_2 - y_1) $$
Сложение и вычитание векторов делается покоординатно: если $\vec{a} = (a_1; a_2)$ и $\vec{b} = (b_1; b_2)$, то:
$$ \vec{a} + \vec{b} = (a_1 + b_1;\ a_2 + b_2), \qquad \vec{a} - \vec{b} = (a_1 - b_1;\ a_2 - b_2) $$
Длина (модуль) вектора считается точно так же, как расстояние между точками — это теорема Пифагора для координат самого вектора:
$$ |\vec{a}| = \sqrt{a_1^2 + a_2^2} $$
Скалярное произведение двух векторов — число, которое показывает, насколько векторы «смотрят» в одну сторону:
$$ \vec{a} \cdot \vec{b} = a_1 b_1 + a_2 b_2 $$
А угол $\varphi$ между векторами находится через косинус:
$$ \cos \varphi = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|} $$
Пример 1. Сложение, вычитание и длина
Даны векторы $\vec{a} = (3; 4)$ и $\vec{b} = (-1; 2)$.
Сложение: $\vec{a} + \vec{b} = (3 + (-1);\ 4 + 2) = (2; 6)$.
Вычитание: $\vec{a} - \vec{b} = (3 - (-1);\ 4 - 2) = (4; 2)$.
Длина вектора $\vec{a}$: $|\vec{a}| = \sqrt{3^2 + 4^2} = \sqrt{9+16} = \sqrt{25} = 5$. Снова знакомая тройка 3-4-5.
Пример 2. Скалярное произведение и угол между векторами
Возьмём те же векторы $\vec{a} = (3; 4)$ и $\vec{b} = (-1; 2)$ и найдём угол между ними.
Сначала скалярное произведение: $\vec{a} \cdot \vec{b} = 3 \cdot (-1) + 4 \cdot 2 = -3 + 8 = 5$.
Длина $\vec{a}$ уже известна — это 5. Найдём длину $\vec{b}$: $|\vec{b}| = \sqrt{(-1)^2 + 2^2} = \sqrt{1+4} = \sqrt{5}$.
Теперь считаем косинус угла:
$$ \cos \varphi = \frac{5}{5 \cdot \sqrt{5}} = \frac{1}{\sqrt{5}} \approx 0{,}447 $$
Это соответствует углу примерно $63{,}4^\circ$ — векторы направлены в довольно разные стороны, но не перпендикулярны и не противоположны.
Как это работает
Почему скалярное произведение вообще связано с углом между векторами? Смысл в том, что скалярное произведение показывает, насколько один вектор «продвигает» вдоль направления другого. Если векторы смотрят в одну сторону — произведение большое и положительное. Если они перпендикулярны — произведение равно нулю: один вектор совсем не даёт «продвижения» вдоль другого. А если векторы смотрят в противоположные стороны — произведение отрицательное.
Именно поэтому есть быстрый способ проверить перпендикулярность векторов без вычисления угла целиком: если $\vec{a} \cdot \vec{b} = 0$, значит угол между ними ровно $90^\circ$.
Проверим вычисления в Python
import math
a = (3, 4)
b = (-1, 2)
# Сложение и вычитание по координатам
summ = (a[0] + b[0], a[1] + b[1])
diff = (a[0] - b[0], a[1] - b[1])
# Длина вектора a
len_a = math.sqrt(a[0]**2 + a[1]**2)
# Скалярное произведение и угол между векторами
dot = a[0]*b[0] + a[1]*b[1]
len_b = math.sqrt(b[0]**2 + b[1]**2)
cos_angle = dot / (len_a * len_b)
angle_deg = math.degrees(math.acos(cos_angle))
print("a + b =", summ)
print("a - b =", diff)
print("|a| =", len_a)
print("a . b =", dot)
print("Угол между a и b:", round(angle_deg, 2), "градусов")
Вывод:
a + b = (2, 6)
a - b = (4, 2)
|a| = 5.0
a . b = 5
Угол между a и b: 63.43 градусов
Частые ошибки
Самая распространённая ошибка — путать координаты вектора с координатами точки. Если вектор идёт из $A(1, 1)$ в $B(4, 5)$, его координаты — это $(3; 4)$, а не $(4; 5)$. Всегда вычитай координаты начала из координат конца.
Вторая ошибка — забыть, что скалярное произведение — это число, а не вектор. Складывать его с другими векторами или искать у него «координаты» бессмысленно — это просто результат вычисления, одно число.
Третья ошибка — перепутать знак при вычитании векторов и посчитать $\vec{b} - \vec{a}$ вместо $\vec{a} - \vec{b}$. Результат получится с противоположным знаком по каждой координате — направление стрелки развернётся на 180 градусов.
Итоги
Вектор — это «стрелка со смыслом»: величина, у которой есть и длина, и направление, заданные координатами $(x_2-x_1; y_2-y_1)$. Складывать и вычитать векторы можно покоординатно, длина находится через теорему Пифагора, а скалярное произведение помогает узнать угол между векторами и быстро проверить перпендикулярность. Вместе с формулой расстояния и уравнениями прямой и окружности из предыдущих уроков векторы дают полный набор инструментов, чтобы решать геометрические задачи без единого чертежа — одной алгеброй.