2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 18:48 
Доброго времени суток.
Пытаюсь смоделировать полет пули в 3D пространстве.

Принцип следующий:
[*]-точка, (*)-вектор.
- имеется точка вылета пули [P0], вектор (S) направления полета, длинна которого равна скорости вылета (м/с).
- через каждые t секунд находится ускорение сопротивления воздуха на основе плотности и температуры воздуха и скорости пули - F (м/с2) и определяется новая позиция пули по формуле
[Pn] = [P(n-1)] + ((S) - ((S).Normal * F * t)) * t
- в коде это выглядит так:
Используется синтаксис C#
        Vector3 Windage = -b.direction.normalized * F * t;
        b.direction = b.direction + Windage;
        Vector3 r = b.position + b.direction * t;


Для тестов беру характеристики реальных оружий и сверяю с баллистическими таблицами. Расхождение моих итоговых данных и реальных (полное время полёта пули, окончательная скорость пули) почти не ощутимое (+-0,1с, +- 15м/с)

Однако камнем преткновения стала гравитация. Из школы мало что помню, так что освежил память кучей статей. Т.к. позиция пули всегда пересчитывается, то просто к вектору (S) прибавляю вектор направленный вниз с длинной -9.80665 * t
- в итоге выглядит так
Используется синтаксис C#
        Vector3 Windage = -b.direction.normalized * F * t;
        b.direction = b.direction + Windage + new Vector3(0, -9.80665f * t);
        Vector3 r = b.position + b.direction * t;


И тут уже использовать баллистическую таблицу невозможно, требуется слишком сильно задирать ствол.
Например, для стрельбы c СВД на 500м требуется угол вылета пули 0,3градуса. А для моей формулы 0,9градуса.

Что я не учел? Подскажите, пожалуйста)

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 19:25 
Схема первого порядка, вначале меняется скорость, потом координата. Поэтому влияние гравитации преувеличено. Можно взять схему порядка повыше (хотя бы второго).
Для теста я бы посоветовал сопротивление воздуха выключить, тогда дальность полета вычисляется по школьной формуле, и можно с ней сравнивать (максимальная высота тож).
Ну и классический тест: уменьшаете шаг по времени вдвое и смотрите, как меняются результаты. Если заметно, уменьшаете еще вдвое.

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 19:34 
Аватара пользователя
Glooger
Не проще ли взять готовый решатель дифуров?
Появившееся время можно потратить на поиск всех аэродинамических характеристик пули и составление наиболее полной системы дифф уравнений, учитывающей все силы и моменты.

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 20:21 
Странный случай. Я уже пару дней упорно изучаю баллистику и насчет гравитации уже волосы дергал. В итоге неправильно переписал свою формулу сюда, а она оказалась правильной.
До этого вектор гравитации добавлял к новой позиции, а не к направлению пули, как это нечаянно написал выше. Получается вектор ускорения был всегда направлен вверх... Во идее она дальше должна была пролетать :?

Извиняюсь за свою глупость. Сейчас траектория пули очень реалистичная.

DimaM,
У пуль имеется одна переменная - баллистический коэффициент, его достаточно для нахождения ускорения сопротивления воздуха в любой момент времени.
http://handguns.g00net.org/ballistic/uskor.htm

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 20:55 
Аватара пользователя
Glooger
Читайте серьезную литературу.

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 20:58 
Glooger в сообщении #947842 писал(а):
У пуль имеется одна переменная - баллистический коэффициент, его достаточно для нахождения ускорения сопротивления воздуха в любой момент времени.

Жуть какая :(. И оформление, и содержание.
Сила сопротивления, в отличие от написанного по ссылке, зависит от скорости, примерно квадратично.

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение16.12.2014, 21:27 
Спорить с вами не могу)
Однако баллистический коэффициент не я придумал. Он работает и достаточно хорошо.

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение17.12.2014, 09:27 
Аватара пользователя
DimaM в сообщении #947872 писал(а):
Glooger в сообщении #947842 писал(а):
У пуль имеется одна переменная - баллистический коэффициент, его достаточно для нахождения ускорения сопротивления воздуха в любой момент времени.

Жуть какая :(. И оформление, и содержание.
Сила сопротивления, в отличие от написанного по ссылке, зависит от скорости, примерно квадратично.


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

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение17.12.2014, 10:05 
Евгений Машеров в сообщении #948154 писал(а):
По ссылке всё правильно. Квадратичная зависимость вводится чуть ранее, и указываются границы применимости.

Действительно, на предыдущую страницу я не заглянул. Спасибо за уточнение.

 
 
 
 Re: Баллистика. Влияние гравитации на пулю.
Сообщение17.12.2014, 13:23 
Аватара пользователя
Материал на сайте, похоже, достаточно старый. Сужу по тому, что пулю характеризуют весом, который потом делят на g, вместо использования массы. Но принципиально не поменялось.
Сильное упрощение в этой модели - неучёт вращения пули, её прецессии и, как следствие, деривации.

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group