М2 §3. Равновесие трёх сил: почему фонарь висит на двух тросах¶
Вопросы к М2 §3¶
Посмотрите вверх на перекрёстке. Над проезжей частью висит фонарь, и держат его два троса: левый пологой оттяжкой тянется к крюку на стене дома, правый круто поднимается к верхушке столба на другой стороне улицы. Фонарь висит неподвижно: не падает вниз, не уезжает вбок, не раскачивается. Значит, он в равновесии — в том самом смысле, который мы определили в прошлом параграфе (М2 §2): равнодействующая всех сил, приложенных к телу, равна нулевому вектору.
Сил здесь три. Вниз тянет сила тяжести \(\vec{F}_{\text{тяж}}\). Вдоль каждого троса тянет сила натяжения — \(\vec{T}_1\) вдоль левого, пологого, \(\vec{T}_2\) вдоль правого, крутого. И вот что важно: ни одна пара из этих трёх сил не лежит на одной прямой. В прошлом параграфе (М2 §2) равновесие выглядело просто — две силы, одна прямая, противоположные векторы, равные модули. Здесь такой картинки нет.
Возьмём конкретные числа; откуда они берутся, вы увидите в §3.3. Фонарь массой 4 кг, коэффициент \(g = 10\) Н/кг, значит \(F_{\text{тяж}} = mg = 40\) Н. Натяжение левого троса \(T_1 = 13\) Н, правого \(T_2 = 37\) Н.
Напомним обозначение из М2 §1: модуль вектора — это длина стрелки в выбранном масштабе, и записывают его либо \(|\vec{T}_1|\), либо просто той же буквой без стрелки — \(T_1\). Все числа в ньютонах, которые вы видите рядом со стрелками на чертежах, — это модули сил.
Проверьте арифметикой: \(13 + 37 = 50\), а вовсе не 40. И \(40 - 13 = 27\), а не 37. Ни одно равенство между модулями не сходится — а фонарь висит. Складывать модули бессмысленно: гасят друг друга не числа, а векторы. Этим и займёмся.

Три силы на фонаре выходят из одной точки, направлены в три разные стороны, и модули у них разные
Сила натяжения¶
В прошлом параграфе (М2 §2) мы разбирали силу упругости: растянутая или сжатая пружина тянет обратно то тело, которое её деформировало. Трос — то же самое, только очень жёсткое. Когда фонарь повис, трос чуть-чуть растянулся (глазом этого не видно, но растяжение есть) — и стал тянуть фонарь к точке крепления.
Сила натяжения \(\vec{T}\) — сила, с которой натянутый трос (верёвка, нить, цепь) действует на прикреплённое к нему тело. Она приложена к телу в точке крепления и направлена вдоль троса, от тела к другому концу троса.
Сила натяжения — это не новый вид взаимодействия, а сила упругости растянутого троса, у которой есть своё имя и своя буква. Так же в своё время получили отдельные имена сила тяжести \(\vec{F}_{\text{тяж}}\) и сила реакции опоры \(\vec{N}\): природа у сил разная, а роль в задаче — типовая, и удобно называть её сразу.
Две вещи, которые чаще всего путают. Первое: натяжение направлено вдоль троса, а не «вверх» — у пологой оттяжки оно почти горизонтально. Второе: верёвка умеет только тянуть; толкать она не может. Если в вашем чертеже натяжение направлено от точки крепления к телу — вы нарисовали толкающую верёвку, а таких не бывает.
Вес в список сил на фонарь не входит¶
Прежде чем складывать, надо решить, что складывать. Тут подстерегает ловушка: к трём силам часто дописывают четвёртую — вес фонаря.
Вспомните определение из прошлого параграфа (М2 §2): вес — это сила, с которой тело действует на опору или подвес. Вес фонаря приложен к тросам. А мы разбираем силы, приложенные к фонарю. Вес фонаря к фонарю не приложен, и в многоугольник сил фонаря он не входит: иначе один и тот же тяжёлый фонарь потянет вниз дважды, и равновесие в расчёте развалится, хотя на улице оно есть.
Правило простое: прежде чем чертить, назовите тело и скажите вслух «складываю силы, приложенные к нему». Для фонаря это ровно три силы: \(\vec{F}_{\text{тяж}}\) от Земли, \(\vec{T}_1\) и \(\vec{T}_2\) от двух тросов.
М2 §3.1. Физика: три силы, которые гасят друг друга¶
В М2 §1 мы складывали два вектора правилом треугольника: отложить второй вектор от конца первого, соединить начало первого с концом второго. В прошлом параграфе (М2 §2) сил было две, они лежали на одной прямой и были противоположны, а сумма получалась нулевым вектором.
Теперь векторов три, и все смотрят в разные стороны. «Столбиком» их не сложить — числами тут не обойтись. Но правило треугольника никуда не делось: его можно применить дважды. Сначала сложим \(\vec{F}_{\text{тяж}}\) и \(\vec{T}_1\) — получится какой-то промежуточный вектор. Потом к нему прибавим \(\vec{T}_2\). Промежуточный вектор рисовать необязательно: он всё равно пропадёт из ответа. Остаётся цепочка «конец к началу», и у неё есть имя.
Правило многоугольника¶
Правило многоугольника. Чтобы найти сумму нескольких векторов, откладывают первый вектор; от его конца — второй; от конца второго — третий, и так далее. Сумма (равнодействующая \(\vec{R}\)) — вектор, идущий от начала первого вектора к концу последнего.
Правило треугольника — частный случай правила многоугольника для двух векторов. Порядок, в котором вы выстраиваете цепочку, на ответ не влияет: ломаная получится другая, а вектор от первого начала до последнего конца — тот же самый. Это удобно проверять на черновике: возьмите одну точку, из неё постройте цепочку в порядке 1–2–3, потом из этой же точки — цепочку в порядке 3–1–2, и убедитесь, что конец последней стрелки в обоих случаях пришёл в одно и то же место.

