Снаряд, сопротивление воздуха и ветер

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

Уравнения для тела, движущегося прямолинейно, но с учетом сопротивления воздуха?

Однако как ветер (при условии, что он движется в горизонтальном направлении) меняет уравнение для горизонтальной скорости?

Вы можете найти этот ответ на другой вопрос полезным: physics.stackexchange.com/questions/134147/…
На yukterez.net/ballistik/#plot вы видите уравнение для ветра, дующего спереди или сзади, если вам не нужно дуть в сторону, это может помочь.

Ответы (3)

Во-первых, имейте в виду, что до сих пор вы имели дело со скоростью снаряда как с двухмерным явлением. Это должно измениться.

Чтобы соответствовать стандартным обозначениям, вам нужно будет ссылаться на высоту (вертикальное движение) как на координату z, а горизонталь будет обрабатываться координатами x и y. Для простоты вычислений вы можете предположить, что ваша начальная скорость имеет нулевую составляющую по одной из осей, скажем, по оси Y. Теперь уравнения, с которыми вы знакомы, выглядят так же, за исключением того, что они выражены через x и z, а не через x и y. Начнем с рассмотрения того, как выполнить моделирование при отсутствии бокового ветра.

В любой точке можно вычислить скорости x и z. В Икс и В г , и объедините их, чтобы получить скорость снаряда, V:

В "=" ( В Икс ) 2 + ( В у ) 2

Используйте это, чтобы рассчитать сопротивление снаряда из ответа, на который вы ссылаетесь, а затем разложите силу сопротивления на ее компоненты x и z. Примените компоненты для изменения скоростей x и z и рассчитайте следующий шаг.

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

Начните с расчета относительного бокового ветра — это скорость ветра минус фактическая скорость по оси Y. Для этого вам нужно рассчитать составляющую бокового ветра, которая на самом деле перпендикулярна движению снаряда. Например, если ветер дует под углом 45 градусов к направлению снаряда, боковой ветер в сторону снаряда будет в 0,707 раза больше скорости ветра. Признайте, что коэффициент лобового сопротивления для бокового ветра отличается от предыдущего расчета, поскольку «обычный» расчет рассматривал снаряд в лоб, а боковой ветер применяется сбоку. Зная относительный боковой ветер и коэффициент сопротивления боковому ветру, используйте связанный ответ для расчета боковой силы, действующей на снаряд, затем примените ее для расчета новой скорости, а затем нового положения по оси Y.

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

Это мое предположение для одномерного движения с сопротивлением воздуха (сопротивлением) + ветер, дующий в отрицательном направлении. Икс направлении и снаряд движется в положительном направлении. Икс направление:

Икс ¨ ( т ) "=" Д ( в + в ж ) 2
Икс ˙ ( т ) "=" в

где в ж скорость ветра и Д является константой.

Дело в том, что, на мой взгляд, вы не можете учитывать ветер просто с постоянной силой. Ветер — это просто движение воздуха, в данном случае в направлении, противоположном движению снаряда; поэтому относительная скорость в р между воздухом и объектом будет выше ( в р "=" в + в ж ). Так как сила сопротивления пропорциональна в р 2 , присутствие ветра увеличит силу сопротивления, как это выражено в приведенном выше уравнении.

Это нелинейное дифференциальное уравнение. Аналитически решить ее непросто, я предлагаю конечно-разностные методы (моделирование).

Я сделал что-то подобное некоторое время назад в качестве домашнего проекта.

Как только вы начинаете работать с ветром, который дует не прямо сзади или спереди, вы переводите систему в 3D-систему.

Нижние индексы обозначают снаряд (p), ветер (w) и их составляющие (x,y,z). ОДУ первого порядка для такой системы:

д Икс д т "=" в п Икс
д у д т "=" в п у
д г д т "=" в п г

д в п Икс д т "=" а п Икс

д в п у д т "=" а п у
д в п г д т "=" а п г

где ускорение каждого компонента определяется выражением

а п Икс "=" 0,5 С д р А ( в п Икс + в ж Икс ) 2 м
а п у "=" 0,5 С д р А ( в п у + в ж у ) 2 м
а п г "=" 0,5 С д р А ( в п г + в ж г ) 2 м г

не забывая учитывать гравитацию в направлении z

Это сработало для меня, хотя я не уверен на 100%, что правильно справляюсь с ветром. Надеюсь, кто-нибудь отзовется здесь, если я ошибся.

Для вашего проекта, я надеюсь, у вас есть сферический снаряд. Это становится очень уродливым, очень быстрым, если это что-то похожее на пулю. В этом случае момент снаряда также должен вступить в игру, расширяя проблему до системы с 6 степенями свободы. Затем площадь снаряда, контактирующего с ветром, изменяется при вращении. С такой сложной формой, как пуля, вам придется сделать несколько неприятных расчетов площади поверхности, чтобы определить сопротивление.

PS: При моделировании этого вам нужны проверки, чтобы остановить решатель, как только снаряд «поразил цель» (например, землю), иначе интеграторы сойдут с ума. Я «преодолел» это, используя оператор IF-Then-else, где условием IF было то, что если цель не была достигнута (с помощью простого вычисления расстояния), ОДУ будут такими, как я описал. В противном случае все ОДУ будут равны "0" и, таким образом, дальше ничего не будет вычисляться. Вероятно, есть лучший способ выйти из ode45 в Matlab, но я недостаточно опытен, чтобы адаптировать его для моей проблемы.

РЕДАКТИРОВАТЬ 1: Коэффициент сопротивления также меняется со скоростью (соотношение числа Рейнольдса), но, к счастью, для сферы он достаточно хорошо задокументирован. Однако пуля не так хорошо задокументирована.