Перейти к содержанию

М2 §4. Сила трения: почему санки останавливаются

Вопросы к М2 §4

Санки, которым дали толчок, проезжают несколько метров и останавливаются. Шкаф, который толкают вдвоём, не двигается вовсе. Брусок на льду проезжает в десять раз больше, чем тот же брусок по ковру. Всё это — про одну силу, и вот что мы будем про неё спрашивать.

  1. Почему движущееся тело останавливается? Потому что «кончилась сила, которая его толкала», — или по какой-то другой причине?
  2. Шкаф толкают, а он стоит. Какая сила его держит и чему она равна: какому-то одному «шкафному» числу или тому, с какой силой толкают?
  3. От чего зависит сила трения скольжения — от веса, от площади соприкосновения, от скорости? Как отличить «шершавую» пару поверхностей от «скользкой» числом, а не словом?
  4. Тягу 10 Н вправо и трение 4 Н влево нужно сложить как векторы. Правило треугольника из М2 §1 здесь даёт треугольник нулевой высоты. Что с ним делать?
  5. Лодка идёт со скоростью 5 м/с, река несёт со скоростью 3 м/с. Скорость лодки относительно берега — всегда 8 м/с?
  6. Бруску дали толчок 4 м/с. Через сколько секунд он остановится и сколько метров проедет? Формулы для этого у нас пока нет — как получить ответ?

Три мира главы разложены так. Явление — трение: то, что держит тело до срыва, и то, что тормозит его после. Аппарат — векторы, лежащие на одной прямой: их складывать проще, чем в общем случае, но правило надо назвать, иначе оно превращается в «схлопнутый треугольник». Инструмент — пошаговый счёт: скорость пересчитывается малыми порциями времени, пока не станет нулевой. Без компьютера такой счёт означал бы сто тридцать четыре строчки в тетради; с компьютером — десяток строк кода и ответ, который вдобавок показывает, насколько он сам надёжен.


М2 §4.1. Физика: остановка — это тоже результат силы

Возьмите деревянный брусок и толкните его рукой — один раз, коротко, и уберите руку. Проведите опыт трижды, стараясь толкать одинаково:

  • по ковру брусок проедет сантиметров тридцать;
  • по гладкому столу — метра полтора;
  • по льду (или по столу, политому водой и подмороженному в морозилке) — несколько метров.

Толчок один и тот же. Брусок один и тот же. Меняется только поверхность, по которой он едет, — и путь до остановки меняется в разы.

Отсюда первый вывод главы, и он важнее всех формул, которые будут дальше. Тело останавливается не само. Его останавливает сила, которая появляется там, где две поверхности соприкасаются и скользят друг по другу. Эта сила называется силой трения. Сделайте поверхность более гладкой — сила меньше, путь длиннее. Мысленно доведите этот ряд до конца: если трение вовсе исчезнет, тормозить бруску будет нечем, и он поедет по столу вечно, до самого края.

Брусок на столе; от центра бруска вниз вектор F_тяж, от площадки контакта вверх вектор N, вправо вектор F_тяги, влево — вектор F_тр, приложенный к нижней грани

Четыре силы на бруске. Обратите внимание на точки приложения: сила тяжести — от центра, а трение и реакция опоры — от площадки контакта, а не от центра


Разбор заблуждения: «сила кончилась — вот он и встал»

Так объясняли движение две тысячи лет, и так объясняет его почти каждый, кого спросить впервые: пока толкаешь — едет, перестал толкать — останавливается, значит, «толкающая сила» израсходовалась.

Посмотрите на опыт ещё раз. Рука отпустила брусок в одной точке — а он проехал после этого полтора метра. Полтора метра его никто вперёд не толкал: руки на нём уже нет, и никакого «запаса силы» в нём не спрятано. Тем не менее он двигался. Значит, для движения сила не нужна. Сила нужна для того, чтобы движение изменилось: началось, ускорилось, замедлилось, повернуло.

И вторая половина того же довода: если бы тело останавливалось само по себе, ему было бы всё равно, по чему ехать. А ему не всё равно — по льду путь в десять раз длиннее. Останавливает именно поверхность.

У способности тела сохранять свою скорость, пока его не трогают, есть имя, и в курсе оно появится позже, в главе о том, как силы связаны с изменением скорости. Здесь нам достаточно самого факта: остановка — результат действия силы трения, а не свойство движения.


М2 §4.2. Физика: пока брусок не сдвинулся

Второй опыт. Тот же брусок массой 2 кг лежит на столе, к нему прицеплен динамометр (М2 §1), и вы тянете горизонтально — очень слабо, потом сильнее, потом ещё сильнее.

показание динамометра что делает брусок
1 Н стоит
3 Н стоит
5 Н стоит
6,8 Н стоит, но, кажется, вот-вот дрогнет
7,2 Н срывается и едет

Пока брусок стоит, он находится в равновесии: скорость не меняется, значит, равнодействующая всех сил на нём — нулевой вектор (М2 §2). По вертикали друг друга уравновешивают сила тяжести и реакция опоры. А по горизонтали? Вы тянете вправо с силой 3 Н — значит, что-то тянет влево ровно с теми же 3 Н. Больше на бруске ничего нет, кроме стола. Стол и держит.


Определение: сила трения покоя

Сила трения покоя \(F_{\text{тр.п}}\) — сила, с которой поверхность действует на неподвижное тело, когда его пытаются сдвинуть вдоль этой поверхности. Она направлена противоположно приложенной вдоль поверхности силе и по модулю равна ей, пока тело остаётся на месте:

\[F_{\text{тр.п}} = F_{\text{тяги}} \qquad \text{(пока тело не сдвинулось)}\]

На языке М2 §2 это значит: вектор силы трения покоя — противоположный вектор к вектору тяги, а их сумма — нулевой вектор.

Такое равенство не может держаться сколько угодно. У силы трения покоя есть максимум: как только тяга его превысит, равновесие ломается и тело срывается.

Здесь и далее в главе мы берём \(g = 10\) Н/кг: в задачах седьмого класса такое округление обычное и сильно упрощает счёт.

Максимум записывают так:

