Форум программистов, компьютерный форум CyberForum.ru

Движение тела брошенного под углом к горизонту с сопротивлением воздуха - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.62
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
18.10.2012, 18:52     Движение тела брошенного под углом к горизонту с сопротивлением воздуха #1
Реализовал отрисовку тела, брошеного под углом к горизонту. Использовал следущие формулы:
x = x0 + V0 * t * cos(a)
y = y0 + V0 * t * sin(a) - 1/2 * g * t2
Подскажите пожалуйста, как модернизировать эти формулы так, чтобы учитывалось сопротивление воздуха?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 18:52     Движение тела брошенного под углом к горизонту с сопротивлением воздуха
Посмотрите здесь:

C++ Температура воздуха измеряется ежедневно и записываются в таблицу... Нужно подтолкнуть.
При температуре воздуха зимой C++
Задача по физике. С некоторой высоты под углом к горизонту брошено тело. C++
C++ Расчёт траектории полёта тела брошенного под углом к горизонту
C++ Определить среднюю температуру воздуха за неделю...
C++ Сделать блок-схему к курсовой работе (движения тела, брошенного под углом к горизонту)
C++ Решение физической задачи: рассчитать полет камня, брошенного под углом к горизонту
SFML движение под углом C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
18.10.2012, 23:33     Движение тела брошенного под углом к горизонту с сопротивлением воздуха #2
Движение с сопротивлением воздуха описываются с помощью дифференциальных уравнений, и я не уверен что их решение записывается в общем виде. Приблизительное решение можно получить так:
Сила сопротивления воздуха:
http://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{c} = -k\vec{v}
Запишем второй закон Ньютона:
http://www.cyberforum.ru/cgi-bin/latex.cgi?m\vec{a} = m\vec{g} - k\vec{v}
Выразим ускорение:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\vec{a} = \vec{g} - \frac{k}{m}\vec{v}
Пусть в момент времени t положение тела задается радиус-вектором r(t) и тело движется со скоростью v(t). Тогда положение и скорость через малый промежуток времени dt можно вычислить так:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\vec{r}(t+dt) = \vec{r}(t) + \vec{v}(t)dt<br />
\vec{v}(t+dt) = \vec{v}(t) + (\vec{g}-\frac{k}{m}\vec{v}(t))dt
И в проекции на оси x y:
http://www.cyberforum.ru/cgi-bin/latex.cgi?x(t+dt) = x(t) + {v}_{x}(t)dt<br />
y(t+dt) = y(t) + {v}_{y}(t)dt<br />
{v}_{x}(t+dt) = {v}_{x}(t) - \frac{k}{m}{v}_{x}(t)dt<br />
{v}_{y}(t+dt) = {v}_{y}(t) - (g+\frac{k}{m}{v}_{y}(t))dt
Начальные условия:
http://www.cyberforum.ru/cgi-bin/latex.cgi?x(0) = {x}_{0}<br />
y(0) = {y}_{0}<br />
{v}_{x}(0) = v\cos \alpha<br />
{v}_{y}(0) = v\sin \alpha

Добавлено через 3 часа 53 минуты
Хотя уравнение получилось вполне решаемым, но мог ошибиться:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\vec{r}(t) = \vec{{r}_{0}} + \frac{m}{k}\vec{{v}_{0}}-\vec{g}{\left(\frac{m}{k} \right)}^{2} - \frac{m}{k}\vec{{v}_{0}}{e}^{-\frac{k}{m}t}+\vec{g}\frac{m}{k}t+\vec{g}{\left(\frac{m}{k} \right)}^{2}{e}^{-\frac{k}{m}t}<br />
\vec{v}(t) = \vec{g}\frac{m}{k} + \left(\vec{{v}_{0}}-\vec{g}\frac{m}{k} \right){e}^{-\frac{k}{m}t}
D.E.S.P.E.R.O.
 Аватар для D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1
19.10.2012, 10:32  [ТС]     Движение тела брошенного под углом к горизонту с сопротивлением воздуха #3
Большое спасибо!
Yandex
Объявления
19.10.2012, 10:32     Движение тела брошенного под углом к горизонту с сопротивлением воздуха
Ответ Создать тему
Опции темы

Текущее время: 06:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru