Движение с сопротивлением воздуха

27 июля 2022. Комментарии .

Несколько дней назад один из моих выпускников, только что окончивший первый курс ВМК МГУ, обратился с интересным вопросом. На программировании им задали рассчитать дальность полета тела с учетом сопротивления воздуха. Мол, как решить численно — понятно, а можно ли получить аналитическое выражение для дальности полета?

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

Оглавление #

Задача #

Тело массой бросили по углом к горизонту со скоростью . Считать, что сила сопротивления воздуха пропорциональна скорости сопр (коэффициент известен). Найти законы движения тела.

Решение #

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

Школьник не должен решить эту систему, но должен ее составить. Если школьник вдобавок понимает, что систему можно свести к двум дифференциальным уравнениям, решение которых и является искомыми законами движения — значит, он освоил методику решения задач.

Упомянутые дифференциальные уравнения здесь принимают следующий симпатичный вид (нужно только выразить синус и косинус через тангенс и подставить в законы Ньютона):

А решения получаются такие[1]:

Можно ознакомиться со всеми выкладками, приводящими к данному ответу. Оформлено очень подробно, но неаккуратно.

Анализ #

Вы получили выражения для и . Как их проверить, не исследуя решение шаг за шагом?

Проанализировать последние три пункта можно как аналитически, вычислив пределы, так и графически. Последнее я и предлагаю сделать при помощи анимированных картинок.

Анимированные графики #

x(t) #

График . Варьируем . Проверки пройдены (совпадение кривых при , выход на константу при больших ). Код графика (Python).

y(t) #

График . Варьируем . Проверки пройдены (совпадение кривых при , выход на линейный спад при больших при снижении тела). Код графика (Python).

y(x) #

Построим уравнение траектории . Варьируем . При получается настоящая парабола. Хорошо видно, что последний участок траектории становится все отвеснее с увеличением сопротивления. Также тело успевает меньше пролететь и по горизонтали, и по вертикали (обе кривые построены для движения в течение 5 секунд). Код графика (Python).

Время и дальность полета #

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

Однако трансцендентное уравнение, получающееся при подстановке нуля в , я решить сходу не смог. Буду признателен, если кто-то поделится решением.

Все-таки интересно хотя бы численно исследовать что-нибудь про дальность полета. Я решил исследовать вопрос о максимальной дальности полета — при каком угле она достигается? Хорошо известно, что без сопротивления воздуха этот угол составляет . Попробуйте предсказать и качественно обосновать, каким образом соответствующий максимальной дальности полета угол будет меняться с увеличением коэффициента . Анимация ниже показывает уравнение траектории для фиксированного значения кг/с. При заданных начальных условиях максимальная дальность полета достигается при угле . При увеличении угол будет еще меньше. Код графика (Python). Анимация для тех, кто никуда не спешит.

Адекватность модели #

Приведу выдержку из «Курса теоретической механики» Е.Н. Березкина[2]:

При движении небольших объектов с малыми скоростями основная часть сопротивления обусловливается трением тел о воздух, и сопротивление воздуха можно считать пропорциональным первой степени скорости. В тех же случаях, когда тела имеют более внушительные размеры, сопротивление обусловливается инерцией среды, в которой движется точка или тело. Можно считать, что в этом случае сопротивление воздуха пропорционально квадрату скорости. При скоростях, близких к скорости звука, перестает быть достоверным и квадратичный закон сопротивления. В этом случае сопротивление воздуха определяется или по закону Сиаччи (1839—1907), что делается обычно в артиллерийских расчетах, или по какому-либо другому закону, устанавливаемому экспериментально.

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


  1. Во втором издании «Курса теоретической механики» Е.Н. Березкина (1974) ровно такая же задача рассматривается в §7 главы IV «Движение точки в сопротивляющейся среде». У Березкина в решениях отсутствует масса, то есть мои решения сводятся к решениям из книги при замене на единицу с необходимой размерностью (или изменением размерности ). Получается, что у Березкина сила сопротивления пропорциональна массе? Это надо осмыслить. Однако вид решений идентичный, то есть все рассуждения и графики в этой записи применимы и к Березкину. ↩︎

  2. У Евгения Николаевича Березкина невеселая судьба. В 1939 году в 18-летний студент физико-математического факультета МГУ отправляется на финскую войну. ВОВ застает его еще на службе в армии. В самом начале войны он возвращается из разведки не в свою часть. Его признают немецким шпионом, избивают и приговаривают к расстрелу, но все-таки трибунал проверяет, существует ли на самом деле названная воинская часть, и получает подтверждение словам Березкина. Оставшиеся четыре года Березкин воюет в штрафбате. В 1945 году возвращается в Москву и снова поступает на первый курс МГУ, где защищает кандидатскую диссертацию и пишет процитированную книгу. ↩︎