\[F_{\text{тр.п}}^{\max} = \mu_0 N,\]

где \(N\) — сила, с которой поверхности прижаты друг к другу (для бруска на горизонтальном столе это реакция опоры, равная по модулю \(mg\)), а \(\mu_0\) — число, зависящее от пары материалов. Индекс «0» у буквы \(\mu\) напоминает, что речь о покое: скорость тела равна нулю. В нашем опыте порог оказался около 7 Н при \(N = mg = 2 \cdot 10 = 20\) Н, значит, \(\mu_0 \approx 0{,}35\).

Точная запись условия покоя — неравенство:

\[F_{\text{тр.п}} \le \mu_0 N.\]

Граничный случай, когда тяга в точности равна порогу, договоримся считать последним мгновением покоя: при \(F_{\text{тяги}} = \mu_0 N\) тело ещё стоит, а срывается при любой сколь угодно малой добавке. Эта договорённость понадобится и в программе, и в задачах.


Разбор заблуждения: «трение покоя равно μN — и точка»

Формулу \(F = \mu N\) запоминают быстрее, чем оговорки к ней, и получается вот что: «на брусок всегда действует трение 7 Н, значит, если я тяну с силой 3 Н, равнодействующая равна 4 Н влево, и брусок должен уехать назад».

Брусок, тем самым, должен сам поехать в сторону, противоположную вашей тяге. Такого не бывает ни в одном опыте — и это хороший признак того, что рассуждение сломано.

Правильная картина: пока тело стоит, трение покоя подстраивается под тягу. Тянете 1 Н — трение 1 Н. Тянете 5 Н — трение 5 Н. Величина \(\mu_0 N\) — это не значение силы трения покоя, а её предел: до него трение справляется, за ним — нет. И слово «стоит» в задаче — не лишняя деталь условия, а прямое указание, чему равно трение.

График: по горизонтали приложенная сила, по вертикали сила трения. Сначала наклонный отрезок под 45 градусов до пика μ₀N, затем горизонтальная линия на уровне μN. Зоны подписаны «покой» и «скольжение»

Слева — зона покоя: сила трения равна приложенной силе, точки лежат на наклонной прямой. После пика μ₀N тело срывается, и трение становится почти постоянным: это уже трение скольжения


М2 §4.3. Физика: когда брусок поехал

После срыва картина меняется: брусок движется, и сила трения перестаёт подстраиваться под тягу — она становится почти постоянной. Это удобно измерить.

Прицепите динамометр и тяните брусок так, чтобы он ехал равномерно — с постоянной скоростью, без рывков (равномерное движение мы разбирали в М1 §3). Раз скорость не меняется, брусок и в этом случае в равновесии: равнодействующая — нулевой вектор. По горизонтали на него действуют только тяга и трение, они противоположно направлены, значит, их модули равны:

\[F_{\text{тр}} = F_{\text{дин}}.\]

Показание динамометра при равномерном протягивании и есть сила трения скольжения. Это самый простой школьный способ её измерить — и он же будет способом измерить \(\mu\).

Для бруска 2 кг по деревянному столу динамометр покажет около 6 Н.


Определение: сила трения скольжения, коэффициент трения

Сила трения скольжения \(F_{\text{тр}}\) — сила, с которой поверхность действует на скользящее по ней тело. Она направлена противоположно скорости тела относительно поверхности и в широком диапазоне условий прямо пропорциональна силе прижатия:

\[F_{\text{тр}} = \mu N.\]

Коэффициент трения \(\mu\) — безразмерное число, характеризующее пару соприкасающихся поверхностей. Его находят из измерения:

\[\mu = \frac{F_{\text{тр}}}{N} = \frac{6\ \text{Н}}{20\ \text{Н}} = 0{,}3.\]

Три следствия, которые стоит проговорить отдельно.

Прижали сильнее — трение больше. Зависимость \(F_{\text{тр}} = \mu N\) — прямая пропорциональность: положите на брусок такой же второй, и \(N\) удвоится, и трение удвоится. Поэтому тяжёлый шкаф двигать труднее не «потому что тяжёлый», а потому что он сильнее прижат к полу.

Скорость почти не важна. Тащите брусок вдвое быстрее — динамометр покажет примерно то же. Это отличает трение скольжения от сопротивления воздуха, которое с ростом скорости растёт заметно; воздухом мы в этой главе не занимаемся.

Безразмерность \(\mu\). В формуле делится ньютон на ньютон, поэтому у \(\mu\) нет единиц. Число 0,3 означает: чтобы тащить, нужна сила в три десятых от силы прижатия. Значения \(\mu\) для реальных пар лежат примерно от 0,02 (сталь по льду) до 0,8 (резина по сухому асфальту).

Для трения покоя коэффициент \(\mu_0\) обычно чуть больше, чем \(\mu\) для той же пары: сорвать с места труднее, чем поддерживать движение. В школьных задачах их часто считают равными, и мы будем поступать так же, если в условии не сказано иначе.


Разбор заблуждения: «трение зависит от площади соприкосновения»

Рассуждение кажется безупречным: трение возникает в месте соприкосновения, значит, чем больше соприкосновение, тем больше трение. Проверим.

Возьмите брусок в форме кирпичика и протащите его равномерно динамометром дважды: сначала лежащим на широкой грани, потом — на узкой. Площадь контакта отличается втрое. Динамометр показывает одно и то же.

Слева брусок лежит на широкой грани, справа тот же брусок поставлен на узкую грань; к каждому прицеплен динамометр, показания одинаковые

Площадь контакта втрое разная, показания динамометра одинаковые: в формуле F_тр = μN площади нет

В формуле \(F_{\text{тр}} = \mu N\) площади действительно нет — есть только сила прижатия и пара материалов. Почему так, видно на микроскопической схеме: поверхности касаются не всей своей площадью, а вершинами мельчайших выступов. Поставили брусок на узкую грань — площадок стало меньше, но каждая прижата сильнее и сминается глубже; поставили на широкую — площадок больше, но каждая прижата слабее. Суммарная настоящая площадь касания в обоих случаях примерно одинаковая, потому что зависит она от силы прижатия, а не от того, какой гранью вы положили брусок.