Слева многоугольник не замкнут — есть равнодействующая. Справа замкнут — равнодействующая нулевая
Замкнутый многоугольник — это равновесие¶
Теперь перенесите три силы фонаря «хвост к голове»: от конца \(\vec{F}_{\text{тяж}}\) отложите \(\vec{T}_1\), от конца \(\vec{T}_1\) — \(\vec{T}_2\). Конец последней стрелки попадёт ровно в начало первой. Цепочка замкнулась в треугольник.
Это и есть геометрическая запись равновесия:
Тело, к которому приложено несколько сил, находится в равновесии тогда и только тогда, когда многоугольник сил замкнут: конец последнего вектора цепочки совпадает с началом первого, а равнодействующая равна нулевому вектору \(\vec{0}\).
Обратите внимание, как аккуратно это согласуется с прошлым параграфом (М2 §2). Две силы — «многоугольник» из двух звеньев, и замкнуться он может, только если второй вектор идёт обратно по той же прямой: противоположные векторы, равные модули. Три силы такой строгости уже не требуют — им хватает того, что треугольник вообще складывается.

Те же три силы, выстроенные в цепочку: треугольник со сторонами 40, 13 и 37 замкнут
«В равновесии все силы равны по модулю»¶
Это самая частая ошибка после прошлого параграфа (М2 §2) — и понятно почему. Там сил было две, и они действительно были равны по модулю: книга на столе, \(N = F_{\text{тяж}}\). Вывод «в равновесии силы равны» запоминается легко, потому что в том частном случае он верен.
Как только сил становится три, он ломается. Посмотрите на треугольник фонаря: его стороны 40, 13 и 37 — три разных числа. Равенство модулей не требуется и почти никогда не выполняется. Требуется другое: чтобы ломаная замкнулась.
Ещё одно следствие, которое стоит проговорить: сумма модулей двух сил не обязана равняться модулю третьей. У нас \(13 + 37 = 50 \ne 40\). Равенство \(|\vec{a}| + |\vec{b}| = |\vec{a} + \vec{b}|\) верно только тогда, когда векторы сонаправлены; в остальных случаях сумма модулей больше. Проверяйте равновесие не арифметикой модулей, а цепочкой векторов.
Треугольник 3, 4, 5¶
Самый удобный числовой контрпример — прямоугольный треугольник со сторонами 3, 4, 5.
К телу приложены три силы: 3 Н строго вправо, 4 Н строго вверх и 5 Н, направленная влево-вниз. Выстроим цепочку: из точки \(O\) идём на 3 клетки вправо (клетка — 1 Н), затем на 4 клетки вверх, затем стрелка 5 Н возвращает нас из точки \((3;4)\) обратно в \(O\). Ломаная замкнулась — тело в равновесии.
Модули: 3 Н, 4 Н, 5 Н. Все три разные. Никакая пара не противоположна: первая горизонтальна, вторая вертикальна, третья идёт наискосок. И тем не менее равновесие есть. Запомните этот треугольник — он ещё встретится в задачах и в коде.
М2 §3.2. Математика: вычитание векторов¶
Сложение векторов у нас есть. А как их вычитать? В физике это нужно постоянно: «известна равнодействующая двух сил и одна из них — найдите вторую», «три силы уравновешены, две известны — найдите третью».
Ответ короткий, и он опирается на противоположный вектор из прошлого параграфа (М2 §2): вектор \(-\vec{b}\) — это вектор той же длины, что и \(\vec{b}\), но направленный в противоположную сторону.
Вычитание векторов. Разностью векторов \(\vec{a}\) и \(\vec{b}\) называется сумма вектора \(\vec{a}\) и вектора, противоположного \(\vec{b}\): $\(\vec{a} - \vec{b} = \vec{a} + (-\vec{b}).\)$
Никакого нового построения не требуется: разворачиваем \(\vec{b}\) на противоположное направление и складываем по правилу треугольника. Есть и второй способ увидеть разность: отложите \(\vec{a}\) и \(\vec{b}\) от одной точки; тогда \(\vec{a} - \vec{b}\) — это вектор, идущий от конца \(\vec{b}\) к концу \(\vec{a}\). Оба построения дают одну и ту же стрелку, просто в разных местах чертежа; выбирайте, что удобнее.
Проверка на разумность: \(\vec{a} - \vec{a} = \vec{a} + (-\vec{a}) = \vec{0}\). Вектор, вычтенный сам из себя, даёт нулевой вектор — как и должно быть.

