Форум: "Игры";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизПомогите с физикой планет Найти похожие ветки
← →
Yegorchic © (2005-04-22 20:14) [0]Вот значит мне надо рачитать как быдут двигаться планет в космосе... Планеты могут быть любые (читаются из файла)... вот, я делаю так:
Нахожу расстояние между объектами:
1) r = (x2-x1; y2-y1; z2-z1)
2) |r| = *нахожу длину вектора r*
Нахожу направление (в какую сторону лететь):
3) e = (1/|r|)*r
Нахожу ускорение:
4) |a| = G * m2/|sqr(r)|
5) a = |a|*e
Нахожу все ускорения для всех тел таким образом.
Нахожу новые координаты:
6) V = r0(*r первоначальное*)+V*t(t-время)+a*sqr(t)/2.
Это всё правильно? Что-то когда я это оформляю в Delphi, то у меня ничего не работает. Вот код:
for i:=1 to Nobjects do for j:=1 to nobjects do R[i,j]:=VectorRazn(Data[j].XYZ, Data[i].XYZ);
for i:=1 to Nobjects do for j:=1 to nobjects do R_[i,j]:=VectorLength(R[i,j]);
for i:=1 to Nobjects do for j:=1 to nobjects do if i <> j then E[i,j]:=VectorNaSkal(R[i,j], 1/R_[i,j]);
for i:=1 to Nobjects do for j:=1 to nobjects do if i <> j then A_[i,j]:=G*(Data[i].Mass/sqr(R_[i,j]));
for i:=1 to Nobjects do for j:=1 to nobjects do if i <> j then A[i,j]:=VectorNaSkal(E[i,j], A_[i,j]);
for i:=1 to NObjects do for j:=1 to NObjects do Data[i].A:=VectorSum(Data[i].A, a[i,j]);
for i:=1 to NObjects do Data[i].XYZ:=VectorSum(VectorSum(Data[i].XYZ, VectorNaSkal(Data[i].Vxyz, t)),VectorNaSkal(Data[i].A,t*t/2));
Спасибо.
← →
XProger © (2005-04-22 22:04) [1]"ничего не работает", у тебя хоть свет в квартире есть? ;)
Что-то всё равно должно работать...
P.S.
А е нормализовать не нужно случаем?
← →
Yegorchic © (2005-04-22 23:23) [2]Формулы то правельные? Или что то не то в коде?
← →
Yegorchic © (2005-04-22 23:23) [3]Формулы то правельные? Или что то не то в коде?
← →
Yegorchic © (2005-04-22 23:23) [4]Формулы то правельные? Или что то не то в коде?
← →
MustDie (2005-04-24 17:50) [5]Проверь, 1)производится ли изменение вектора скорости каждой планеты на каждом шаге ( V(t+dt) = V(t) + A*dt, V-скорость, A-ускорение, dt - временной шаг );
2)обнуляются ли перед использованием массивы Data[i].XYZ, Data[i].Vxyz, Data[i].A.
← →
Yegorchic © (2005-04-24 20:08) [6]спасибо. я уже нашёл ошибку, это как раз и было не обнуление массива Data[i].A. А массив Data[i].XYZ не надо обнулять, он же и так переписывается, и перед переменной t(время) надо было ставить мунус в последней строчке.
← →
Tonich (2005-04-24 21:24) [7]Ох ну ты и замучал, а только надо было решить уравнение Кеплера
методом итераций да и все, и ты имелбы координаты любой планеты , в любой момент времени, А из своего файла мог бы считывать элементы орбиты
Но если тебе так легче...................
← →
Yegorchic © (2005-04-24 23:32) [8]Уравнение Кплера прменяется для двух, дальше всё равно используются приближённые методы, напремер теория возмущений. А сточки зрения математики они чрезвычайно сложны, а тут всё просто... тем более расчёты можно производить с кюбым кол-вом тел. Конечно возможность расчёта положения тел в абсолютно любой момент времени.
← →
Думкин © (2005-04-25 06:21) [9]> [7] Tonich (24.04.05 21:24)
Автор не пренебрегает взаимным притяжением планет - следовательно его задача шире задачи 2-х тел, а следовательно законы Кеплера спускаются в унитаз.
← →
VVV-First (2005-04-25 14:51) [10]
> Yegorchic © (24.04.05 23:32) [8]
Хмммммм так что тебе мешает решать уравненеи для каждой планеты , со своими элементами в один и тот же момент времени.
Я так понял точные координаты тебе ни к чему, а этого помоему достаточно.
просто надо будет рассматривать несколько задачь 2-х тел
Типа Цетральное тело - Первое тело,Цетральное тело - Второе тело... Цетральное тело - N-е тело
> Автор не пренебрегает взаимным притяжением планет - следовательно
> его задача шире задачи 2-х тел, а следовательно законы Кеплера
> спускаются в унитаз.
ПРежде чем такое говорить , почитай начальный курс астрономии
← →
Думкин © (2005-04-26 07:43) [11]> [10] VVV-First (25.04.05 14:51)
?!
Астрономии? Начальный?
Законы Кеплера, а равно и вполне выводимое уравнение - это задача 2-х тел. Бегом к букварю. Используется движение по эллипсу - характеристики вычисляются - он весело очень.
Оно понятно, что вы хотите к суперпозиции свести и прочая(используя Кеплера) - но - вы подумали что рассчитытвать и какие таблицы? Подход с расчетом на каждом шаге дифференциальных характеристик - реален. А вот на реализацию вашего - я бы с удовольствием посмотрел и также на те полведра пота, против моих нескольких капель. :))
Не отсылайте меня к астрономии, начальной. :) Лучше бинт резину на коленки намотайте - а то подогнуться. :))
Элементы орбиты из файлов? Жду еще. :))
← →
Думкин © (2005-04-26 07:49) [12]> [10] VVV-First (25.04.05 14:51)
Хорошо - почитал. Имеем 3 тела. Имеем 1-й закон Кеплера утверждающий, что планета движется по эллипсу, в одном из фокусов которого находится Солнце.
Мы отстали от планет и Солнца. Ну... возьмем: Солнце, Землю и Луну. 3 тела?
Покажите мне тот эллипс для Луны. В инерциальной системе координат. Желательно.
Можно расширить и говорить про центр масс. Но покажите мне этот чертов эллипс.
← →
VVV-First (2005-04-26 12:44) [13]
> Думкин © (26.04.05 07:49) [12]
а что же вам мешает в случаи Луны перейти в систему координат с центорм с Землей, и считать туже задачу 2-х тел, Вот только точность этих координат это конечно да......:)
> Имеем 1-й закон Кеплера утверждающий, что планета движется
> по эллипсу
Не хочу придераться, но он утверждает, что все тела движутся по коническим сечениям (еллипс, гипербола, парабола)
← →
Думкин © (2005-04-26 12:53) [14]> [13] VVV-First (26.04.05 12:44)
1. То что система неинерциальная видимо? Или пренебрежем? Так автор судя по приведенному в сабже - не хочет. Может и ошибаюсь, но вроде даже для случая 3-х тел нет ничего приемлемого на уровне з.Кеплера. Кроме разумеется ряда инвариантов или з.Ньютона.
2. В формулировке Кеплера? Он наблюдал движения по гиперболе? Ну в частности, по тому что я привел - для планет если. Или вы знаете планету которая движется по гиперболе? :)
http://encycl.yandex.ru/cgi-bin/art.pl?art=gl_natural/2574/257_4516.HTM&encpage=gl_naturalЗаконы Кеплера
Законы Кеплера - три экспериментально установленных закона движения планет Солнечной системы.
1-й закон Кеплера. Все планеты движутся по эллиптическим орбитам, в одном из фокусов которых находится Солнце.
2-й закон Кеплера. Радиус-вектор, проведенный от Солнца к планете, за равные промежутки времени описывает равные площади.
3-й закон Кеплера. Квадраты времен обращения планет вокруг Солнца относятся как кубы больших полуосей их орбит.
← →
Думкин © (2005-04-26 12:54) [15]1. И кроме этого - Солнце еще есть. Тоже пренебрежем?
← →
Думкин © (2005-04-26 12:56) [16]1. Хотя тут или неинерциальность или Солнце - равноценно. :) На чем собственно и ОТО вылезло.
← →
VVV-First (2005-04-26 13:06) [17]не попорядку::)
> Или вы знаете планету которая движется по гиперболе? :)
а что законы кеплера справедливы только для планет?
> Может и ошибаюсь, но вроде даже для случая 3-х тел нет ничего
> приемлемого на уровне з.Кеплера.
С эти я и не спорю, я кажется говорил чтобы разбить задачу N тел на N-1 задачу 2-тел
А чем же это я принебрег.Тем что не учел влияние Юпитера , на Землю, или приливное от луны или давление света?
я думаю если автор все это будет считать , то ему не захочиться и рисовать все это дело
> 1-й закон Кеплера. Все планеты движутся по эллиптическим
> орбитам, в одном из фокусов которых находится Солнце.
>
> 2-й закон Кеплера. Радиус-вектор, проведенный от Солнца
> к планете, за равные промежутки времени описывает равные
> площади.
>
> 3-й закон Кеплера. Квадраты времен обращения планет вокруг
> Солнца относятся как кубы больших полуосей их орбит.
Да все это так, так это же не означает , что они не справедлилы в других системах
> И кроме этого - Солнце еще есть. Тоже пренебрежем?
← →
Думкин © (2005-04-26 13:52) [18]> VVV-First (26.04.05 13:06) [17]
1. Законы Кеплера - Кеплер устанавливал исходя из этого материала. Я понимаю, что в случае двух тел получаются конические сечения - но это уже расширение з.Кеплера. И сделал его наверняка не Кеплер, а Ньютон.
2. Как вы сведете? Вы пренебрежете взаимным притяжением планет как Ньютон? Но у нас это оправдано - автор же не пренебрегает взаимным притяжением планет. Кстати, и мы тоже - после з.Кеплера почти все механики потели как раз в направлении поравок к орбитам планет. Это не начальная астрономия - это Лаплас. Почитайте. Или это:
"Идея о существовании в Солнечной системе девятой планеты появилась в результате обнаружения отклонений в орбитальном движении Урана и Нептуна, которые могли быть объяснены воздействием более удаленной массивной планеты. Поиском этой планеты активно занимался Персиваль Ловелл, основатель Ловелловской обсерватории во Флагстаффе, Аризоне, США. Поиски оказались безуспешными, и в 1916 г. были прерваны смертью Ловелла. Ирония судьбы заключается в том, что на фотоснимках, сделанных в ходе поиска должен был быть Плутон — но его изображение попало на дефект фотопластинки. Поиск был возобновлен в 1929 г. и поручен специально нанятому для этого молодому астроному-любителю Клайду Томбо. Менее чем через год, 18 февраля 1930 г. Томбо обнаружил новую планету, выглядевшую как звездочка 15-й величины в созвездии Близнецов."
Автор сабжа - явно вводит влияние других планет друг на друга. Иначе бы он не приводил те свои пункты. Как вы думаете, человек способный понять те пункты способен понять, что можно чем-то и пренебречь - если надо?
3. Они справедливы - для системы двух точечных масс. Причем одна неподвижна. Иначе первый немного поправить надо.
← →
VVV-First (2005-04-26 14:20) [19]
> . И сделал его наверняка не Кеплер, а Ньютон.
Именно Кеплер, ядавал недавно исторю астрономии.
Вы знаете, такое ощущение, будто мы говорим об одном и том же но на разных языках :)))))
> это Лаплас. Почитайте
Пасибо я читал,у меня курсовая , была почти на эту тему:)
Я думаю имеет смысл закончить все это обсуждение, хотя мне было интересно:)))))
← →
Думкин © (2005-04-26 14:27) [20]> VVV-First (26.04.05 14:20) [19]
Взаимно. :)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.037 c