Слева: две шероховатые поверхности в увеличении, выступы зацепляются вершинами. Справа: тот же контакт, между поверхностями слой смазки, выступы разделены

Контакт в увеличении: поверхности сцепляются вершинами выступов. Смазка разводит выступы — и коэффициент трения падает в разы


Врезка: трение не только мешает

Со стороны трение выглядит вредителем: съедает движение, греет детали, изнашивает подошвы. Мысль «идеальный мир — мир без трения» приходит сама. Попробуйте в нём пожить.

Ходьба и колёса. Вы идёте вперёд потому, что нога толкает пол назад, а трение покоя толкает вас вперёд. Ровно то же трение покоя, которое держало шкаф, разгоняет и тормозит автомобиль — через пятно контакта шины с дорогой. Уберите его — и получится лёд, по которому нельзя ни разогнаться, ни повернуть, ни остановиться; мокрый асфальт и лысая шина — это уменьшенный \(\mu\), и тормозной путь растёт в разы.

Крепёж. Гвоздь держится в доске трением, узел на верёвке — трением, винт в резьбе — трением. Без него полка отвалится, а шнурки развяжутся сами.

Кстати, тащить тяжёлый ящик труднее, чем катить его на роликах: у катящегося тела сопротивление совсем другой природы и обычно в десятки раз меньше. Разбор этого случая — в главе о механизмах; здесь достаточно того, что колесо придумали не зря.

Полезное правило: трение вредно там, где детали должны скользить (подшипники, поршни — им нужна смазка), и необходимо там, где что-то должно держаться или отталкиваться (тормоза, шины, обувь, крепёж).


Считаем: таблица для бруска 2 кг

Слово «шершавее» превращается в величину, а величину удобно смотреть таблицей. Возьмём шесть пар поверхностей и посчитаем для каждой силу трения бруска массой 2 кг на горизонтальной поверхности: \(N = mg = 20\) Н, \(F_{\text{тр}} = \mu N\).

Два списка идут «параллельно»: в первом — названия пар, во втором — коэффициенты. Пройти по ним одновременно позволяет zip (М0 §1). Запись {pair:22} в f-строке — просьба дополнить название пробелами до 22 знаков, чтобы столбик получился ровным.

pairs = ["сталь по льду", "лыжи по снегу", "сталь по стали",
         "дерево по дереву", "кирпич по бетону", "резина по асфальту"]
mus = [0.02, 0.05, 0.15, 0.30, 0.60, 0.70]

m = 2.0
g = 10.0
N = m * g

for pair, mu in zip(pairs, mus):
    print(f"{pair:22} mu = {mu:.2f}   F_тр = {mu * N:.1f} Н")
сталь по льду          mu = 0.02   F_тр = 0.4 Н
лыжи по снегу          mu = 0.05   F_тр = 1.0 Н
сталь по стали         mu = 0.15   F_тр = 3.0 Н
дерево по дереву       mu = 0.30   F_тр = 6.0 Н
кирпич по бетону       mu = 0.60   F_тр = 12.0 Н
резина по асфальту     mu = 0.70   F_тр = 14.0 Н

Разброс между первой и последней строкой — тридцать пять раз. Это и есть ответ на вопрос «насколько лёд скользкее асфальта» в числах: не «намного», а «в тридцать пять раз при том же прижатии».


Считаем: проверка порога

Теперь та же арифметика, но с решением. Условие «сдвинется или нет» — это сравнение тяги с порогом \(\mu_0 N\), а сравнение и выбор ответа — работа if (М2 §2).

m = 2.0
g = 10.0
mu_0 = 0.35

N = m * g
threshold = mu_0 * N
print(f"порог срыва: {threshold:.1f} Н")

for pull in [3.0, 5.0, 7.5]:
    if pull <= threshold:
        print(f"тяга {pull} Н: стоит, сила трения покоя равна {pull} Н")
    else:
        print(f"тяга {pull} Н: поехал, порога уже не хватает")
порог срыва: 7.0 Н
тяга 3.0 Н: стоит, сила трения покоя равна 3.0 Н
тяга 5.0 Н: стоит, сила трения покоя равна 5.0 Н
тяга 7.5 Н: поехал, порога уже не хватает

В условии стоит <=, а не <, — это та самая договорённость из §4.2: тяга, в точности равная порогу, оставляет тело в покое, а срыв начинается за порогом. Заметьте также, что в первой ветке печатается не порог, а сама тяга: трение покоя равно тому, с чем его уравновешивают. Программа здесь ничего не «знает» про физику — она просто повторяет то, что мы разобрали в §4.2, и повторяет без исключений, чего от человека на десятом брусковом варианте ждать уже нельзя.


М2 §4.4. Математика: векторы на одной прямой

В М2 §1 мы складывали векторы правилом треугольника: от конца первого откладываем второй, сумма — вектор от начала первого к концу второго. В этой главе все силы на бруске, действующие вдоль стола, лежат на одной прямой: тяга вправо, трение влево. Постройте для них треугольник — и он схлопнется в отрезок: третьей вершине некуда деваться, все три точки оказываются на одной линии.

Это не сбой правила, а его вырожденный случай, и он встречается так часто, что для него держат отдельную короткую формулировку.


Определение: коллинеарные векторы

Коллинеарные векторы — векторы, лежащие на одной прямой или на параллельных прямых. Среди них различают два случая:

  • сонаправленные — направления совпадают (обозначают \(\vec{a} \uparrow\uparrow \vec{b}\));
  • противоположно направленные — направления противоположны (\(\vec{a} \uparrow\downarrow \vec{b}\)).

Противоположный вектор \(-\vec{a}\) из М2 §2 — частный случай второго: тот же модуль, противоположное направление. Тяга и трение всегда противоположно направлены — это и есть их определяющее свойство: трение направлено против того движения (или против той попытки движения), которое есть.


Правило: как сложить два вектора на одной прямой

Если векторы сонаправлены — модули складываются, направление остаётся тем же:

\[|\vec{a} + \vec{b}| = |\vec{a}| + |\vec{b}|, \qquad \vec{a} + \vec{b} \uparrow\uparrow \vec{a}.\]

Если противоположно направлены — из большего модуля вычитается меньший, а направление суммы — направление вектора с большим модулем:

\[|\vec{a} + \vec{b}| = \bigl| |\vec{a}| - |\vec{b}| \bigr|.\]

Разберите эту запись на числах: тяга 6 Н вправо и трение 4 Н влево дают 2 Н вправо, потому что \(|6 - 4| = 2\), а направление — у шестёрки. Внешние палочки нужны только затем, чтобы результат не оказался отрицательным: если вычесть наоборот, получится \(4 - 6 = -2\), а длина вектора отрицательной не бывает.

Если при этом модули равны — сумма есть нулевой вектор, и это в точности условие равновесия из М2 §2.

Способ, который избавляет от разбора случаев, — проекции (М2 §1). Направим ось \(Ox\) вдоль прямой. Проекция вектора на ось — число со знаком: плюс, если вектор смотрит по оси, минус — если против; модуль числа равен модулю вектора. Тогда сложение векторов превращается в сложение чисел:

\[F_x = F_{1x} + F_{2x},\]

и никаких «вычесть меньшее из большего» помнить не нужно: знаки сделают это сами. Правило и проекции — одна и та же операция, записанная двумя способами; проекции удобнее, когда векторов больше двух или когда считать будет программа.

Слева на оси Ox два сонаправленных вектора и их сумма, под ними запись 6 + 4 = 10. Справа два противоположно направленных вектора и их сумма, под ними запись (+10) + (−4) = +6

Слева сонаправленные векторы: модули складываются. Справа противоположно направленные: в проекциях на Ox это обычное сложение чисел со знаком


Пример: считаем равнодействующую

Брусок массой 2 кг тянут вправо с силой 10 Н; коэффициент трения 0,3, поверхность горизонтальная, брусок едет.

Ось \(Ox\) — вправо. По вертикали сила тяжести и реакция опоры уравновешены, значит, \(N = mg = 20\) Н, и трение равно

\[F_{\text{тр}} = \mu N = 0{,}3 \cdot 20 = 6\ \text{Н}.\]

Трение направлено против движения, то есть влево: его проекция \(-6\) Н. Проекция тяги \(+10\) Н. Равнодействующая вдоль оси:

\[F_x = (+10) + (-6) = +4\ \text{Н}.\]

Четыре ньютона вправо: тяга «побеждает», брусок разгоняется. Теперь ослабьте тягу до 6 Н: \(F_x = (+6) + (-6) = 0\) — равнодействующая обратилась в нулевой вектор, и брусок едет равномерно. Именно этот режим мы использовали при измерении трения динамометром. А если тяга 4 Н и брусок при этом уже едет: \(F_x = (+4) + (-6) = -2\) Н, равнодействующая направлена назад — брусок замедляется и в конце концов встанет.

Последний случай — то, что происходит с санками, когда их перестают тянуть совсем: тяги нет, остаётся одно трение, направленное против движения, и оно останавливает.

Правило сложения на одной прямой мы вывели для сил, но в нём нет ни слова про силы: так складываются любые коллинеарные векторы. В следующем параграфе те же плюсы и минусы на оси поработают со скоростями — лодки и течения.


М2 §4.5. Физика: лодка и течение

То же правило работает не только с силами. Вспомним М1 §3: любая скорость измеряется относительно выбранной системы отсчёта, и без указания «относительно чего» число «5 м/с» неполно.

Лодка идёт по реке. Гребцы задают скорость 5 м/с относительно воды: столько показал бы поплавок, плывущий рядом. Вода при этом сама движется относительно берега со скоростью 3 м/с. С какой скоростью лодка идёт относительно берега — того, кто стоит на мосту с секундомером?

Ответ: складывать нужно векторы, и складывать по правилу для коллинеарных векторов, потому что и лодка, и течение движутся вдоль русла.


Определение: сложение скоростей

Если тело движется со скоростью \(\vec{v}_{\text{отн}}\) относительно среды (воды, эскалатора, вагона), а сама среда движется со скоростью \(\vec{u}\) относительно неподвижной системы отсчёта (берега, земли), то скорость тела относительно неподвижной системы отсчёта равна векторной сумме:

\[\vec{v} = \vec{v}_{\text{отн}} + \vec{u}.\]

Для лодки на реке оба вектора коллинеарны, и всё сводится к двум случаям. Ось \(Ox\) направим по течению.

По течению: проекции \(+5\) и \(+3\), значит \(v_x = +8\) м/с. Лодка идёт со скоростью 8 м/с относительно берега.

Против течения: гребцы держат те же 5 м/с относительно воды, но теперь против оси, проекция \(-5\); течение по-прежнему \(+3\). Тогда \(v_x = (-5) + (+3) = -2\) м/с. Модуль — 2 м/с, знак «минус» говорит, что относительно берега лодка всё-таки движется против оси, то есть вверх по реке, — но вчетверо медленнее, чем вниз.

Если бы течение было 5 м/с, вышло бы \(v_x = (-5) + (+5) = 0\): нулевой вектор, лодка гребёт изо всех сил и стоит напротив одной и той же ивы на берегу. Это ровно та ситуация равновесия из М2 §2, только для скоростей.

Река с двумя лодками. У верхней вектор скорости лодки по течению и вектор течения складываются в длинный вектор. У нижней вектор лодки против течения и вектор течения дают короткий вектор против течения

Одна и та же лодка и одно и то же течение: по течению скорости складываются, против — вычитаются, и направление берёт верх у большего вектора


Разбор заблуждения: «5 и 3 — это 8»

Самая частая ошибка в задачах на движение по реке: увидели два числа, сложили. Иногда правильно — а иногда получается лодка, которая идёт против течения быстрее, чем стоячая вода ей позволяет.

Причина ошибки в том, что скорость считают числом, а не вектором. Число само не знает, куда оно смотрит. Как только вы записали проекции на ось, ошибка становится невозможной: против оси — минус, по оси — плюс, а сумма получается сама.

