Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Задача «выстрел на опережение».
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 ]
Модераторы: paradise, KMA
  

Unnamed


Новичок

Дано:
координаты цели на момент выстрела:
x0, y0 ,z0;
проекции скорости цели на момент выстрела на оси Ox, Oy, Oz:
sx0, sy0, sz0;
проекции ускорения цели (не меняется со временем) на оси Ox, Oy, Oz:
ax, ay, az;
скорость снаряда s (снаряд летит по прямой с постоянной скоростью).

Cтреляющий в момент выстрела находится в точке O(0; 0; 0), его скорость не учитывается.

Найти:
точку (x1, y1, z1), где повстречаются цель и снаряд (зная её, можно отыскать углы, под которыми нужно производить выстрел).

Способ решения «в лоб» прост: составляется уравнение 4-ой степени
(x0 + sx0·t + ax·t^2/2)^2 + (y0 + sy0·t + ay·t^2/2)^2 + (z0 + sz0·t + az·t^2/2)^2 – (s·t)^2 = 0,
которое решается перебором значений t до достижения выражением в левой части значения, достаточно близкого к нулю.
Затем рассчитываются координаты цели спустя время t:
x1 = x0 + sx0·t + ax·t^2/2,
y1 = y0 + sy0·t + ay·t^2/2,
z1 = z0 + sz0·t + az·t^2/2.

Но было б неплохо найти более рациональное (в идеале – аналитическое (без итераций)) и по возможности точное решение.

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 5 янв. 2006 17:51 | IP
Ren


Долгожитель

Зачем так жестоко?
Ведь можно просто составить три уравнения для трёх координат. И как раз получиться аналитически выраженный ответ.

Всего сообщений: 284 | Присоединился: октябрь 2005 | Отправлено: 5 янв. 2006 19:08 | IP
Unnamed


Новичок

Ren wrote:

Ведь можно просто составить три уравнения для трёх координат. И как раз получиться аналитически выраженный ответ.
А если конкретно: что за три уравнения такие?

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 6 янв. 2006 22:44 | IP
Ren


Долгожитель

То же что и сказали Вы, только не для модулей векторов относительного перемещения, а для самих радиус векторов точек, причём в проекциях на оси координат

Всего сообщений: 284 | Присоединился: октябрь 2005 | Отправлено: 11 янв. 2006 10:08 | IP
Unnamed


Новичок

Типа вот так что ли? –

sx·t = x0 + sx0·t + ax·t^2/2,
sy·t = y0 + sy0·t + ay·t^2/2,
sz·t = z0 + sz0·t + az·t^2/2.

Но здесь 4 неизвестных: sx, sy, sz, t – в задаче-то в итоге требуется найти именно направление выстрела, т.е. вектор
(sx/s; sy/s; sz/s).

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 12 янв. 2006 19:37 | IP
swarock


Удален

М.. а такой вопрос. У нас в задачке имеется именно снаряд (т.е. фактически железная болванка) или управляемая ракета? Если ракета, то при решнии в лоб, боюсь 4мя степенями не обойтись..

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 30 янв. 2006 22:18 | IP
Unnamed


Новичок

Ракета движется с момента выстрела до попадания с постоянной скоростью, не меняя направления.

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 8 фев. 2006 12:46 | IP
MrD


Удален

Для решения уравнений 4-й степени, используется метод Феррари.
Описание можно найти, например, здесь -
http://e-docs.net.ru/articles/transcedent.php

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 фев. 2006 2:36 | IP
KMA



Долгожитель

Здесь ищут не алгоритм решения уравнений 4-ой степени, а более рациональный метод решения, для программирования конкретной задачи, с конкретными известными.
Понимаешь, надо найти обходной путь

-----
Gentoo, FreeBSD 7.2, PHP, JavaScript (jQuery), Python, Shell
Помогаю с задачами только на форуме.
Все мои действия четко согласуются с правилами раздела. Поэтому никаких претензий и обид.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 10 фев. 2006 10:53 | IP
MrD


Удален

Метод, предложенный первым, и есть самый рациональный, я сначала посидел с ручкой и бумагой, посмотрел. А дальше есть аналитическое решение, не требующее больших расчетов. Зачем искать еще и обходной путь?

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 фев. 2006 16:53 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 ]

Форум работает на скрипте © Ikonboard.com