Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
#1: 2010-04-06 20:11:33 ЛС | профиль | цитата
Есть такая задача (полностью курс физики):

Что требуется: вычислить каждую последующую координату движения точки и учесть при этом силы Ц1, Ц2 и собственную скорость тела - V (или проще, нарисовать на этой картинке кривую движения точки с учетом всех сил)
Ц12 = центры, к которым притягивается тело Т, по размерам точки можно догадаться, что одна сила гравитации больше другой
V - скорость, направленная в указанном направлении
Как это сделать По физике еще не прошли это, а ужас как знать хочется
Напишите, пожалуйста, знающие люди формулу, подробное решение и описание каждого шага... да и еще можно ко всему этому схему на HiAsm, делающая то же, что описано в условиях задачи (это было бы очень полезно)
карма: 10
0
файлы: 1csh.png [1KB] [537]
Ответов: 970
Рейтинг: 270
#2: 2010-04-06 20:23:58 ЛС | профиль | цитата
[offtop]Равноускоренное движение

тоже хочется узнать [/offtop]
карма: 0

0
Ответов: 5446
Рейтинг: 323
#3: 2010-04-06 21:42:40 ЛС | профиль | цитата
Assasin, Genius, задачка решается на раз-два, причём достаточно курса школьной математики (даже не алгебры). Единственное, что надо понять (и принять на веру) - что при достаточно малом шаге по времени можно считать, что события происходят моментально в пределах этого шага.
карма: 1

0
Ответов: 8953
Рейтинг: 824
#4: 2010-04-06 21:46:14 ЛС | профиль | цитата
Assasin, плохо в примерах смотрели %%hiasm%%ElementsDelphiExampleOpenGLGravity.sha
------------ Дoбавленo в 21.46:
iarspider, "интегралы мы не проходили, их нам не задавали!"
карма: 19

3
Голосовали:Genius, sla8a, iarspider
Ответов: 5446
Рейтинг: 323
#5: 2010-04-06 21:48:51 ЛС | профиль | цитата
Леонид, а кто про интегралы тут говорит? Мы про них думаем, но слово это не произносим

Решается как-то так:
Часть 1. Физика
Закон всемирного тяготения: [offtop](пардон, фигню сначала написал)[/offtop]