Проверьте себя на эскалаторе. Эскалатор поднимает вас со скоростью 0,8 м/с, вы идёте по нему со скоростью 1 м/с. Наверх, шагая: \(0{,}8 + 1 = 1{,}8\) м/с относительно станции. Вниз по тому же поднимающемуся эскалатору: \((+0{,}8) + (-1) = -0{,}2\) м/с — вы медленно спускаетесь. А если вы идёте вниз со скоростью 0,8 м/с — стоите на месте относительно станции и не двигаетесь никуда, сколько бы ни шагали.


М2 §4.6. Информатика: считаем по шагам

Вернёмся к главному вопросу главы. Бруску дали толчок: начальная скорость 4 м/с, дальше его никто не тянет, коэффициент трения 0,3. Через сколько секунд он остановится и сколько метров проедет?

Готовой формулы у нас нет. Формула для такого движения выводится из связи между силой и изменением скорости, а этой связи в курсе ещё не было — она в модуле динамики. Так что мы честно в положении инженера, у которого есть закономерность, но нет замкнутого решения. Выход у него один и тот же уже полвека: считать по шагам.

Что нам известно про торможение? Трение почти постоянно, пока брусок едет. Опыт (а позже — динамика) показывает, что при постоянной тормозящей силе скорость убывает равномерно: за каждую секунду она уменьшается на одну и ту же величину, и эта величина для нашего случая равна \(\mu g\). Для \(\mu = 0{,}3\) и \(g = 10\) Н/кг это 3 м/с за секунду. Проверить такое утверждение можно измерением; выводить его мы пока не умеем и потому вводим как правило модели, а не как следствие законов.


Правило модели

За малый промежуток времени \(dt\) скорость уменьшается на \(\mu g\, dt\):

\[v_{\text{нов}} = v_{\text{стар}} - \mu g \cdot dt.\]

Сразу про обозначение: \(dt\) — единое двухбуквенное имя одной величины (читается «дэ-тэ», означает «маленькая порция времени»), а не произведение \(d\) на \(t\). Никакой отдельной буквы \(d\) в модели нет; в программе эта величина так и называется — dt.

За тот же промежуток тело проезжает путь, приблизительно равный \(v \cdot dt\) (внутри одного маленького шага скорость меняется мало, и движение можно считать равномерным — так же, как мы поступали в М1 §3 со средней скоростью):

\[x_{\text{нов}} = x_{\text{стар}} + v \cdot dt, \qquad t_{\text{нов}} = t_{\text{стар}} + dt.\]

Три строчки — и это вся модель. Повторяя их, мы шаг за шагом ведём брусок от толчка до остановки.

Про обозначения. В поурочном плане курса та же величина замедления записана буквой \(k\): v_new = v_old - k·dt. В учебнике буква \(k\) уже занята — жёсткостью пружины и угловым коэффициентом прямой, — поэтому здесь коэффициент замедления пишется своим смыслом, \(\mu g\), а в программе называется slowdown. Формула та же, обозначение другое.


Определение: пошаговая модель, шаг по времени

Пошаговая модель движения (её называют также численной моделью с дискретным временем) — способ рассчитать движение там, где формулы ответа нет: время делится на маленькие равные промежутки, и на каждом из них состояние тела пересчитывается по простому правилу.

Шаг по времени \(dt\) — длина такого промежутка. Это не деталь записи и не «мелочь для аккуратности», а полноправная величина модели: от неё зависит полученный ответ. Слишком крупный шаг искажает движение, слишком мелкий — заставляет делать миллионы сложений и приносит свои неприятности. Выбор \(dt\) — часть работы, и чуть ниже мы увидим этот выбор в цифрах.

Обратите внимание на разницу двух миров: настоящий брусок едет непрерывно, а наша модель двигает его рывками, по кусочку за раз. Модель — не сам брусок, а его пошаговая копия.


Цикл, у которого число повторов заранее неизвестно

Повторять три строчки нужно не «десять раз», а «пока брусок ещё едет». Сколько это шагов — заранее не знает никто: зависит и от начальной скорости, и от \(\mu\), и от \(dt\). Цикл for из М0 §1 для этого не годится: ему нужно наперёд сказать число повторов, а мы бы задавали его с запасом и потом как-то останавливались.

Для таких случаев существует цикл по условию:

v = 3
while v > 0:
    print(v)
    v = v - 1
3
2
1

Читается буквально: «пока v больше нуля — выполняй тело». Python проверяет условие перед каждым повторением. Как только условие оказалось ложным, цикл заканчивается и программа идёт дальше.

Два предупреждения, которые стоит запомнить сразу.

Условие должно когда-нибудь стать ложным. Если бы в примере не было строки v = v - 1, v навсегда осталась бы равной 3, и программа печатала бы тройку до конца времён. Такой цикл называют бесконечным; в Colab его останавливают кнопкой прерывания.

Условие — сравнение, а не проверка на точное равенство. Мы пишем while v > 0, а не while v != 0. Скорость складывается из множества вычитаний вещественных чисел, а вещественное число хранится в конечном числе разрядов, поэтому попасть ровно в 0 модель не обязана — она может проскочить в минус. Про сравнение вещественных чисел и math.isclose речь шла в М1 §1; здесь достаточно правила: условие «пока скорость положительна» надёжно, условие «пока скорость не равна нулю» — нет.


Считаем: от толчка до остановки

Собираем всё вместе. Состояние модели — три числа: скорость v, время t, координата x. Шаг dt возьмём 0,01 с.

mu = 0.3
g = 10.0
dt = 0.01

slowdown = mu * g      # на столько убывает скорость за 1 с
v = 4.0                # начальная скорость, м/с
t = 0.0
x = 0.0
step = 0

while v > 0:
    v = v - slowdown * dt
    x = x + v * dt
    t = t + dt
    step = step + 1
    if step <= 5:
        print(f"шаг {step}: t = {t:.2f} с, v = {v:.2f} м/с, x = {x:.4f} м")

