Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
14-46130
VictorT
2002-10-23 20:12
2002.11.14
Поломали рассылку


3-45693
s_karm
2002-10-28 10:47
2002.11.14
запись


4-46207
valerchik
2002-10-03 00:47
2002.11.14
Как перерисовать окно...


1-45959
SB
2002-11-04 12:06
2002.11.14
TreeView директорий с CheckBox ами


6-46043
delpher_gray
2002-09-05 18:46
2002.11.14
Нужен полный ответ, событие OnClientRead компоненту TServerSocket





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский