IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Закон всемирного тяготения, Помогите вывести формулы.
сообщение
Сообщение #1


Гость






Помогите решить задачу.
Дано x1,y1,x2,y2,x3,y3. где x1,y1 координаты первого тела, координаты второго тела x2,y2, и соответствено x3,y3 координаты третьего тела. Даны так же массы этих трех тел M1,M2,M3. Выразить формулы для расчета конечного положения тел по истечению времени t. Все три тела находятся в космосе и на них не действует другие силы, кроме сил Всемирного тяготения этих трех тел друг на друга.
Помогите пожалуйсто, очень нужно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(-Александр- @ 6.11.2007 20:41) *

Дано x1,y1,x2,y2,x3,y3. где x1,y1 координаты первого тела, координаты второго тела x2,y2, и соответствено x3,y3 координаты третьего тела. Даны так же массы этих трех тел M1,M2,M3.
Для решения необходимы не только начальные координаты, но и начальные скорости тел.

Тебе нужно составить систему дифференциальных уравнений для численного решения?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Скорости считать v0y1, v0x1, v0y2, v0x2, voy3,v0x3;

И мне нужно найти формулы конечных координат в зависимости от времени, для каждого тела. Чтобы формулы были понятны паскалю.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(-Александр- @ 7.11.2007 20:07) *
Скорости считать v0y1, v0x1, v0y2, v0x2, voy3,v0x3;
И мне нужно найти формулы конечных координат в зависимости от времени, для каждого тела.
Система координат у тебя есть. Рассчитываешь расстояния между телами (грубо говоря, по теореме Пифагора, как корень из суммы квадратов разностей координат). Эти расстояния используешь в законе гравитации (собственно, там нужен квадрат расстояния, так что вычислять корень не потребуется). Все, конечно, в векторной форме (разложение по выбранной системе координат). Зная силу, записываешь для каждого тела второй закон Ньютона. Тем самым имеешь три дифференциальных уравнения для решения.

Цитата(-Александр- @ 7.11.2007 20:07) *
Чтобы формулы были понятны паскалю.
А тут физика заканчивается, и начинается вычислительная математика.. Имеешь полное право запостить тему в Алгоритмах или Задачах.. - что сочтешь более подходящим.

Могу тебе заранее сказать, что, несмотря на довольно простое начало, задача эта не так проста. Дело в том, что она сильно неоднородна. Точность вычислений очень зависит от самих величин (скоростей и ускорений). То есть тебе необходимо как минимум вводить переменный шаг интегрирования. Ладно, это уже разговоры для новой темы..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Расстояниями тут одними не обойтись, Ведь на каждое тело действуют по две силы, чтобы их сложить надо знать угол между ними (это найти достаточно легко по теореме косинусов) в итоге мы находим сумму этих двух сил, чтоб спроицировать эту силу на оси координат, нам надо опять же найди угол между силой и осью Х, путем сложных вычислений я его нахожу, но в итоге у получаются такие здоровенные формулы которые записываються в несколько строчек


Если диффиринциальными уравнениями будет короче, то ты бы не мог мне их написать. А то моих знаний пока не достаточно.
P.S. Только что начили проходить диффирициальные уравнения.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(-Александр- @ 8.11.2007 11:26) *

на каждое тело действуют по две силы, чтобы их сложить надо знать угол между ними

Зачем тебе угол между ними?.. blink.gif Сложи их компоненты - да и все..

Расстояние между телами 1 и 2:
R12^2 = (x2-x1)^2 + (y2-y1)^2
R12 = Sqrt(R12^2)

Сила, действующая на тело 1 со стороны тела 2:
F12 = (m1*m2)/R12^2

Составляющая по х этой силы:
F12x = F12*Cos(Alpha) = F12*(x2-x1)/R12

Составляющая по х силы, действующей на тело 1 со стороны тела 3:
F13x = F13*(x3-x1)/R13

Составляющая по х полной силы на тело 1 со стороны обоих тел (2 и 3):
F1x = F12x + F13x

Составляющая по у той же силы:
F1y = F12y + F13y

Вот и все. У тебя есть сила, делишь ее на массу и получаешь ускорение. Как видишь, никаких многоэтажных формул.. Простой заменой индексов получаешь силы на остальные тела. Если вопользоваться массивами, то количество тел можно увеличивать безгранично.. smile.gif

Я тут, правда, схитрил smile.gif. Я неаккуратно обошелся со знаками. Этому нужно уделить отдельное внимание при программировании. Впрочем, не уверен, что это неправильно smile.gif.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Логично! Это в несколько раз упрощает задачу! Спасибо!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Тема разделена.
Продолжение темы (численные методы расчетов) здесь:
Гравитация, задача трех тел


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.12.2020 21:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name