print(f"шагов всего: {step}")
print(f"остановился через {t:.2f} с, проехав {x:.3f} м")
шаг 1: t = 0.01 с, v = 3.97 м/с, x = 0.0397 м
шаг 2: t = 0.02 с, v = 3.94 м/с, x = 0.0791 м
шаг 3: t = 0.03 с, v = 3.91 м/с, x = 0.1182 м
шаг 4: t = 0.04 с, v = 3.88 м/с, x = 0.1570 м
шаг 5: t = 0.05 с, v = 3.85 м/с, x = 0.1955 м
шагов всего: 134
остановился через 1.34 с, проехав 2.647 м

Первые пять строк показывают механику модели: каждую сотую долю секунды скорость убывает на 0,03 м/с, а путь подрастает почти на 4 сантиметра. Дальше сто с лишним таких же шагов — и брусок стоит примерно через 1,34 с, проехав около 2,65 м.

Столько же строк в тетради вы бы писали час. И это при том, что мы взяли одну начальную скорость и один коэффициент; поменять \(\mu\) на 0,05 (лёд) — в программе одна цифра, в тетради ещё восемьсот строк.


Считаем: от чего зависит ответ

Модель мы придумали сами, включая величину dt. Значит, надо проверить, насколько ответ от неё зависит. Проведём один и тот же расчёт с тремя шагами: 0,5 с, 0,1 с и 0,01 с. Чтобы не переписывать код трижды, оформим расчёт функцией (М0 §1).

Запись {dt:<6} в f-строке — «выровнять по левому краю в поле шириной 6 знаков», {steps:<5} — то же в поле шириной 5. Это родня знакомого {pair:22}: столбики не разъезжаются, даже когда числа разной длины.

def brake(dt):
    mu = 0.3
    g = 10.0
    slowdown = mu * g
    v = 4.0
    t = 0.0
    x = 0.0
    steps = 0
    while v > 0:
        v = v - slowdown * dt
        x = x + v * dt
        t = t + dt
        steps = steps + 1
    print(f"dt = {dt:<6} шагов: {steps:<5} t = {t:.3f} с  путь = {x:.3f} м  "
          f"последняя v = {v:.3f} м/с")

for dt in [0.5, 0.1, 0.01]:
    brake(dt)
dt = 0.5    шагов: 3     t = 1.500 с  путь = 1.500 м  последняя v = -0.500 м/с
dt = 0.1    шагов: 14    t = 1.400 с  путь = 2.450 м  последняя v = -0.200 м/с
dt = 0.01   шагов: 134   t = 1.340 с  путь = 2.647 м  последняя v = -0.020 м/с

Смотрите на три числа в каждой строке.

Путь меняется от полутора метров до двух с половиной с лишним: результат с шагом 0,5 с занижен почти вдвое. При уменьшении шага ответы сближаются — модель сходится, и это признак, что мелкий шаг ближе к правде.

Последняя скорость во всех трёх случаях отрицательная — модель на последнем шаге перебрала: она вычла целую порцию \(\mu g\, dt\) там, где до остановки оставалось меньше. При dt = 0.01 этот перебор равен 0,02 м/с и на ответ не влияет. При dt = 0.5 перебор равен 0,5 м/с: последний шаг сделан с отрицательной скоростью, и путь при этом даже уменьшился — «брусок» в модели откатился назад на четверть метра (0,5 м/с, умноженные на 0,5 с), чего в опыте не бывает.


Разбор заблуждения: «шаг — дело вкуса»

Соблазн понятный: dt в модели — «просто мелкий технический параметр», выберем 0,5 с, чтобы считалось быстрее.

Строка dt = 0.5 из предыдущего блока — ответ на это. Полтора метра вместо двух с шестью — ошибка почти в 45 %, и она получена не из-за опечатки, а из-за выбора шага. Причина видна на схеме: внутри шага модель считает скорость постоянной, а она за полсекунды успевает измениться на 1,5 м/с. Чем крупнее шаг, тем грубее это допущение.

И худшее: при крупном шаге модель проскакивает ноль и продолжает вычитать. Скорость становится отрицательной, x начинает уменьшаться, «брусок» едет назад. Правильная физика была заложена в формулу, а неправильный ответ всё равно получился — потому что дискретное время не заметило момента остановки.

Поэтому пошаговую модель никогда не запускают один раз. Её запускают минимум с двумя разными шагами и сравнивают: если ответы совпали в нужном числе знаков, шаг достаточно мелкий; если разошлись — надо мельче.


Считаем: как выглядит грубый шаг

Один график говорит про это больше, чем таблица. Построим зависимость скорости от времени для dt = 0.5 и dt = 0.05 на одних осях. По вертикали — скорость, по горизонтали — время; такие графики мы читали в М1 §3.

import matplotlib.pyplot as plt

mu = 0.3
g = 10.0
slowdown = mu * g

for dt in [0.5, 0.05]:
    v = 4.0
    t = 0.0
    ts = [t]
    vs = [v]
    while v > 0:
        v = v - slowdown * dt
        t = t + dt
        ts.append(t)
        vs.append(v)
    plt.plot(ts, vs, marker='o', label=f"dt = {dt} с")

plt.xlabel('Время, с')
plt.ylabel('Скорость, м/с')
plt.title('Торможение бруска: два шага по времени')
plt.legend()
plt.grid(True)
plt.show()

На экране появятся две ломаные, обе идущие вниз от 4 м/с. Ломаная с крупным шагом состоит из трёх звеньев и заканчивается заметно ниже нуля; ломаная с мелким шагом почти сливается с прямой и пересекает ось времени рядом с 1,33 с. Наклон у обеих одинаковый — 3 м/с за секунду, то есть \(\mu g\) (наклон графика мы разбирали в М1 §3): физика в обеих моделях одна, разница только в грубости шага.

Оси «время, с» — «скорость, м/с». Гладкая прямая от 4 м/с до нуля, поверх неё две ломаные: с шагом 0,5 с — редкие звенья, уходящие ниже нуля, и с шагом 0,05 с — почти совпадающая с прямой

Идеальная прямая и две ломаные модели. Крупный шаг проскакивает ноль и уводит скорость в минус; мелкий шаг ложится на прямую


Мельче — не всегда лучше

Раз мелкий шаг точнее, почему не взять dt = 0.000001? Две причины.

