Форум: "Игры";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизРасчет траектории при движении на орбите Найти похожие ветки
← →
Orbital (2004-08-17 13:49) [0]Есть корабль, который находится в поле притяжения планеты. Известна сила притяжения и многие другие параметры. Как эффективней перейти на другую орбиту? Может кто ссылки посоветует?
← →
Рамиль © (2004-08-17 13:59) [1]А с решением системы дифуравнений в частных производных справишься?
← →
DSA © (2004-08-17 14:23) [2]Тяжелый случай. А тебе зачем это надо?
← →
марсианин © (2004-08-17 14:48) [3]тебе прям параметры орбиты нужны (что-то типа уравнений траектории)? или чтоб он просто вращался, моделировать полет не пойдет?
второе сделать проще. а первое ищи в гугле
← →
NailMan © (2004-08-17 15:32) [4]Вообще-то тут используются законы движения Кеплера и Ньютона. Нафик дифуры...
---
WBR, NailMan aka 2:5020/3337.13
← →
Orbital (2004-08-18 15:44) [5]У меня есть спутник - движется по орбите, я могу придать ему ускорение в любом направлении. Изначально он стабилизирован - движется по орбите. Мне нужно перевести его на другую орбиту так, чтобы он потом там и остался.
← →
марсианин © (2004-08-18 18:03) [6]ага, тебе нужно понять в каком направлении работать двигателями, чтоб занять другую орбиту?
да черт его знает.... ускоряться так, чтоб он занял нужную высоту орбиты, подкорректировать скорость, чтоб там остался..(уравнения движения по орбите ищи в книжках) возможно захочешь поменять склонение.. ну это надо рулить так, чтоб изменить момент движения соотв образом. короче снова читай книги
планета у тебя там 1?
← →
}{enon © (2004-08-18 18:23) [7]В импульсном приближении задача откровенно скучная (либо условие неполное)...
Если орбиты - окружности (для случая эллипсов немного сложнее), то оптимальный (читай: "наименее затратный") способ - погнать спутник по дуге эллипса, касающегося обоих окружностей наиболее удаленными своими точками.
Если не понял, скажи - вышлю рисунок на мыло.
← →
Orbital (2004-08-19 11:11) [8][6] Да. Уравнения все есть. Мне нужно стабилизировать скорость. Т.е. я изменил расстояние до центры к звезде и мне нужно стабилизировать результирующую скорость так, чтобы я остался на этой орбите. Планета одна.
[7] Не понял, лучше объясни на пальцах. Орбита может быть любой формы, это зависит от того куда было приложено ускорение и на каком расстояние я от планеты.
Формулы для вычисления компонент:d2:= x[i]*x[i]+y[i]*y[i];
d:= sqrt(d2);
u:= u + accel * cos(angle[i]);
v:= v + accel * sin(angle[i]);
u:= u - G*x[i]/d/d2;
v:= v - G*y[i]/d/d2;
u - компонента x
v - компонента y
angle - угол приложение ускорения равного accel
Вычисление перемещения в след точку:x:= x + u;
y:= y + v;
Например, стабильное состояние:
x:=18, y:= 0, u:= 0, v:= -0,33
← →
Думкин © (2004-08-19 11:36) [9]1. Есть орбита.
2. Для нее есть энергия = кинетическая + потенциальня = const(можно посчитать не только для кругов, но и для других кривых второго порядка - в любом учебнике по аналитической механике).
3. Следовательно в любой точке орбиты мы можем посчитать скорость движения.
4. Когда ты выйдешь на нужную тебе орбиту - то в этой точке посчитай нужную скорость(скаляр) и направь ее по касательной к орбите.
5. все.
← →
Думкин © (2004-08-19 11:39) [10]> Когда ты выйдешь на нужную тебе орбиту
Попадешь в одну из точек орбиты.
Конечно это верно для мнгновенных ускорений. Если же не мнгновенные, то намного сложнее.
← →
Orbital (2004-08-19 12:15) [11]Ускорение мгновенные, но есть ограничение - предел ускорения, то есть за единицу времени я не могу ускорится более чем на MAX_ACC
← →
Orbital (2004-08-19 12:16) [12]Забыл в [8]
const G=2;
← →
Думкин © (2004-08-19 12:19) [13]Мгновеные - я имел ввиду бесконечные. :) описАлся.
← →
Orbital (2004-08-19 12:37) [14][9] Допустим я совершил переход, я передал ускорение в направление к центру звезды. Как тогда можно стабилизировать скорость под орбиту не убирая это ускорение? Ведь если считать через потенциальную и кин. энергию по твоему методу, то не учитывается это ускорение. Еще следует помнить, что движение происходит по инерции.
← →
Думкин © (2004-08-19 13:07) [15]Э.... тебе тогда еще физику подучить надо. Какое ускорение?
Трудность в том чтобы удержаться на орбите. Для этого надо чтобы скорость соответствовала этой орбите в данной точке. Как только это произойдет - ты спокойно выключаешь все двигатели и летишь по этой самой орбите.
Но выйти так - очень трудно. Если втупую подлететь, то скорость не будет соответствовать - ни по величине, ни по направлению. Надо будет подправлять ее, но при этом ты будешь слетать с этой орбиты и опять подлетать при этом все это будет меняться.
Задача не так проста. Надо некоторое время подумать. Или поискать что-нибудь.
Проблема в центре притягивающем и ограничении на ускорение. Если без центра - то можно задать режим, чтобы при переходе от одной точки к другой изменить вектор скорости(величина и направление). Но так - .... :(
← →
Orbital (2004-08-19 13:13) [16]Давайте разберем поэтапно.
1. Я нахожусь в двухмерном пространстве. Мои координаты - (18, 0). Центр звезды - (0, 0).
2. На меня действует сила притяжения равная G/d^2, где d - расстояние до центра звезды. Также у меня есть есть своя собственная скорость направленная по касательной к орбите и равная корню G/d. Т.е. скорость стабилизированы и выполняется закон a_цс = V^2 / r, то есть движение происходит по окружности. Т.е. моя скорость стабилизирована так, что я я просто вращаюсь по орбите. При этом компоненты в начальной точке будут: kx = 0, ky = 0,333
3. Допустим я захотел перелететь на другую орбиту, дал газу.
4. Компоненты изменились: kx = kx + мощность*cos(направление),
ky = ky + мощность*sin(направление)
5. Я нахожусь в какой-то точке пространства и знаю компоненты скорости и свои координаты. Возникает вопрос.
6. Как стабилизироваться? Т.е. требуется сделать так, чтобы точка, в которой я нахожусь, принадлежала новой орбите (окружность). Т.е. я должен еще куда-то добавить ускорение, чтобы я смог летать вокруг планеты по кругу.
7. За раз я могу действовать только в одном направлении (ускоряться).
← →
Думкин © (2004-08-19 13:44) [17]> kx = kx + мощность*cos(направление),
> ky = ky + мощность*sin(направление)
А где сила притяжения?
G/d^2 - не сила. Или что такое G?
← →
Orbital (2004-08-19 13:51) [18]Да, каждый турн действует сила, см. выше:
u:= u - G*x[i]/d/d2;
v:= v - G*y[i]/d/d2;
ну или формула принимает вид:
kx = kx + мощность*cos(направление) - G*x/d^3
ky = ky + мощность*sin(направление) - G*y/d^3
Сила тяжести - G/d^2
← →
Думкин © (2004-08-19 13:56) [19]Сила тяжести - m1*m2*G/d^2 - модуль.
Это понятно - но на пальцах не решишь.
← →
Orbital (2004-08-19 16:04) [20]массы тут не учитываются, это модель :), только гимора это не отбавляет :(
← →
Думкин © (2004-08-19 20:35) [21]0. Нужно найти именно на окружности. - для простоты.
1. Лучше перейти к полярным координатам.
2. При движении по орбите радиальная составляющая скорости 0, для каждой орбиты - своя угловая скорость.
3. Скорости Vw(t) и Vr(t).
4. Ускорение из двух составляющих - угловая и радиальная - AW(t) и Ar(t).
5. AW = Aw1+Aw2. Aw1=Vr^2/R
6. Скорость на первом радиусе V1 на втором V2. Ускоряемся время T. Начальный момент 0. Первую космическую для радиуса R обозначим VR.
7. Тогда получаем следующие ограничения:
а. Интеграл от 0 до Т от Aw2(t) = V2-V1
б. Интеграл от 0 до Т от Ar(t) = 0
в. Интеграл от 0 до Т от Vr(t) = 0
г. sqrt((Aw2+(VR^2-Vr^2)/R)^2+Ar^2) < MAX_ACC
Исходя из этого и надо подбирать Aw,Ar,T. Решений много.
Возможно ошибаюсь, надо будет еще посмотреть более детально.
← →
Думкин © (2004-08-19 20:40) [22]Сорри, вечер - исправление:
4. Ускорение из двух составляющих - угловая и радиальная - Aw(t) и AR(t).
5. AR = Ar1+Ar2. Ar1=Vr^2/R
б. Интеграл от 0 до Т от Ar2(t) = 0
г. sqrt((Ar2+(VR^2-Vr^2)/R)^2+Aw^2) < MAX_ACC
← →
марсианин © (2004-08-20 14:03) [23]2[21] Думкин © (19.08.04 20:35)
зачем же так сложно? не, возможно все это правильно, но я просто не понимаю зачем?
Трудность в том чтобы удержаться на орбите. Для этого надо чтобы скорость соответствовала этой орбите в данной точке. Как только это произойдет - ты спокойно выключаешь все двигатели и летишь по этой самой орбите.
разве это так? т.е ч-з любую точку можно пролетать только с 1 скоростью (по орбите)?
2Orbital
что значит ДРУГАЯ орбтита? та, которую ты хочешь?
черт, не силен я в космич. навигации, но скажи как ты задаешь параметры орбит новой и старой?
любую орбиту можно охарактеризовать
а) общей энергией (потенц + кинетич), как указали в [9] Думкин © (19.08.04 11:36)
б) моментом (вектором ес-но) орбиты.. т.е вообще говоря напрвлением куда вращаемся..
эти вечичины буду сохраняться их можно поменять только работой двигателей.. (если считать планету идеально круглой, и любые массы удалены)
если знаешь всякие там апогеи и перигеи (их высоты и положение), то и энергию и момент можно вычислить...
кстати, что значит, что орбита устойчива?
а) тело не улетит. тогда есле его полная энергия (кинетич + потенц) < чем потенциальная энергия гравит. поля.. т.е. разницы потенц. энергий этого тела, отнесенного в бесконечность от планеты по отношению к энергии тела, нах. в центре планеты
б) оно не врежется в Землю. если радиус нашей планеты устремить к 0, то в нее никогда ничего не врежется и любая орбита, удовлетворяющая п. а) будет устойчива.
и еще в) если мах скорость на орбите не превысит скорсть света.. но это совсем другая история...
← →
марсианин © (2004-08-20 14:07) [24]литературный талант у меня, конечно, "хорош".. :) если что не понятно, спрашивайте -- уточню)
← →
Думкин © (2004-08-20 14:28) [25]> [23] марсианин © (20.08.04 14:03)
> разве это так? т.е ч-з любую точку можно пролетать только с 1 скоростью (по орбите
Не совсем понял. но попробую.
Если мы в свободном полете - то мы летим по орбите в каждой точке которой имеем вполне определенное значение. Если вы имеете в виду скорсоть не только как модуль, но и вектор, то да - скорость в данной точке(при выключенном двигетеле) - полностью определяет траекторию полета. При этом это могут быть траектории:
1. Эллипс.
2. Парабола
3. Гипербола.
Рассматриваем движения без столкновения. Форма определяется именно:
общей энергией (потенц + кинетич).
И почему сложно? Рассматриваем движение в одной плоскости. Имеем 2 окружности - надо перейти с одной на другую. Если просто изменить характеристики - то нет гарантии что вы попадете на окружность - вы можете начать двигаться по эллипсу.
← →
Orbital (2004-08-21 23:12) [26]Мдя, запутываться начинаю, видать придется что-от попроще делать :) Наверно, остановлюсь на просчете нескольких турнов вперед (рекурсия) и стабилизации на каждом шаге (+просчет), т.е. каждый турн я буду получается выравнивать скорость, выбирая наиболее пригодный вариант из тех, которые найдены. Пробный тест дает результат - 3 хода на стабилизацию. Конечно, хотелось маленько другого - задал орбиту, посчитал и там очутился :), но видать не выйдет.
← →
Думкин © (2004-08-22 05:53) [27]> [26] Orbital (21.08.04 23:12)
Почему не выйдет? Все описано. Глаза боятся - руки делают.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.05 c