Два способа построить a − b дают одинаковые стрелки: через противоположный вектор и «от конца b к концу a»
Третья сила через вычитание¶
Вернёмся к фонарю. Равновесие означает $\(\vec{F}_{\text{тяж}} + \vec{T}_1 + \vec{T}_2 = \vec{0}.\)$
Отсюда сразу следует, чему равно натяжение правого троса: $\(\vec{T}_2 = -\left(\vec{F}_{\text{тяж}} + \vec{T}_1\right).\)$
Минус перед скобкой читается как указание к построению: сложите две известные силы по правилу треугольника, а потом разверните результат в противоположную сторону. Нового действия тут нет — это всё тот же противоположный вектор из прошлого параграфа (М2 §2), только взятый не от одной силы, а от суммы двух.
Словами: третья сила противоположна сумме первых двух. Это рабочий приём: любую недостающую силу в замкнутом многоугольнике находят как «замыкающую» стрелку, взятую в обратную сторону.
Та же логика в другой задаче: если равнодействующая двух сил равна \(\vec{R}\) и одна из них \(\vec{F}_1\) известна, то вторая — это \(\vec{F}_2 = \vec{R} - \vec{F}_1\).
Пока всё это — чертёж: линейка, карандаш, аккуратность. Ответ получается с точностью до толщины грифеля. Дальше мы переведём векторы в числа, и чертёж станет расчётом.
М2 §3.3. Математика: проекции и координаты¶
Чертить многоугольники — способ честный, но неточный: длину стрелки вы измеряете линейкой, направление ставите на глаз, и уже на третьем векторе ошибка заметна. Хочется считать.
Приём такой. Положим векторы на координатную плоскость и опишем каждый двумя числами вместо стрелки. Идея древняя, как тень: представьте, что солнце светит строго сверху вниз. Тень вектора, упавшая на ось \(Ox\), показывает, на сколько вектор «продвинулся» вправо или влево. Свет сбоку даёт тень на оси \(Oy\) — продвижение вверх или вниз.
Тень — это отрезок, у неё есть только длина. Но нам нужно ещё и направление: вправо или влево. Поэтому к длине тени добавляют знак.
Проекция вектора на ось¶
Проекцией вектора на ось называется число, равное разности координат конца и начала вектора по этой оси. Если вектор идёт из точки \(A(x_A;\, y_A)\) в точку \(B(x_B;\, y_B)\), то $\(F_x = x_B - x_A, \qquad F_y = y_B - y_A.\)$
Проекция — число со знаком, а не отрезок и не вектор. Знак отвечает на вопрос «в какую сторону оси смотрит вектор»: плюс, если в сторону положительного направления оси, минус — если против. Модуль проекции \(|F_x|\) отвечает на вопрос «на сколько клеток».
Пример по сетке. Вектор \(\vec{F}\) выходит из точки \((1;\,6)\) и приходит в точку \((4;\,2)\). Тогда $\(F_x = 4 - 1 = 3, \qquad F_y = 2 - 6 = -4.\)$ Вектор ушёл на 3 клетки вправо и на 4 клетки вниз. Ровно это и говорят два числа: «+3» — вправо, «−4» — вниз.