Первая — время счёта. При \(dt = 10^{-6}\) шагов будет более миллиона, и на каждый расчёт уйдут секунды вместо мгновения. В настоящих задачах, где шагов уже миллиарды, это решающий довод.

Вторая тоньше и интереснее. Каждое t = t + dt — сложение двух вещественных чисел, а вещественное число хранится в конечном числе разрядов. Складывая 0,01 сто тридцать четыре раза, вы получите не ровно 1,34, а число, отличающееся в пятнадцатом знаке. Компьютер здесь не ошибается: он делает ровно то, что умеет, — хранит результат в отведённых разрядах. Но чем больше шагов, тем больше таких округлений накапливается, и с какого-то момента уменьшение шага перестаёт улучшать ответ: то, что модель выигрывает в точности правила, она проигрывает в точности сложений. Найти этот момент в цифрах — задача уровня C.


М2 §4.7. Задачи

Уровень A. Проверка понимания, без вычислений

A1. Санки тянут за верёвку вправо, и они едут вправо по снегу. Нарисуйте санки как материальную точку и четыре вектора: силу тяжести, реакцию опоры, силу тяги, силу трения. Укажите направление каждого. Какие две пары векторов противоположно направлены?

A2. Человек толкает шкаф горизонтально, шкаф не двигается. Чему равна равнодействующая всех сил на шкафу? Куда направлена сила трения покоя и от чего зависит её модуль — от массы шкафа или от силы человека?

A3. Посмотрите на график силы трения от приложенной силы (рисунок в §4.2). При тяге 4 Н брусок стоит или едет? Чему равна сила трения при этой тяге? А при тяге 9 Н?

A4. Брусок в форме кирпичика лежит на широкой грани. Его переставили на узкую грань, площадь контакта уменьшилась в три раза. Изменится ли сила трения скольжения при равномерном протягивании? Ответ обоснуйте формулой.

A5. Пассажир идёт по эскалатору, который поднимается со скоростью 0,7 м/с. Скорость пассажира относительно ступеней — 0,7 м/с, направлена вниз. Что видит наблюдатель на станции?

Подсказка к A2: «не двигается» — это условие равновесия из М2 §2, а не описание характера человека.


Уровень B. Расчёт (по мотивам Ф(11):3 — силы и равновесие)

Везде \(g = 10\) Н/кг, поверхность горизонтальная.

B1. Ящик массой 4 кг равномерно тащат по полу, коэффициент трения 0,25. Найдите: а) силу, с которой ящик прижат к полу; б) силу трения скольжения; в) силу, которую показывает динамометр.

B2. Для того же ящика коэффициент трения покоя равен 0,4. Какой минимальной горизонтальной силой можно сорвать его с места? Почему это число больше ответа B1в?

B3. Тело массой 5 кг равномерно протягивают динамометром, показание — 12,5 Н. Найдите коэффициент трения.

B4. На ящик из B1 сверху положили груз массой 6 кг. Во сколько раз выросла сила трения скольжения? Изменился ли при этом коэффициент трения?

B5. Брусок массой 2 кг едет по столу; его тянут вправо с силой 3 Н, коэффициент трения 0,3. Найдите равнодействующую в проекции на ось, направленную вправо. Брусок разгоняется, едет равномерно или замедляется?

Подсказка к B3: при равномерном движении показание динамометра равно силе трения — это следует из равновесия, а не из устройства прибора.


Уровень B. Формула главы как уравнение (по мотивам М(11-Б):17)

Одна и та же запись \(F_{\text{тр}} = \mu N\) — уравнение относительно любой своей буквы. Смотря какая буква неизвестна, вы решаете разные задачи одним и тем же действием.

B6. Брусок давит на стол с силой 40 Н. При равномерном протягивании динамометр показывает 6 Н. Составьте уравнение \(40\mu = 6\) и найдите \(\mu\).

B7. Коэффициент трения между бруском и столом равен 0,3. Сорвать брусок с места удаётся горизонтальной силой 12 Н (считайте \(\mu_0 = \mu\)). Составьте уравнение \(0{,}3 \cdot N = 12\) и найдите \(N\). Сам брусок имеет массу 1 кг. Какой груз лежит сверху?

B8. Запишите то же уравнение относительно \(F_{\text{тр}}\), если \(\mu = 0{,}05\) (лыжи по снегу), а прижимающая сила равна 600 Н. Во сколько раз лыжнику легче, чем если бы он тащил себя по асфальту с \(\mu = 0{,}7\)?

Подсказка к B7: найденное \(N\) — это вес бруска вместе с грузом; вес — сила, ищите массу через \(mg\).


Уровень B. Подбор (по мотивам М(11-Б):19)

Во всех задачах этого блока действует договорённость §4.2: при тяге, в точности равной порогу \(\mu_0 N\), тело ещё стоит.

B9. Брусок прижат к столу силой 25 Н, коэффициент трения покоя равен 0,34. Брусок тянут горизонтально, причём сила тяги выражается целым числом ньютонов от 1 до 15 Н. Найдите такое целое значение силы тяги, при котором брусок ещё стоит, но при увеличении силы на 1 Н он срывается с места. Сколько всего целых значений силы из указанного диапазона оставляют брусок неподвижным?

B10. Тот же брусок, но сверху положили груз, и порог срыва стал ровно 12 Н. Целая сила тяги по-прежнему берётся от 1 до 15 Н. Существует ли теперь целое значение, при котором брусок «ещё стоит, а на 1 Н больше — едет»? Чем этот случай отличается от B9 и как ответ зависит от нашей договорённости о границе?

Подсказка: сначала посчитайте порог \(\mu_0 N\), потом перебирайте целые значения — их немного.


Код-ребус. Что даст перестановка двух строк

В теле цикла модели три строки, и две из них можно поменять местами. Ниже — обе версии в одной программе: brake_v_first обновляет скорость раньше пути (как в §4.6), brake_x_first — наоборот.

Запускать этот блок сразу нельзя: сначала ответьте на вопросы, потом проверяйте.

def brake_v_first(dt):
    slowdown = 3.0
    v = 4.0
    x = 0.0
    while v > 0:
        v = v - slowdown * dt
        x = x + v * dt
    return x

