Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Уравнение движения тела, брошенного под углом   Найти похожие ветки 

 
greenrul ©   (2002-10-26 11:00) [0]

Нужно написать уравнение движения снаряда, зная его начальную скорость, и координаты, КУДА он должен прилететь. Никакого начального угла не дано.

Проще говоря,
Player1.x:=?(speed,x_dest,y_dest)
Player1.y:=?(speed,x_dest,y_dest)


Раньше мне нужно было вводить еще и начальный угол, и процедура выглядела так:
y:=SelectedUnit.Y+snarad_speed*sin(DegToRad(Snarad.start_angle))*(time/speed) + g*(((time*time)/(speed*speed))/2);
x:=SelectedUnit.x+snarad_speed*cos(DegToRad(Snarad.start_angle))*(time/speed);


но теперь угла-то нет... попытался выразить угол : Snarad.start_angle:=Round(RadToDeg(ArcCos((sector*30-SelectedUnit.x)*time / 50)));
Но он почему-то всегда равен 0


 
Карлсон ©   (2002-10-26 11:31) [1]

купи учебник физики за девятый класс, а еще лучше почитай трехтомник Ландсберга.
тема "Движение тела брошенного под углом к горизонту"


 
Valt ©   (2002-10-26 11:39) [2]


> greenrul

Послушай Карлсона, он то знает толк в полетах:)


 
][рюн   (2002-10-26 12:59) [3]

а чего вы над ним издеваетесь?
я вот тоже не знаю чем помочь - учебника нет (как и у greenrul"a небось тоже)...

подсказали-бы


 
Dr_Mike ©   (2002-10-26 13:36) [4]

Ээх...не хотелось бы опозориться, но попробую... :-)))

(Просьба, если кто заметит ошибку в моих расчетах, обязательно скажите, буду благодарен.)

Запишем систему уравнений для равноускоренного движения в проекциях (фактически уравнения движения тела брошенного под углом к горизонту):

Xкон = Xнач + Vx*T + Gx*T^2 / 2
Yкон = Yнач + Vy*T + Gy*T^2 / 2

так как Gx = 0 и Gy = G , то:

Xкон = Xнач + Vx*T + 0
Yкон = Yнач + Vy*T + G*T^2 / 2

откуда:

Xкон = Xнач + Vx*T
Yкон = Yнач + Vy*T + G*T^2 / 2

теперь распишем проекции скорости (где A - начальный угол):

Vx = V * cosA
Vy = V * sinA

Итак:

Xкон = Xнач + T*V*cosA
Yкон = Yнач + T*V*sinA + G*T^2 / 2

T*V*cosA = Xкон - Xнач
T*V*sinA = Yкон - Yнач - G*T^2 / 2

Xкон - Xнач
cosA = -----------
T*V
Yкон - Yнач - G*T^2 / 2
sinA = -----------------------
T*V

теперь запишем tgA = sinA / cosA:

(Xкон - Xнач) * (T*V) Xкон - Xнач
tgA = ---------------------------------------- = ----------------------
(T*V) * (Yкон - Yнач - G*T^2 / 2) Yкон - Yнач - G*T^2 / 2




 
Карлсон ©   (2002-10-26 13:36) [5]

http://www.spin.nw.ru/MECHAN/simulations/gun.htm
фактически копия предыдущей линки http://mechanics.h1.ru/Spin/imjd2.htm
и вот еще:
http://friends.pomorsu.ru/~tanya.uryanskaya/nova.html

читайте, разбирайтесь....


 
greenrul ©   (2002-10-26 13:46) [6]

2Карлсон - читал
2Dr_Mike - я сам так пробовал, пока не понял, что время-то не дано при котором снаряд будет в конечной точке...


 
Dr_Mike ©   (2002-10-26 13:46) [7]

м-да, опозорился :(((

http://www.spin.nw.ru/MECHAN/simulations/gun.htm - действительно все расписано как нельзя лучше !!!


 
Pumpkin   (2002-10-26 13:51) [8]

Я тут на бумажке накрапал:
V - скорость; S - расстояние полета по горизонтали; A - угол (альфа); t0 - время полета до верхней точки, t - общее время полета, h - макс. высота, g - уск. своб. пад.
S и V известны, A - ищем. Выписываем известные формулы:
Vy = V*sin(A); Vx = V*cos(A); t = 2*t0;
S = Vx*t; g = Vy/t0;
отсюда имеем:
S = V*t*cos(A) = V*2*(Vy/g)*cos(A) = V*2*V*sin(A)*cos(A)/g = ((V^2)/g)*(2*sin(A)*cos(A)) = ((V^2)/g)*sin(2*A);
отсюда:
A = arcsin(S*g/(V^2))/2.
Однакож я где-то мог ошибиться.


 
Dr_Mike ©   (2002-10-26 14:35) [9]

>greenrul © (26.10.02 13:46)

одна простоя вещь - в горизонтальной плоскости ускорения-то нет ! :))

Xкон = Xнач + T*V*cosA

T = (Xкон - Xнач) / (V*cosA)

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

так что стоит или задавать время, за которое должен прилететь снаряд, или угол, под которым его запускать

!!! нужно только проверять, чтобы было решение - иначе снаряд не долетит :))))



 
PaRL ©   (2002-10-26 20:18) [10]

Vx = V*cosA
Vy = VsinA - gt
V = sqrt(Vx*Vx + Vy*Vy)
x = x0 + VtcosA
y = y0 + VtsinA - gt*t/2

Основные. Если угла не дано сам думай.



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-45802
delphi4fun
2002-11-04 21:08
2002.11.14
вставить image в TreeView


3-45741
VIB
2002-10-24 17:53
2002.11.14
Paradox Base


7-46156
BCPP_Builder_Dev
2002-09-12 14:27
2002.11.14
Коллеги! Как программно


7-46162
AndreyS
2002-09-12 20:22
2002.11.14
На чем лучше писать драйвера?


1-45902
^Sanya
2002-11-05 15:31
2002.11.14
Как в приведённом коде...