Проекции — это «тени» вектора на осях, взятые со знаком: вправо на 3, вниз на 4
Проверьте себя: две проекции¶
Три быстрых вопроса — на них уходит минута, а без них дальше читать бессмысленно. Найдите проекции вектора на обе оси:
- вектор идёт из точки \((5;\,2)\) в точку \((1;\,2)\);
- вектор идёт из точки \((0;\,0)\) в точку \((0;\,-7)\);
- вектор идёт из точки \((-3;\,-1)\) в точку \((2;\,4)\).
Считайте по определению: из координаты конца вычитаем координату начала — сначала по \(x\), потом по \(y\). И сверяйте знак со здравым смыслом: если стрелка ушла влево, \(F_x\) обязан быть отрицательным.
Ответы: 1) \((-4;\ 0)\); 2) \((0;\ -7)\); 3) \((5;\ 5)\).
Координаты вектора¶
Две проекции полностью описывают вектор на плоскости: зная, на сколько он идёт вправо и на сколько вверх, вы восстановите и его длину, и его направление. Поэтому пару проекций записывают вместе.
Координатами вектора на плоскости называют пару его проекций на оси: \(\vec{F}\,(F_x;\, F_y)\). Первое число — проекция на \(Ox\), второе — на \(Oy\).
Эта запись вам уже знакома. В М1 §2 перемещение задавалось парой \((\Delta x;\, \Delta y)\) — «на столько по горизонтали, на столько по вертикали». Это и были координаты вектора перемещения, только слова «координаты вектора» мы тогда не произносили. Новым здесь оказывается имя, а не сама пара чисел.
Важное свойство: вектор не помнит, где его нарисовали. Стрелка из \((1;6)\) в \((4;2)\) и стрелка из \((0;0)\) в \((3;-4)\) — это один и тот же вектор \((3;\,-4)\): одинаковая длина, одинаковое направление. Поэтому для расчёта силы всё равно, из какой точки её отложили; для чертежа, конечно, нет — там мы рисуем силу из точки её приложения.
Три силы фонаря в координатах: $\(\vec{F}_{\text{тяж}}\,(0;\,-40), \qquad \vec{T}_1\,(-12;\,5), \qquad \vec{T}_2\,(12;\,35).\)$
Откуда взялись именно эти числа? Их сняли с чертежа по клеткам в масштабе «1 клетка = 1 Н»: стрелка силы тяжести уходит на 40 клеток вниз, стрелка \(\vec{T}_1\) — на 12 клеток влево и 5 вверх, стрелка \(\vec{T}_2\) — на 12 клеток вправо и 35 вверх. Полный порядок действий описан ниже, в пункте «Как снять проекции с чертежа», а в задаче B1 вы проделаете это сами, начиная с чистого листа.
Модуль вектора по координатам¶
Проекции — катеты прямоугольного треугольника, сам вектор — гипотенуза. Отсюда длина вектора считается по теореме Пифагора, той же формулой расстояния, которой мы пользовались в М1 §2:
Проверим на наших числах. Вектор \((3;\,-4)\): \(\sqrt{9 + 16} = \sqrt{25} = 5\). Натяжение \(\vec{T}_1\,(-12;\,5)\): \(\sqrt{144 + 25} = \sqrt{169} = 13\) Н. Натяжение \(\vec{T}_2\,(12;\,35)\): \(\sqrt{144 + 1225} = \sqrt{1369} = 37\) Н. Вот откуда взялись числа из вопросов к главе.
Заметьте: под корнем стоят квадраты, а квадрат отрицательного числа положителен. Поэтому модуль не зависит от знаков проекций — векторы \((3;4)\), \((-3;4)\), \((3;-4)\) и \((-3;-4)\) имеют одну и ту же длину 5 и четыре разных направления.
«Проекция — это длина, значит она положительна»¶
Слово «тень» подводит: тень — отрезок, у отрезка длина неотрицательна, значит и проекция вроде бы неотрицательна. Нет.
Возьмите вектор \(\vec{F}\,(-3;\,-4)\) — он смотрит влево и вниз. Его проекции: \(F_x = -3\), \(F_y = -4\). Обе отрицательны. Его модуль: \(|\vec{F}| = \sqrt{(-3)^2 + (-4)^2} = 5\) — положителен, как и положено длине.
Три разных числа, которые легко перепутать:
- \(F_x = -3\) — проекция: и сколько, и куда;
- \(|F_x| = 3\) — модуль проекции: только сколько;
- \(|\vec{F}| = 5\) — модуль вектора: длина самой стрелки.
Отсюда простая проверка. Если в вашем расчёте равновесия все проекции на какую-то ось оказались положительными, ошибка есть наверняка: сумма положительных чисел положительна и нулём стать не может. Чтобы сумма обнулилась, среди слагаемых обязаны быть числа обоих знаков (нули не мешают) — иначе гасить нечем.
Знаки проекций по направлениям¶
Знак проекции определяется только направлением вектора относительно осей — не тем, где он нарисован. Соберём это в таблицу; оси считаем обычными: \(Ox\) вправо, \(Oy\) вверх.
| Куда смотрит вектор | \(F_x\) | \(F_y\) |
|---|---|---|
| вправо и вверх | \(+\) | \(+\) |
| влево и вверх | \(-\) | \(+\) |
| влево и вниз | \(-\) | \(-\) |
| вправо и вниз | \(+\) | \(-\) |
| строго вправо | \(+\) | \(0\) |
| строго вниз | \(0\) | \(-\) |
Две последние строки стоит запомнить отдельно: если вектор параллелен оси, его проекция на другую ось равна нулю. Сила тяжести всегда даёт \((0;\, -F_{\text{тяж}})\), горизонтальный трос — \((\pm T;\, 0)\). Половина проекций в школьной задаче обнуляется сама, и это сильно сокращает счёт.
Как снять проекции с чертежа¶
Порядок действий, который годится для любой задачи этой главы.
- Назовите тело и выпишите все силы, приложенные к нему. Вес тела в этот список не входит — он приложен к опоре или подвесу.
- Нарисуйте оси: \(Ox\) — горизонтально вправо, \(Oy\) — вертикально вверх. Других осей мы в этой главе не берём; повёрнутые оси понадобятся с числами — позже.
- Отложите каждую силу из точки приложения. Для сил, направленных наискосок, посчитайте по клеткам, на сколько клеток вправо (влево) и вверх (вниз) идёт стрелка.
- Умножьте число клеток на масштаб (например, 1 клетка = 10 Н) и поставьте знаки по таблице.
- Запишите каждую силу парой \((F_x;\, F_y)\) и проверьте модуль по Пифагору — он должен совпасть с заданным в условии.
Пятый пункт пропускать не стоит: он ловит арифметические ошибки до того, как они уйдут в ответ.
Сложение и вычитание в координатах¶
Теперь главное упрощение всей главы. В координатах геометрия исчезает: сложение векторов превращается в сложение чисел по каждой оси отдельно.
Если \(\vec{a}\,(a_x;\, a_y)\) и \(\vec{b}\,(b_x;\, b_y)\), то
Для нескольких векторов правило многоугольника выглядит так:
Один длинный чертёж заменился двумя столбиками чисел. Проверим на фонаре:
Обе суммы — нули, значит \(\vec{R} = \vec{0}\), значит фонарь висит. Ту же проверку линейкой и транспортиром вы делали бы минут пять и всё равно не были бы уверены в ответе.
Условие равновесия в проекциях¶
Соберём результат в рабочее правило — им вы будете пользоваться до конца школьной физики.
Условие равновесия в проекциях. Тело находится в равновесии (равнодействующая приложенных к нему сил равна \(\vec{0}\)) тогда и только тогда, когда сумма проекций всех сил на каждую ось равна нулю: $\(R_x = 0 \quad \text{и} \quad R_y = 0.\)$
Одно векторное условие превратилось в два числовых уравнения. Это выгодная сделка: уравнения решать умеют все, а векторы складывать линейкой — почти никто аккуратно.
И обратите внимание на слово «каждую». Равенства \(R_x = 0\) мало: тело с \(R_x = 0\), но \(R_y = 5\) Н никуда не поедет вбок, а вверх — поедет. Оба уравнения нужны сразу.
Если равновесия нет, эти же две суммы дают равнодействующую целиком: её координаты \((R_x;\, R_y)\), её модуль \(|\vec{R}| = \sqrt{R_x^2 + R_y^2}\), а направление читается по знакам.
М2 §3.4. Физика: разложение силы¶
До сих пор мы шли в одну сторону: даны силы — найди равнодействующую. Бывает нужно ровно наоборот: дана одна сила, а требуется заменить её двумя, каждая из которых удобна для разговора.
Пример из жизни. Вы тянете санки за верёвку. Верёвка идёт наискосок вверх — иначе рука окажется на снегу. Куда девается ваше усилие? Часть его тащит санки вперёд, часть — приподнимает их. Пока сила одна и наклонная, сказать об этом что-то количественное трудно. Разделим её на две.
Это обратная задача к правилу параллелограмма из М2 §1. Там по двум сторонам параллелограмма строили диагональ; здесь по диагонали (данной силе) и двум заданным направлениям строим стороны.
Разложение силы на составляющие¶
Разложить силу на составляющие — значит заменить её двумя силами по заданным направлениям так, чтобы их равнодействующая равнялась исходной силе. Эти две силы называются составляющими.
Ключевое слово — «заменить». Составляющие действуют на тело точно так же, как исходная сила: не сильнее и не слабее.
Пока направления не заданы, задача решается бесконечным числом способов: любую диагональ можно достроить до параллелограмма как угодно. Направления всегда диктует физика: вдоль движения и поперёк него, вдоль наклонной доски и поперёк неё, горизонтально и вертикально.
Самый частый случай — составляющие вдоль осей \(Ox\) и \(Oy\). Тогда искать ничего не нужно: их модули — это модули проекций. Сила \((40;\, 30)\) раскладывается на горизонтальную составляющую 40 Н и вертикальную 30 Н. Проверка Пифагором: \(\sqrt{1600 + 900} = 50\) — это и есть модуль исходной силы.
Санки за верёвку¶
Вы тянете санки с силой 50 Н. Верёвка натянута так, что на клетчатой сетке стрелка силы идёт на 4 клетки вправо и 3 клетки вверх; масштаб — 10 Н в клетке. Значит, координаты силы тяги: \(\vec{F}\,(40;\, 30)\), и её модуль \(\sqrt{40^2 + 30^2} = 50\) Н — сходится с условием.
Разложение читается сразу:
- горизонтальная составляющая 40 Н — она и тянет санки вперёд;
- вертикальная составляющая 30 Н — она тянет санки вверх и потому разгружает опору.
Второе интереснее. Пусть масса санок с грузом 20 кг, то есть \(F_{\text{тяж}} = mg = 200\) Н. По вертикали на санки действуют три силы: тяжесть \((0;\,-200)\), вертикальная составляющая тяги \((0;\,+30)\) и реакция снега \(\vec{N}\,(0;\,+N)\). Санки по вертикали не движутся, значит \(R_y = 0\):
Снег давит на санки не с силой 200 Н, а с силой 170 Н: наклонная тяга разгрузила опору на 30 Н. Сила тяжести при этом не изменилась — она как была 200 Н, так и осталась; изменилась только реакция опоры.
Чем эта разгрузка полезна, мы аккуратно посчитаем в следующей главе, когда появится сила трения: она тем меньше, чем слабее тело прижато к опоре. Пока запомним сам факт: наклонная тяга вверх уменьшает \(N\).