def brake_x_first(dt):
    slowdown = 3.0
    v = 4.0
    x = 0.0
    while v > 0:
        x = x + v * dt
        v = v - slowdown * dt
    return x

for dt in [0.5, 0.1, 0.01]:
    a = brake_v_first(dt)
    b = brake_x_first(dt)
    print(f"dt = {dt}: сначала v — путь {a:.3f} м; сначала x — путь {b:.3f} м")

Вопрос 1. В какой из двух версий путь получится больше? Почему? (Подумайте, какую скорость — на начале шага или на конце — использует каждая версия.)

Вопрос 2. При каком dt разница между версиями будет заметнее: при 0,5 или при 0,01? Оцените так: на одном шаге две версии берут скорости, отличающиеся на \(\mu g\,dt\), поэтому пути за этот шаг отличаются на \(\mu g\,dt \cdot dt\). Число шагов возьмите из таблицы §4.6 (134 шага при dt = 0.01, 3 шага при dt = 0.5) и перемножьте.

Вопрос 3. Точный ответ задачи — 2,667 м. Какая из версий его завышает, какая занижает? Как из двух приближений получить оценку получше?


Уровень C. Исследование

C1. Возьмите код из §4.6 (функция brake) и запустите его для dt = 0,5; 0,1; 0,01; 0,001; 0,0001; 0,00001. Заполните таблицу: шаг, число шагов, время до остановки, путь. Начиная с какого dt время и путь перестают меняться в третьем знаке после запятой? Что происходит с числом шагов при переходе от 0,001 к 0,00001 и почему дальнейшее уменьшение шага уже не делает ответ лучше? В объяснении используйте то, что вещественное число хранится в конечном числе разрядов.

C2. Лодка идёт со скоростью 5 м/с относительно воды, скорость течения 3 м/с. Расстояние между двумя пристанями 240 м. Найдите: а) время движения по течению; б) время движения против течения; в) общее время пути туда и обратно; г) среднюю скорость на всём пути (весь путь, делённый на всё время). Почему средняя скорость не равна полусумме 8 и 2, то есть 5 м/с? В каком случае она была бы равна полусумме?

C3. Измерение вместо расчёта. Возьмите брусок или книгу, динамометр (или бытовые пружинные весы) и определите коэффициент трения для двух пар поверхностей: книга по столу и книга по бумаге. Каждое измерение сделайте трижды и возьмите среднее. Сравните с таблицей из §4.3. Какая из ваших двух пар «скользкее» и во сколько раз?

Подсказка к C2: полусумма скоростей была бы средней скоростью, если бы лодка шла в каждую сторону одинаковое время, а не одинаковое расстояние.


М2 §4.8. Итог

Девять новых вещей — и все они про один и тот же брусок на столе.

Физика.

  • Сила трения покоя \(F_{\text{тр.п}}\) — держит неподвижное тело; направлена противоположно приложенной силе и равна ей по модулю, пока тело стоит. Условие покоя — неравенство \(F_{\text{тр.п}} \le \mu_0 N\): величина \(\mu_0 N\) есть порог срыва, а не постоянное значение силы трения.
  • Сила трения скольжения \(F_{\text{тр}} = \mu N\) — действует после срыва, направлена против скорости, почти не зависит ни от скорости, ни от площади контакта.
  • Коэффициент трения \(\mu\) — безразмерное число пары поверхностей; от 0,02 для стали по льду до 0,8 для резины по асфальту. Измеряется равномерным протягиванием: \(\mu = F_{\text{дин}} / N\).

Математика.

  • Коллинеарные векторы — лежащие на одной прямой или на параллельных; бывают сонаправленными и противоположно направленными.
  • Сложение коллинеарных векторов: сонаправленные — модули складываются; противоположно направленные — из большего модуля вычитается меньший, направление у большего; равные модули дают нулевой вектор. В проекциях на ось это просто сложение чисел со знаком.
  • Сложение скоростей: \(\vec{v} = \vec{v}_{\text{отн}} + \vec{u}\) — скорость относительно неподвижной системы отсчёта есть векторная сумма скорости относительно среды и скорости самой среды.

Информатика.

  • Пошаговая модель — способ считать движение, когда формулы ответа нет: маленькими порциями времени, по простому правилу на каждом шаге.
  • Шаг по времени \(dt\) — величина модели, от которой зависит ответ; модель запускают минимум с двумя шагами и сравнивают результаты.
  • Цикл while — повторение, пока условие верно; годится там, где число повторов заранее неизвестно. Условие пишут сравнением (v > 0), а не проверкой точного равенства.

И один вывод, который стоит помнить дольше формул: тело останавливается не само. Останавливает его сила трения, и если поверхность сделать глаже, путь до остановки растёт. Способность тела сохранять скорость, пока к нему не приложена сила, получит в курсе своё имя позже; пока что вы просто знаете, что она существует, и умеете считать, что с ней делает трение.


Мост к М2 §5

В этой главе площадь дважды оказалась ни при чём: сила трения не зависит от того, какой гранью лежит брусок, а настоящая площадь контакта определяется силой прижатия, а не размером грани. Но у опоры есть и другое свойство — её размеры, — и вот оно решает многое.

Поставьте книгу плашмя: стоит. Поставьте её на узкий торец и легонько толкните сверху: падает. Сила тяжести та же, трение то же, площадь контакта на трение по-прежнему не влияет — а результат разный, потому что изменилось, где именно проходит край опоры относительно центра книги.

Следующая глава — практикум «Устойчивая башня». Вы будете строить конструкцию и считать, когда она опрокинется: складывать векторы, как в §4.4, проверять условие равновесия из М2 §2, следить, чтобы основание не проскользнуло (а это уже трение покоя из §4.2), и мерить геометрию — насколько широка опора и как высоко поднят центр башни. Все три инструмента этой главы там сразу пойдут в дело.

А величина, которая измеряет «силу, поделённую на площадь», — давление — ждёт нас чуть дальше, в М3 §1: там площадь наконец выйдет на первый план и объяснит, почему кнопка входит в стену от нажатия пальцем, а ладонь — нет.