|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2011, 12:59 | #1 |
Новичок
Джуниор
Регистрация: 29.05.2011
Сообщений: 2
|
Полет снаряда
Реализую полет снаряда. Физикой занимался уже давно, плохо помню все уравнения, вот что есть для расчета траектории полета снаряда:
Код:
Мне надо решить обратную задачу: имея координаты пушки, координаты цели и скорость V найти угол выстрела. Подскажите, как такое сделать? |
29.05.2011, 17:14 | #2 |
Пользователь
Регистрация: 08.03.2011
Сообщений: 91
|
скорость чего? пушки или снаряда?
если снаряда, то вы учтете что может быть такое что решений не будет. -((y-y_0)/(x-x_0))*2*V^2*f^2+2V^2*f+((y-y_0/(x-x_0))*2*V^2-g*(x-x_0)=0 f=sin(угол) решаешь это уравнение относительно f и получаешь угол равным arcsin(f) может где ошибСО y=y_0-V*sin(угол)*t+(g*t^2)/2 x=x_0+V*cos(угол)*t x=конечное положение y=конечное положение x_0=начальное положение y_0=начальное положение V=скорость t=время q=константа 9,8 можешь решить эту систему (оси провел как на мониторе слева на право с верху вних
Всё будет так, как должно было быть, даже, если будет наоборот.
Последний раз редактировалось Odinok; 29.05.2011 в 17:54. |
29.05.2011, 19:59 | #3 |
Новичок
Джуниор
Регистрация: 29.05.2011
Сообщений: 2
|
Что-то не получается. Давно математикой занимался, не помню уже.
Вот какая система уравнений есть: x = x0 - t * v * cos (a); y = y0 + t * v * sin (a) + g * t ^ 2 / 2. x, y - координаты цели; x0, y0 - координаты ствола пушки; g = 9.81. В итоге у нас 2 неизвестных: t - время, когда снаряд достигнет цель; a - угол, с которым необходимо произвести выстрел, что бы снаряд попал в цель. Время нас не интересует, поэтому можно от него избавиться: t = (x0 - x) / (v * cos (a)); Подставляем найденное t во второе уравнение, получаем: y = y0 + (x0 - x) / (v * cos (a)) * v * sin (a) + g / 2 * ((x0 - x) / (v * cos (a))) ^ 2; Надо найти a. Попытался это сделать, вот к чему пришел: (y - y0) / (x0 - x) = (v * sin (a) * cos (a) + g / 2 * (x0 - x)) / (v * cos (a)) ^ 2. Как от сюда выразить a? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Полет ядра! | ilshat09 | Помощь студентам | 1 | 15.02.2011 10:58 |
Траектория полета снаряда... | iMax` | Общие вопросы C/C++ | 7 | 29.12.2010 07:12 |
Стандартные средства = бесконечный полет фантазии. | Alex Cones | Софт | 2 | 27.07.2009 17:10 |