Сила тяги 50 Н заменена двумя: 40 Н везут санки вперёд, 30 Н разгружают опору
Брусок на наклонной доске¶
Второй классический случай — тело на наклонной поверхности. Положите брусок на доску и приподнимите её край.
На брусок действует сила тяжести — строго вниз, как всегда. Но говорить о ней «вниз» здесь неудобно: брусок-то поедет не вниз, а вдоль доски. Поэтому оси разворачивают: одну — вдоль доски, другую — поперёк неё. И силу тяжести раскладывают на две составляющие по этим направлениям:
- одна составляющая направлена вдоль доски вниз — она тянет брусок съезжать;
- другая прижимает брусок к доске — ей противодействует сила реакции опоры \(\vec{N}\), направленная перпендикулярно поверхности.
Чем круче доска, тем больше первая составляющая и тем меньше вторая; при почти горизонтальной доске — наоборот. Это объясняет, почему на пологой горке санки стоят, а на крутой съезжают сами.
Считать эти составляющие числом мы пока не будем: для этого нужен угол наклона и тригонометрия, а её в 7 классе ещё не было. Наклонная плоскость вернётся к нам с числами позже — вместе с силой трения.

На наклонной доске силу тяжести удобно разложить вдоль доски и поперёк неё
«Разложив силу, мы добавили телу две новые силы»¶
Соблазн такой: нарисовали силу тяги 50 Н, потом дорисовали составляющие 40 Н и 30 Н — на чертеже стало три стрелки, и все три уходят в расчёт. Ответ получается вдвое больше правильного.
Составляющие заменяют исходную силу, а не добавляются к ней. Либо вы работаете с \(\vec{F}\,(40;\,30)\), либо с парой \((40;\,0)\) и \((0;\,30)\) — но никогда со всеми тремя сразу.
Посчитайте сами. Правильный список: \((40;\,30)\), равнодействующая \((40;\,30)\), модуль 50 Н. Ошибочный список: \((40;\,30)\), \((40;\,0)\), \((0;\,30)\); тогда \(R_x = 80\), \(R_y = 60\), модуль \(\sqrt{6400+3600} = 100\) Н. Ровно вдвое больше — потому что сила посчитана дважды.
Как страховаться: после разложения зачеркните исходную стрелку на чертеже (обычно её перечёркивают двумя штрихами) или, наоборот, чертите составляющие пунктиром. Тогда в список сил не попадёт лишний вектор. Через несколько минут мы проверим оба списка программой и увидим два разных числа.
М2 §3.5. Информатика: равнодействующая программой¶
Что мы, собственно, делаем руками? Складываем все \(F_x\), складываем все \(F_y\), извлекаем корень из суммы квадратов, сравниваем результат с нулём. Три силы — терпимо. Пять сил, да ещё в четырёх вариантах задачи — уже полчаса арифметики, и половина ошибок будет не в физике, а в знаках.
Компьютеру эта работа подходит идеально: она однообразная и полностью описана правилом. Сила — это пара чисел, а список сил — список пар. Дальше цикл, две суммы, Пифагор и проверка.
Весь расчёт укладывается в четыре шага:
- взять список пар \((F_x;\, F_y)\) — по паре на каждую силу;
- сложить все \(F_x\) в \(R_x\) и все \(F_y\) в \(R_y\);
- извлечь корень из суммы квадратов — это модуль равнодействующей \(|\vec{R}| = \sqrt{R_x^2 + R_y^2}\);
- сравнить обе проекции с нулём и сказать, в равновесии тело или поедет.
Пифагор через math.sqrt¶
Начнём с одного кирпича. Квадратный корень живёт в библиотеке math — вы её подключали ещё в М0 §1 и пользовались ею в М2 §1, когда считали длину пути черепахи. Здесь она нужна ровно за тем же.
5.0
Обратите внимание: напечатано 5.0, а не 5. Функция math.sqrt всегда возвращает дробное число, даже если корень извлёкся нацело. Для физики это как раз естественно: модуль силы редко бывает целым.
Функция resultant¶
Теперь соберём расчёт целиком. Функция получает список сил — список пар чисел — и печатает всё, что нам нужно знать: обе проекции равнодействующей, её модуль и вердикт о равновесии.
Пара записывается в круглых скобках через запятую — как координаты \((F_x;\, F_y)\), только с запятой вместо точки с запятой. Квадратные скобки — список, круглые — пара; здесь одно вложено в другое: список пар.
import math
def resultant(forces):
rx = 0
ry = 0
for fx, fy in forces:
rx = rx + fx
ry = ry + fy
r = math.sqrt(rx*rx + ry*ry)
print(f"Rx = {rx} Н, Ry = {ry} Н, |R| = {r} Н")
if math.isclose(rx, 0, abs_tol=0.01) and math.isclose(ry, 0, abs_tol=0.01):
print("равновесие")
else:
print("тело поедет")
lamp = [(0, -40), (-12, 5), (12, 35)]
resultant(lamp)
Rx = 0 Н, Ry = 0 Н, |R| = 0.0 Н
равновесие
Разберём четыре места, которые здесь новые или почти новые.
Строка for fx, fy in forces:. Элемент списка forces — это пара, например (-12, 5). Записав в заголовке цикла сразу два имени, вы просите Python разложить пару по этим именам: на этом шаге fx станет равным -12, а fy — 5. Так короче и понятнее, чем доставать числа из пары по отдельности.
Накопление. Переменные rx и ry заводятся нулями до цикла и на каждом шаге подрастают. Это тот же приём, что и накопление списка через append в М0 §1, только копим мы не элементы, а сумму.
Буква f перед кавычками. Это f-строка, знакомая по М0 §1. Внутри неё всё, что стоит в фигурных скобках, при печати заменяется на значение: вместо {rx} встанет число, лежащее сейчас в rx, а буквы «Rx = » и «Н» напечатаются как написаны. Уберёте букву f — и на экран выйдут сами фигурные скобки.
Вердикт. Функция ничего не возвращает — она печатает. Такой функции достаточно, пока результат нужен человеку, а не следующему вычислению.
Вывод для фонаря — две нулевые проекции, нулевой модуль и слово «равновесие». Ровно то, что мы получили в §3.3 карандашом.
Одна оговорка про печать. Пока проекции целые, строка выглядит опрятно. Если же проекции дробные — а с динамометра они приходят именно такими, — число может напечататься с длинным хвостом вроде 1.4000000000000001. Почему так, разберём прямо сейчас; лечится это округлением перед печатью: round(rx, 2).
Что будет, если трос оборвётся¶
Полезно посмотреть, как та же функция ведёт себя, когда равновесия нет. Уберём левый трос: пусть он оборвался, а правый в первое мгновение тянет ещё по-прежнему.
import math
def resultant(forces):
rx = 0
ry = 0
for fx, fy in forces:
rx = rx + fx
ry = ry + fy
r = math.sqrt(rx*rx + ry*ry)
print(f"Rx = {rx} Н, Ry = {ry} Н, |R| = {r} Н")
if math.isclose(rx, 0, abs_tol=0.01) and math.isclose(ry, 0, abs_tol=0.01):
print("равновесие")
else:
print("тело поедет")
broken = [(0, -40), (12, 35)]
resultant(broken)
Rx = 12 Н, Ry = -5 Н, |R| = 13.0 Н
тело поедет
Равнодействующая получилась ненулевой: \(R_x = 12\) Н, \(R_y = -5\) Н, модуль 13 Н. Знаки читаются как направление — вправо и вниз: фонарь качнётся в сторону уцелевшего троса и вниз. И модуль 13 Н не случаен: это ровно то натяжение, которое раньше держал левый трос. Убрали одну силу — осталась сила, ей противоположная.
Сравните два списка: они отличаются одной строчкой, а вердикт — противоположный. Это и есть ответ на вопрос «чем равновесный набор сил отличается от неравновесного».
Почему не Rx == 0¶
В функции стоит math.isclose(rx, 0, abs_tol=0.01), а не rx == 0. Это не придирка. Проекции реальных сил дробные — их снимают с динамометра, и в них попадаются десятые доли ньютона. А дробные числа хранятся в конечном числе двоичных разрядов, и десятичная дробь вроде 0.1 в такой формат целиком не укладывается (М1 §1). Сумма, которая на бумаге даёт ровный ноль, в памяти может дать ноль с крошечным хвостом.
-2.7755575615628914e-17
False
True
Первая строка вывода — не ноль, а очень маленькое отрицательное число. Читается такая запись так: e-17 означает «сдвинуть запятую на 17 разрядов влево», то есть первая значащая цифра стоит на 17-м месте после запятой — примерно \(-0{,}000\,000\,000\,000\,000\,027\). Это и есть хвост от хранения дробей в двоичном виде. Вторая строка поэтому False: строгое сравнение с нулём проваливается. Третья — True: если спрашивать «меньше ли модуль хвоста, чем 0.01 Н», ответ разумный.
Компьютер здесь не ошибается — он хранит число так, как умеет, в конечном числе разрядов. Ошиблись бы мы, потребовав от него точного нуля. Поэтому проверка равновесия всегда идёт с допуском: либо abs(rx) < 0.01, либо math.isclose(rx, 0, abs_tol=0.01) — в наших задачах обе записи работают одинаково, и обе вам знакомы по прошлому параграфу (М2 §2).
Допуск выбирают по задаче. 0.01 Н — это сотая доля ньютона, меньше, чем различит школьный динамометр; принять такую равнодействующую за ноль честно.
Функция zip()¶
Данные не всегда приходят парами. Часто проекции снимают колонками: отдельно все \(F_x\), отдельно все \(F_y\). Чтобы пройти по двум спискам одновременно, в Python есть zip.
zip(a, b)идёт по двум спискам сразу и на каждом шаге отдаёт пару: первый элемент спискаaс первым элементомb, второй со вторым, и так далее. Останавливается, когда кончается более короткий список.
Название говорит само за себя: zip — застёжка-молния, которая сцепляет два ряда зубчиков в один. Вы уже видели zip в работе — в мини-лаборатории М0 §1, где мы печатали таблицу «время — путь» по двум спискам. Тогда он мелькнул без объяснений; теперь у него есть имя и определение.
Таблица сил через zip¶
Запишем три силы фонаря двумя колонками и напечатаем по ним таблицу — с координатами и модулем каждой силы.
import math
xs = [0, -12, 12]
ys = [-40, 5, 35]
for fx, fy in zip(xs, ys):
print(f"({fx}; {fy}) модуль = {math.sqrt(fx*fx + fy*fy)} Н")
(0; -40) модуль = 40.0 Н
(-12; 5) модуль = 13.0 Н
(12; 35) модуль = 37.0 Н
Три строки вывода — три силы. Модули совпали с теми, что заявлены в вопросах к главе: 40 Н, 13 Н и 37 Н. Заголовок цикла выглядит так же, как в resultant: zip отдаёт пары, а пара тут же раскладывается на fx и fy.
zip останавливается на коротком списке¶
Одна ловушка, о которой лучше узнать заранее.
3 0
-1 4
Сил в первом списке три, а во втором — две проекции. zip напечатал только две пары: третье значение -2 осталось без пары и было молча отброшено. Ошибки Python не покажет.
Отсюда правило: списки проекций должны быть одинаковой длины, и это стоит проверять глазами перед запуском. Пропущенная в колонке проекция превратится в потерянную силу, а потерянная сила — в неверный вердикт о равновесии.
Многоугольник сил черепахой¶
Необязательный блок: нужен графический вывод, поэтому запускайте его в Replit или в локальном Python.
Замкнутость многоугольника можно не только посчитать, но и увидеть. Черепаха идёт по цепочке сил: из текущей точки — на \(F_x\) вправо и \(F_y\) вверх, потом от нового места — следующая сила, и так до конца списка. Чтобы треугольник не оказался микроскопическим, каждую проекцию умножаем на масштаб: одному ньютону соответствуют 4 точки экрана.
import turtle
forces = [(0, -40), (-12, 5), (12, 35)]
scale = 4
t = turtle.Turtle()
t.speed(0)
for fx, fy in forces:
t.goto(t.xcor() + fx * scale, t.ycor() + fy * scale)
print(round(t.xcor() / scale))
print(round(t.ycor() / scale))
На экране получится треугольник, а черепаха вернётся туда, откуда вышла. Печатаем мы не сами экранные координаты, а поделённые на масштаб — то есть снова ньютоны. Две напечатанные величины — нули: конец последнего вектора совпал с началом первого. Замкнутость видна и картинкой, и числом.
Поменяйте одну проекцию — например, вместо (12, 35) поставьте (12, 30) — и ломаная не сойдётся: между концом и началом останется просвет, а числа покажут 0 и -5. Этот просвет и есть равнодействующая: 5 Н, направленные вниз.
Ещё одна мелочь для локального запуска: допишите последней строкой turtle.done(), иначе окно с рисунком закроется сразу, как только программа кончится, и вы решите, что ничего не нарисовалось.
М2 §3.6. Задачи¶
Уровень A: узнавание¶
A1. Определите знаки проекций каждого вектора: \(\vec{a}\) смотрит влево и вверх; \(\vec{b}\) — вправо и вниз; \(\vec{c}\) — строго вниз; \(\vec{d}\) — строго вправо. Оси обычные: \(Ox\) вправо, \(Oy\) вверх.
A2. Замкнут ли многоугольник сил? Наборы проекций (в ньютонах): а) \((2;\,3)\), \((-5;\,1)\), \((3;\,-4)\); б) \((1;\,2)\), \((-4;\,0)\), \((3;\,-1)\). Если не замкнут — скажите, в какую сторону поедет тело.
A3. Груз висит на двух верёвках, закреплённых на потолке под разными углами. Назовите три силы, действующие на груз, и для каждой скажите: какое тело её создаёт и к какому телу она приложена. Почему вес груза в этот список не входит?
A4. Дан вектор \(\vec{a}\,(-8;\,6)\). Запишите координаты противоположного вектора и найдите его длину.
A5. Сила направлена строго горизонтально влево, её модуль 15 Н. Запишите её координаты.
Подсказка к A2: считайте суммы отдельно по каждой оси; модуль равнодействующей для ответа не нужен.
Уровень B: расчёт сил по проекциям¶
B1. Груз массой 2 кг (\(g = 10\) Н/кг) висит на двух тросах. Левый трос горизонтален и тянет груз влево. Правый закреплён так, что его стрелка на клетчатой сетке идёт на 3 клетки вправо и 4 клетки вверх. Найдите модули натяжения обоих тросов.
B2. На тело действуют три силы: 3 Н вправо, 4 Н вверх и сила модулем 5 Н с проекциями \((-3;\,-4)\). Найдите координаты и модуль равнодействующей. В равновесии ли тело?
B3. На тело действуют силы с проекциями \((6;\,-2)\), \((-2;\,5)\) и \((-1;\,1)\) (в ньютонах). Найдите \(R_x\), \(R_y\), модуль равнодействующей и опишите словами, куда тело поедет.
B4. Санки везут за верёвку с силой 50 Н; проекции силы тяги — \((40;\,30)\). Масса санок с грузом 20 кг, \(g = 10\) Н/кг. Найдите силу реакции опоры. На сколько ньютонов она отличается от той, что была бы при горизонтальной тяге?
Подсказка к B1: по вертикали груз держит только правый трос, значит его вертикальная проекция равна модулю силы тяжести. Направление правого троса задано клетками: 4 клетки вверх и 3 вправо. Раз на 4 клетки по вертикали приходится найденное число ньютонов, посчитайте, сколько ньютонов приходится на одну клетку, — и умножьте на 3, чтобы получить горизонтальную проекцию. Дальше модуль по Пифагору, а натяжение левого троса — из условия \(R_x = 0\).
Уровень B: векторы в координатах¶
B5. Дан вектор \(\vec{a}\,(-6;\,8)\). Найдите его длину и координаты противоположного вектора.
B6. Даны \(\vec{a}\,(3;\,-5)\) и \(\vec{b}\,(-7;\,2)\). Найдите координаты \(\vec{a} + \vec{b}\) и \(\vec{a} - \vec{b}\). Длина какого из этих двух векторов больше — ответьте до вычислений, глядя на координаты, а потом проверьте счётом. Корни извлекать не нужно: чей квадрат длины больше, того и длина больше.
B7. Модуль силы равен 13 Н, её проекция на ось \(Ox\) равна 5 Н. Найдите проекцию на ось \(Oy\). Сколько у задачи ответов и чем они различаются физически?
B8. Вектор идёт из точки \((2;\,-1)\) в точку \((-4;\,7)\). Запишите его координаты и найдите длину.
Подсказка к B7: воспользуйтесь формулой модуля и вспомните, что квадраты противоположных чисел равны.
Уровень C: перенос¶
C1. Три силы уравновешивают друг друга. Две известны: \(\vec{F}_1\,(7;\,-24)\) и \(\vec{F}_2\,(-7;\,4)\) (в ньютонах). Найдите координаты и модуль третьей силы. Постройте замкнутый треугольник сил на клетчатой бумаге и убедитесь, что построение согласуется с расчётом.
C2. Мальчик тянет санки за верёвку с силой 50 Н, проекции силы \((40;\,30)\). Объясните, какая составляющая двигает санки, а какая разгружает опору. Что произойдёт с каждой из составляющих, если взять верёвку подлиннее и потянуть более полого, сохранив модуль силы 50 Н?
C3. Фонарь из вопросов к главе перевесили: оба троса стали одинаково наклонными, и теперь их натяжения имеют проекции \((-15;\,20)\) и \((15;\,20)\). Проверьте, держат ли они тот же фонарь массой 4 кг. Найдите модули натяжений и сравните с прежними 13 Н и 37 Н. Какой подвес выгоднее для тросов и почему?
C4 (программная). Напишите функцию resultant(forces) заново, не подглядывая в §3.5: она получает список пар-проекций, печатает \(R_x\), \(R_y\), модуль равнодействующей и вердикт о равновесии с допуском 0.01 Н. Проверьте её на четырёх наборах: из задач B2, B3, C1 (все три силы) и на наборе фонаря из C3 вместе с силой тяжести.
Подсказка к C1: третья сила противоположна сумме первых двух — сначала сложите, потом смените оба знака.
Предскажите вывод программы¶
В этих трёх задачах ответ — то, что программа напечатает. Сначала получите его в уме или на бумаге, и только потом запускайте код.
D1. Что напечатает программа?
import math
def resultant(forces):
rx = 0
ry = 0
for fx, fy in forces:
rx = rx + fx
ry = ry + fy
r = math.sqrt(rx*rx + ry*ry)
print(f"Rx = {rx} Н, Ry = {ry} Н, |R| = {r} Н")
if math.isclose(rx, 0, abs_tol=0.01) and math.isclose(ry, 0, abs_tol=0.01):
print("равновесие")
else:
print("тело поедет")
resultant([(6, 0), (-2, 3), (-4, -3)])
D2. Функция та же, что в D1, но у последней силы поменяли знак второй проекции. Что изменится в выводе — обе строки или только одна?
D3. Ловушка. Здесь в список попали и сила тяги санок \((40;\,30)\), и обе её составляющие. Предскажите три числа и вердикт — и объясните, почему модуль вышел именно таким.
Подсказка к D3: вернитесь к разбору заблуждения в §3.4 — что происходит, когда одну и ту же силу учитывают дважды.
М2 §3.7. Итог¶
Глава добавила в ваш инструментарий семь вещей.
- Сила натяжения \(\vec{T}\) — сила упругости натянутого троса, приложенная к телу и направленная вдоль троса от тела к точке крепления.
- Правило многоугольника — способ сложить любое число векторов: цепочка «конец к началу», сумма от начала первого к концу последнего. Равновесие = замкнутая цепочка.
- Вычитание векторов — \(\vec{a} - \vec{b} = \vec{a} + (-\vec{b})\); недостающая сила в замкнутом многоугольнике противоположна сумме остальных.
- Проекция вектора на ось — число со знаком: сколько и в какую сторону. Знак — не ошибка и не опечатка, а часть ответа.
- Координаты вектора \((F_x;\, F_y)\) и модуль \(|\vec{F}| = \sqrt{F_x^2 + F_y^2}\): два числа полностью заменяют стрелку, а сложение векторов превращается в сложение чисел по каждой оси отдельно.
- Условие равновесия в проекциях: \(R_x = 0\) и \(R_y = 0\) — одно векторное равенство, записанное двумя числовыми.
- Разложение силы на составляющие — замена силы двумя по заданным направлениям с той же равнодействующей.
В программировании прибавилось четыре: функция resultant, которая складывает список пар и печатает вердикт; распаковка пары прямо в заголовке цикла for fx, fy in ...; проверка равновесия с допуском вместо сравнения с нулём; и zip, сцепляющий две колонки чисел в пары.
Главное же — способ действий. Любая задача на равновесие теперь решается по одному маршруту: назвать тело → выписать силы, приложенные к нему → выбрать оси → снять проекции со знаками → приравнять обе суммы нулю. Дальше остаётся арифметика, и её можно поручить машине.
Мост к М2 §4¶
В этой главе все тела покоились, а поверхности были идеально гладкими: брусок на наклонной доске мы обсудили только словами, потому что стоит спросить «поедет он или нет?» — и в ответ придётся ввести силу, о которой мы ещё не говорили. Санки в задаче о верёвке тоже ехали так, будто снег совсем не сопротивляется.
Так не бывает. Есть сила трения, и она устроена хитрее уже знакомых: её модуль зависит от того, насколько сильно тело прижато к опоре, — то есть от той самой \(\vec{N}\), которую мы научились считать через проекции. А направление её всегда против движения, и это делает многоугольник сил куда интереснее.
Следующая глава вводит силу трения; наклонная доска получит числа, когда появится тригонометрия. Останется и один давний долг: слово «инерция», обещанное в прошлом параграфе (М2 §2), ждёт своей главы в девятом классе — там оно наконец получит определение, а не одно упоминание.