Уравнения движения:
[img]http://www.forkosh.dreamhost.com/mathtex.cgi?displaystyleleft{{x%28t%29%20=%20x%280%29%20+%20v_x%280%29%20t%20+%20frac{a_x(t)%20t^2}{2}}%20above%20%20{v_x%28t%29%20=%20v_x%280%29%20+%20a_x(t)%20t} ight.[/img]
(аналогично для y)
2й закон Ньютона: [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec F = m vec a[/img]

Часть 1б. Обозначения
, - массы неподвижных центров, - масса подвижного тела

Часть 2. Волшебство
Будем считать, что за интервал изменение координат настолько мало, что значение сил не меняется. Тогда из непрерывной задачи получаем задачу дискретную.

Часть 3. Алгоритм
В момент времени t вычисляем

  • Силы [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec F_{M_1m}[/img], [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec F_{M_2m}[/img]
  • Равнодействующую силу [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec F[/img] - векторную сумму вычисленных двух сил
  • Ускорение подвижного тела - из второго закона Ньютона. Сначала как верктор, потом в координатах
  • Координаты - из первого уравнения движения

карма: 1

2
Голосовали:Genius, sla8a
Разработчик
Ответов: 4698
Рейтинг: 426
#6: 2010-04-07 14:47:38 ЛС | профиль | цитата
Часть 4. Что я не умею
1. Находить равнодействующую силу
2. Находить векторные суммы без рисунка
3. Получить скорости Vx(0) и Vy(0) (то есть разложить полученный вектор)

карма: 10
0
Ответов: 5446
Рейтинг: 323
#7: 2010-04-07 15:05:13 ЛС | профиль | цитата
Assasin,
Синусы-косинусы уже прошли? А (декартову) прямоугольную систему координат? Без этих понятий никуда. Это геометрия, какой класс - не помню...

карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#8: 2010-04-07 15:06:53 ЛС | профиль | цитата
Ну? Так вот как найти векторную СУММУ всех сил на теле?
2-3. Синусы, косинусы - прошли, уже давно, а декартова - это еще с 6 класса
карма: 10
0
Ответов: 8953
Рейтинг: 824
#9: 2010-04-07 15:32:47 ЛС | профиль | цитата
Assasin, [flood]Уходя - уходи! [/flood] Векторную силу искать совсем не надо, отдельно по всем трём (двум) осям считаете силы, ускорения, приращения пути и новые кординаты синусы-косинусы не требуются, разве что задавшись минимальной погрешностью вычислений, изменять временной промежуток - это нужно при сближении тел. Здесь (на форуме) уже обсуждалось.
Повторюсь: задача движения тел в собственном силовом поле имеет точное алгебраическое решение для двух тел, для трёх тел - тоже, но в бесконечных рядах, для более, чем трёх только численное приближение с той или иной точностью, зависящей от временного промежутка, в любом случае из-за накопления погрешности результаты разойдутся с действительностью.
карма: 19

0
Разработчик
Ответов: 4698
Рейтинг: 426
#10: 2010-04-07 15:36:02 ЛС | профиль | цитата
[flood]А я в гости зашел Вчера оставил задачу, сегодня в гости [/flood]
, а теперь на старом, добром Русском, что вы написали (че за ряды, накопление погрешности... ужас )
карма: 10
0
Ответов: 5446
Рейтинг: 323
#11: 2010-04-07 16:09:48 ЛС | профиль | цитата
Леонид, как посчитать "силу по x" без синусов-косинусов ? Поделитесь ноу-хау!

Assasin, Леонид (как и я) решил похвастаться высшим образованием в области физики. По-русски: задача трёх тел (а именно она и представлена в первом посте) не имеет решения в виде формулы, точно описывающей положение тел в каждый момент времени. Поэтому приходится считать численно (= неточно). Разница между "реальным" и "посчитанным" значениями с течением времени увеличивается, и для достаточно больших времён можем получить полную ерунду вместо ответа.
карма: 1

0
Ответов: 8953
Рейтинг: 824
#12: 2010-04-07 16:11:41 ЛС | профиль | цитата
Assasin, [flood]Точно так же мне хочется сказать nesco, когда он объясняет решение задачи на грамотном программистском языке, но которого я, к сожалению, не знаю [/flood]
"точное алгебраическое решение" - формула зависимости координат тела от времени;
Ряд - формула зависимости одной величины от другой с бесконечным числом членов, например: sin(x)=x-x^3/3!+x^5/5!-x^7/7!+......+(-1^n)*x^(2n+1)/(2n+1)!+.... Ведь когда в программе Вы набираете SIN, не думаете же, что все синусы забиты в памяти, они вычисляются по похожим формулам
Про погрешность промолчу, велика тема для форума
------------ Дoбавленo в 16.11:
iarspider, в области математики
карма: 19

0
Ответов: 5446
Рейтинг: 323
#13: 2010-04-07 16:18:43 ЛС | профиль | цитата
Часть 4. Математика
Это вроде в классе 9 проходят (планиметрия, "Векторы"):

  • Если задана декартовая система координат Oxy, то координаты вектора [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec v[/img] в этой системе - [img]http://www.forkosh.dreamhost.com/mathtex.cgi?(v_x, v_y) = (|vec v| cos phi, |vec v| sin phi)[/img], где - угол вектора [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec v[/img] с осью Ox.
  • Сумма векторов [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec u[/img] и [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec v[/img], заданных своими координатами в декартовой системе координат: [img]http://www.forkosh.dreamhost.com/mathtex.cgi?vec u + vec v = (u_x + v_x, u_y + v_y) [/img]
карма: 1

0
Ответов: 8953
Рейтинг: 824
#14: 2010-04-07 16:29:07 ЛС | профиль | цитата
iarspider, расстояние между телами мы вынуждены считать: R=sqrt((X1-X2)^2+(Y1-Y2)^2+(Z1-Z2)^2) для расчёта силы, а проекции этой силы на оси: Fx=F*(X1-X2)/R..., т. е. синусы-косинусы не считаются, хотя закамуфлированно присутствуют
карма: 19

0
Разработчик
Ответов: 4698
Рейтинг: 426
#15: 2010-04-07 17:49:33 ЛС | профиль | цитата
А, я забыл добавить, что Ц1 и Ц2 неподвижны
карма: 10
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)