Сила как вектор. Проекции на оси
Сила — векторная величина: чтобы задать её, мало одного числа, нужны модуль и направление.
Сила — мера механического взаимодействия тел, характеризуемая модулем, направлением (линией действия) и точкой приложения.
В теоретической механике почти всё начинается с силы. Но сила — это не просто «сколько ньютонов»: одна и та же по модулю сила, приложенная под разными углами, даёт совершенно разный эффект. Поэтому силу описывают вектором $\vec F$. У вектора есть модуль $F = |\vec F|$ (в ньютонах, Н), направление и точка приложения. В статике твёрдого тела силу можно переносить вдоль её линии действия — это скользящий вектор.
Проекции силы на оси
Работать с векторами напрямую неудобно — гораздо проще разложить силу на составляющие вдоль осей координат. Если сила $\vec F$ лежит в плоскости и образует угол $\alpha$ с осью $Ox$, то её проекции равны:
$$F_x = F\cos\alpha, \qquad F_y = F\sin\alpha.$$
Проекция — это скалярная величина со знаком: если составляющая направлена в сторону положительной полуоси, проекция положительна, иначе отрицательна. Обратно, зная проекции, восстанавливаем модуль и направление:
$$F = \sqrt{F_x^2 + F_y^2}, \qquad \tan\alpha = \frac{F_y}{F_x}.$$
Посчитаем проекции силы $F = 100$ Н, приложенной под углом $30^\circ$ к горизонту, и проверим обратное восстановление модуля.
import math
F = 100.0 # модуль силы, Н
alpha = math.radians(30)
Fx = F * math.cos(alpha)
Fy = F * math.sin(alpha)
# обратное восстановление
F_back = math.hypot(Fx, Fy)
angle_back = math.degrees(math.atan2(Fy, Fx))
print(f"Fx = {Fx:.3f} Н")
print(f"Fy = {Fy:.3f} Н")
print(f"|F| восстановленный = {F_back:.3f} Н")
print(f"угол восстановленный = {angle_back:.1f} град")Вывод:
Fx = 86.603 Н Fy = 50.000 Н |F| восстановленный = 100.000 Н угол восстановленный = 30.0 град
Зачем вообще раскладывать силу
Может показаться, что проекции — лишняя формальность: ведь сила и так задана модулем и углом. Но представьте узел конструкции, к которому подходят пять тросов под разными углами. Складывать их «по правилу параллелограмма» попарно — это пять построений, каждое со своей тригонометрией и накоплением ошибок. А если разложить каждую силу на $F_x$ и $F_y$, то всё взаимодействие сводится к сложению двух столбиков чисел. Именно поэтому вся практическая статика — от расчёта моста до анализа сил в плече робота — построена на проекциях. Угол и модуль удобны человеку, проекции удобны вычислению; инженер постоянно переводит одно в другое. Это первый и самый важный навык курса: видеть за стрелкой вектора пару чисел и обратно.
Три измерения
В пространстве сила задаётся тремя проекциями $F_x, F_y, F_z$, а её модуль — $F = \sqrt{F_x^2 + F_y^2 + F_z^2}$. Направление удобно описывать направляющими косинусами $\cos\alpha = F_x/F$, $\cos\beta = F_y/F$, $\cos\gamma = F_z/F$, для которых всегда выполняется $\cos^2\alpha + \cos^2\beta + \cos^2\gamma = 1$. Это тождество — не случайность, а теорема Пифагора в пространстве: сумма квадратов проекций единичного вектора направления равна единице. На практике направляющие косинусы удобны тем, что сразу дают вклад силы в каждое из трёх уравнений равновесия, без повторного вычисления углов.
Как работает под капотом
Почему проекция — это именно $F\cos\alpha$? Проекция вектора на ось — это скалярное произведение вектора на единичный вектор оси: $F_x = \vec F \cdot \vec e_x = |\vec F|\,|\vec e_x|\cos\alpha = F\cos\alpha$, потому что $|\vec e_x| = 1$. Именно поэтому знак проекции автоматически учитывает направление: если $\alpha \gt 90^\circ$, косинус отрицателен. В коде функция math.atan2(Fy, Fx) важнее наивного atan(Fy/Fx): она различает все четыре четверти и не делит на ноль при $F_x = 0$. А math.hypot устойчиво считает $\sqrt{F_x^2+F_y^2}$ без переполнения при больших числах.
Частые ошибки
- Путать синус и косинус: на ось $Ox$ проецируется косинус угла, отсчитанного от этой же оси. Если угол задан от $Oy$, всё меняется местами.
- Терять знак проекции. Проекция — скаляр со знаком, а не модуль составляющей.
- Считать в градусах там, где
mathждёт радианы. Всегда переводите черезmath.radians. - Складывать модули сил арифметически. Складываются векторы (то есть проекции), а не модули.
Итог
- Сила — скользящий вектор: модуль, направление, линия действия.
- Проекции на оси: $F_x = F\cos\alpha$, $F_y = F\sin\alpha$ — скаляры со знаком.
- Модуль восстанавливается как $\sqrt{F_x^2+F_y^2}$, направление — через
atan2. - В пространстве сила задаётся тремя проекциями и направляющими косинусами.