|
1 / 1 / 0
Регистрация: 06.05.2021
Сообщений: 242
|
|
Движение тела с учётом сопротивления воздуха01.09.2023, 12:49. Показов 4710. Ответов 31
Метки нет (Все метки)
Добрый день, вопрос скорее по математике и физике. Моя программа рисует траекторию движения снаряда с учётом сопротивления воздуха. Изначально задаётся скорость и угол, затем она через косинус и синус раскладывается на составляющие по оси Х и У. Затем для каждой оси каждый кадр считается скорость по формуле Vx = Vx - a. Где "a" ускорение создаваемое сопротивлением воздуха. Для оси У Vy = Vy - a - g, если тело перестаёт лететь вверх и начинает падать, то Vy = Vy + a - g, так как скорость меняет знак. В одном из тестов я отключил силу тяжести. По логике вещей, тела должны лететь по прямой, постепенно замедляясь, но вышло всё совсем не так.
Суть проблемы - сопротивление воздуха пропорционально квадрату скорости. Соответственно, если, например, по оси Х скорость больше, чем по оси У, то по оси Х сопротивление воздуха сильнее и скорость падает быстрее. В итоге, тело начинает скривлять траекторию в сторону оси Х. Если же вертикальная составляющая скорости больше, чем горизонтальная, то тело начинает скривлять траекторию в сторону оси У. Этот эффкет выражен тем больше, чем меньше отношение массы тела к его сопротивлению воздуха и чем больше одна из составляющих скорости. Под углом 45 градусов, соответственно, обе составляющих скорости равны и тело летит прямо. Формулы вроде бы я написал правильно. Возникает вопрос - неужели такой эффект есть и в реальности? Мне почему-то кажется что нет и где то всё же кроется ошибка. Ведь сила сопротивления воздуха должна иметь вектор направленный ровно в противоположную сторону вектору скорости.
0
|
|
| 01.09.2023, 12:49 | |
|
Ответы с готовыми решениями:
31
Движение тела, брошенного под углом к горизонту, с учетом сопротивления воздуха Моделирование полета тела с учетом сопротивления воздуха Баллистическое движение с учетом сопротивления воздуха |
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|||
| 03.09.2023, 15:15 | |||
|
Ballantrae, например, вы сами пишете, что у вас там минимум две силы и они не всегда сонаправленны, поэтому менять направление вектора скорости удобнее через операции над векторами, а не через операции над углами.
Добавлено через 5 минут Не по теме:
Сила и скорость, величины разного порядка. Сила может превышать по модулю скорость, ваше "подсечь" делает вычисления не корректными и эту проблему не решает, т.к. проблема "развернуть тело" лежит в плоскости численного интегрирования.
0
|
|||
| 03.09.2023, 17:29 | |||
|
Не по теме:
Вообще здесь это ненужные тонкости, пусть товарищ вектора освоит
0
|
|||
| 03.09.2023, 17:59 | ||
|
Не по теме:
Решение этой проблемы зависит от потребности задачи. Если это не вычисления реального времени для какой-то физической симуляции, то можно выбрать подходящий метод интегрирования (Рунге-Кутта, например). Если нужно вычислять в реальном времени, то силу сопротивления среды следует выделить отдельно, и интегрировать не классическое уравнение движения Ньютона, а решить дифур и интегрировать V(t) = K*tanh((F*t)/(m*K)+tanh-1(V0/K)), где K=sqrt((2*F)/(p*C*S)), а F - все остальные силы, не зависящие от скорости. В игровых физ. движках упрощают еще больше, просто применяя дэмпинг скорости после интегрирования других сил(что вообще говоря не корректно): V=V0/(1 + K*V0*t), где K=(p*C*S)/(2*m). Часто отбрасывают V0 в знаменателе, делая дэмпинг константным (в реальности сила вязкого трения не способна остановить тело, на бесконечно большом интервале времени скорость будет стремиться к нулю, но тело пройдет бесконечно большое расстояние).
0
|
||
| 03.09.2023, 19:16 | ||
|
Не по теме:
Ну и вряд ли решение дифура сведется к "сопротивление пропорционально квадрату скорости", это наверняка упрощение. И что, при скорости напр 100 объект тормозится с ускорением -200? НЕ ВЕРЮ :) (хотя конечно доказать не могу). Кстати кто такие p, C, S ? (последнее наверно лобовая площадь?). Спасибо
0
|
||
| 03.09.2023, 19:26 | ||||
|
Не по теме:
Решение дифура без учета остальных сил(естественное торможение) - вторая формула.
0
|
||||
| 03.09.2023, 20:19 | ||
|
Не по теме:
zayats80888, возможно эта тема ускользнула от Вашего внимания, там Ваши познания в физике были бы очень кстати. Спасибо
0
|
||
|
1 / 1 / 0
Регистрация: 06.05.2021
Сообщений: 242
|
||
| 07.04.2024, 19:19 [ТС] | ||
|
По крайней мере, у меня получается ситуация, при которой время полёта тела, почему то увеличивается от величины скорости. Особенно хорошо это заметно, если одному телу задать начальную скорость 0, а второму большое значение по направлению вдоль оси X. По идее, два тела должны упасть одновременно. Просто одно из них ещё улетит в сторону. Тем не менее, тело, которое летит вдоль оси X падает на 3 секунды позже. А этого явно быть не должно.
0
|
||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|||
| 07.04.2024, 19:29 | |||
|
Добавлено через 2 минуты
0
|
|||
|
1 / 1 / 0
Регистрация: 06.05.2021
Сообщений: 242
|
|||
| 07.04.2024, 20:01 [ТС] | |||
|
Vx сопр = PCS * V *Vx \ 2. Vy сопр = PCS * V *Vy \ 2. Вот допустим, что у меня Vx = 1000 м/с, а Vy = 10м/с. V в этот момент времени равна sqrt(1000^2 + 10^2) = 1000.05 м/с. Получается Vx сопр = PCS * 1000.05 * 1000 \ 2. Vy сопр = PCS * 1000.05 * 10 \ 2. Если увеличить значение скорости в 10 раз по оси X, то V = sqrt(10000^2 + 10^2) = 10000.05 м/с. И: Vx сопр = PCS * 10000.05 * 1000 \ 2. Vy сопр = PCS * 10000.05 * 10 \ 2. Так вот и получается, что от горизонтальной составляющей зависит вертикальная составляющая силы сопротивления. Добавлено через 6 минут
0
|
|||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||
| 07.04.2024, 20:07 | ||
|
Если хотите расчитывать достовернее, то интегрируйте линейные дифуры, о чем я уже писал. Если для вас это вызывает трудности, то смиритесь с тем, что есть. Не по теме: Кстати, спутник, сходя с орбиты, за счет трения об атмосферу приобретает энергию и может "отскакивать" назад. Так что не удивляйтесь.
1
|
||
| 08.04.2024, 15:30 | ||
|
0
|
||
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||
| 08.04.2024, 15:49 | ||
|
Кликните здесь для просмотра всего текста
Там конечно механизм сложнее, но величина силы отталкивания так же пропорциональна квадрату скорости, поэтому такой эффект.
0
|
||
| 08.04.2024, 15:49 | |
|
Расчет траектории движении тела с учетом сопротивления воздуха Траектория движения тела, брошенного под углом к горизонту с учетом сопротивления воздуха
Движение тела брошенного под углом к горизонту с учетом сопротивления Программа "падение тела с учетом сопротивления воздуха" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|