Текущий архив: 2004.01.29;
Скачать: CL | DM;
ВнизФизика движения летательного аппарата Найти похожие ветки
← →
Bones (2003-07-13 03:07) [0]Никак не могу найти статьи про движение летательного аппарата относительно, например лунной поверхности. Необходимо рассчитать траекторию, зависящую от массы аппарата, его скорости и гравитации планеты.
Может некоторе играли в такие игры, где надо сажать аппарат на поверхность. Вот я хочу замутить такую гаму.
Плиз, хелп ху кэн!!!
← →
Asteroid (2003-07-13 17:53) [1]Элементарно, Ватсон. Раздел "Динамика" учебника физики. Конкретно, такие формулы:
F = m*g - сила тяжести, g - ускорение свободного падения на планете (F и g - векторы). m - текущая масса корабля с топливом.
F(r) = _mu * (-U) - реактивная сила, _mu - расход топлива (масса сгоревшего топлива за единицу времени), U - скорость выброса газов (F(r) и U - векторы)
a = ( F + F(r) ) / m - ускорение корабля (вектор).
m = M - _mu*t - масса корабля меняется от времени (топливо сгорает), M - масса корабля с полным баком.
Скорость меняется только под действием ускорения. Не забудь масштабировать ускорение по текущему FPS (чем больше FPS, тем меньше времени прошло, тем меньше изменение скорости - т.е. ускорение). Положение корабля меняется только под действием скорости.
И будет тебе счастье :)
← →
pasha676 (2003-07-14 13:28) [2]
> F(r) = _mu * (-U) - реактивная сила, _mu - расход топлива
> (масса сгоревшего топлива за единицу времени), U - скорость
> выброса газов (F(r) и U - векторы)
Тут посложнее формула. Эта вряд ли подойдет. Хотя на известном упрощении подойдет. А вообще-то видел продвинутую (всего слегка) формулу. Не намного сложнее, но учитывается например температура сгорания топлива.
> F = m*g - сила тяжести, g - ускорение свободного падения
> на планете (F и g - векторы). m - текущая масса корабля
> с топливом.
Опять же при известном упрощении. Еще если летаешь далеко от поверхности надо учитывать, что ускорение тоже меняется.
2Bones
Если сможешь, найди подшивку журнала "Техника-молодежи" (а мож и в электрическом виде найдешь). Там был цикл про программируемые микрокалькуляторы. "Путешествие Кон-тики". Много формул на космическую тематику (не только на поверхности, но и например в точках Лагранжа или около поверхности планеты с атмосферой). Рекомендую. Я по ним учился :).
← →
Asteroid (2003-07-15 03:07) [3]> pasha676 (14.07.03 13:28)
>> F = m*g - сила тяжести
Да, с этим согласен. Тогда будет такое:
F = G*M(p)*m / R^2, G - гравитационная постоянная (6.67E-11), M(p) - масса планеты, m - текущая масса кормабля, R - расстояние до планеты.
При желании можно хоть сопротивление воздуха учесть :) Кстати, не так сложно - всего лишь экспоненциальная зависимость от скорости.
А что значит "учитывали температуру сгорания"? Я несколько не понимаю, на что она будет влиять?
← →
pasha676 (2003-07-15 09:13) [4]точно помню, что температура сгорания слияет на силу. С другой стороны, может там была формула, где не было скорости истечения, а была масса топлива в секунду+температура сгорания+еще несколько факторов. Давно это было.
> :) Кстати, не так сложно - всего лишь экспоненциальная зависимость
> от скорости.
опять же все упирается в степень детализации. Формула может быть и простой и архисложной (например при учете формы корпуса аппарата). В принцыпе все упирается в детализацию. Тоже ускорение свободного падения. Ведь гравитация еще будет от влияния Земли, Солнца, Юпитера и мимо пролетающего аккумулятора :). С одной стороны, если проходит полет у поверхности, то многим можно пренебреч (опять же правда зависит от степени детализации), с другой стороны, если пренебреч, например земным тяготением в точке Лагранжа - это будет очень большой ошибкой.
Вообщем и целом подбор формул для моделирования физики в игре - дело сугубо индивидуальное. Зависит от многих факторов. Хотя согласен с тем, что в подавляющем большинстве в игрушке можно обойтись примитивными формулами. Ведь моделирование ведеться в определенных, довольно ограниченных, условиях и не являеться целью программы.
Страницы: 1 вся ветка
Текущий архив: 2004.01.29;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c