про пушку

Сообщение №499 от Дима 16 августа 2001 г. 13:22
Тема: про пушку

такая задачка: есть цель (xt,yt), движется прямолинейно равномерно (vxt,vyt), есть пушка (xg,yg), ее снаряды также летят прямолинейно равномерно (vxg,vyg), как найти точку в которую должна выстрелить пушка чтобы попасть в цель (или под каким углом к тректории движения цели должна повернутся пушка для выстрела)? помогите плиз.


Отклики на это сообщение:

Решаем например так:
Множество возможных точек встречи снаряда и цели, если траектория цели неизвестна - это линия, удовлетворяющая уравнению
|MT|/|MG| = Vt/Vg
Где М - точка всречи.
(что это за линия, кто знает? я что-то торможу.)
Второе уравнение - траектория цели (прямая).
Решаем эту систему в координатах. Если точка пересечения существует и лежит на траектории цели с той стороны, куда она летит - стреляем, если нет - экономим снаряд ;)

Наверно есть решения и покрасивее.

> такая задачка: есть цель (xt,yt), движется прямолинейно равномерно (vxt,vyt), есть пушка (xg,yg), ее снаряды также летят прямолинейно равномерно (vxg,vyg), как найти точку в которую должна выстрелить пушка чтобы попасть в цель (или под каким углом к тректории движения цели должна повернутся пушка для выстрела)? помогите плиз.


Конечно же есть классические решения. Ведь сказано, что все движутся равн-но и прям-но!
Надо найти точку пересечения двух прямых, каждая из которых однозначно задана в параметрической форме.
Я буду считать, что надо для студенческого уровня, а не для школьного.

Внимание.
Есть 2 недосказанности:
1) Я считаю, что условиями задачи предполагается, что мишень и пуля начинают двигаться ОДНОВРЕМЕННО!
2) Я считаю, что все координаты заданы в одной плоскости (а не в пространстве. Иначе больше выкладок потребуется на задание уравнения плоскости).

I.
Задаем уравнения для каждой прямой: для цели с параметром/временем= t1 и для снаряда с параметром/временем=t2.

II.
Прямые пересекаются в т. М, значит их координаты в этой точке равны. Приравниваем друг к другу оба уравнения.
В векторной форме это выглядит так:

T + t1*Vt = G + t2*Vg, где

T - начальная точка движения мишени в пространстве или плоскости
Vt - ее скорость
t1 - время движения к точке встречи

Для пули аналогично
G, Vg, t2

Далее, для каждой координаты плоскости из векторного уравнения получаем 2 уравнения. А мы имеем как раз 2 незвестных: t1 и t2.

III.
Подставляем любое t1 или t2 в уравнение - получаем координаты точки пересечения.

IV.
Если нужен угол, из классической формулы для скалярного произведения вычисляем косинус угла между векторами:
(TM, GM) = |TM|*|GM|*COS, где словами можно сказать

Скалярное произведение 2-х векторов = произведению их длин на косинус угла между ними.

ВСЕ.

> Решаем например так:
> Множество возможных точек встречи снаряда и цели, если траектория цели неизвестна - это линия, удовлетворяющая уравнению
> |MT|/|MG| = Vt/Vg
> Где М - точка всречи.
> (что это за линия, кто знает? я что-то торможу.)
> Второе уравнение - траектория цели (прямая).
> Решаем эту систему в координатах. Если точка пересечения существует и лежит на траектории цели с той стороны, куда она летит - стреляем, если нет - экономим снаряд ;)

> Наверно есть решения и покрасивее.

> > такая задачка: есть цель (xt,yt), движется прямолинейно равномерно (vxt,vyt), есть пушка (xg,yg), ее снаряды также летят прямолинейно равномерно (vxg,vyg), как найти точку в которую должна выстрелить пушка чтобы попасть в цель (или под каким углом к тректории движения цели должна повернутся пушка для выстрела)? помогите плиз.



Простите, но нам известен только модуль Vg, а направление надо найти. Так что в вашей системе будет 3 неизвестных, либо я чего-то недопонял.
Нам задана только одна прямая.

Если решать вашим методом, то надо рассуждать так. Пусть снаряд сбиват цель через время t. Это значит, что точка
T + t*Vt лежит на окружности (G, t*|Vg|). Или если "совсем векторно", то |T+t*Vt - G| = t*|Vg|. В координатах это будет одно квадратное уравнение уравнение с одним неизвестным t.

> Конечно же есть классические решения. Ведь сказано, что все движутся равн-но и прям-но!
> Надо найти точку пересечения двух прямых, каждая из которых однозначно задана в параметрической форме.
> Я буду считать, что надо для студенческого уровня, а не для школьного.

> Внимание.
> Есть 2 недосказанности:
> 1) Я считаю, что условиями задачи предполагается, что мишень и пуля начинают двигаться ОДНОВРЕМЕННО!
> 2) Я считаю, что все координаты заданы в одной плоскости (а не в пространстве. Иначе больше выкладок потребуется на задание уравнения плоскости).

> I.
> Задаем уравнения для каждой прямой: для цели с параметром/временем= t1 и для снаряда с параметром/временем=t2.

> II.
> Прямые пересекаются в т. М, значит их координаты в этой точке равны. Приравниваем друг к другу оба уравнения.
> В векторной форме это выглядит так:

> T + t1*Vt = G + t2*Vg, где

> T - начальная точка движения мишени в пространстве или плоскости
> Vt - ее скорость
> t1 - время движения к точке встречи

> Для пули аналогично
> G, Vg, t2

> Далее, для каждой координаты плоскости из векторного уравнения получаем 2 уравнения. А мы имеем как раз 2 незвестных: t1 и t2.

> III.
> Подставляем любое t1 или t2 в уравнение - получаем координаты точки пересечения.

> IV.
> Если нужен угол, из классической формулы для скалярного произведения вычисляем косинус угла между векторами:
> (TM, GM) = |TM|*|GM|*COS, где словами можно сказать

> Скалярное произведение 2-х векторов = произведению их длин на косинус угла между ними.

> ВСЕ.


> > Решаем например так:
> > Множество возможных точек встречи снаряда и цели, если траектория цели неизвестна - это линия, удовлетворяющая уравнению
> > |MT|/|MG| = Vt/Vg
> > Где М - точка всречи.
> > (что это за линия, кто знает? я что-то торможу.)
> > Второе уравнение - траектория цели (прямая).
> > Решаем эту систему в координатах. Если точка пересечения существует и лежит на траектории цели с той стороны, куда она летит - стреляем, если нет - экономим снаряд ;)

> > Наверно есть решения и покрасивее.

> > > такая задачка: есть цель (xt,yt), движется прямолинейно равномерно (vxt,vyt), есть пушка (xg,yg), ее снаряды также летят прямолинейно равномерно (vxg,vyg), как найти точку в которую должна выстрелить пушка чтобы попасть в цель (или под каким углом к тректории движения цели должна повернутся пушка для выстрела)? помогите плиз.



А может и модуль скорости пули не задан?


> А может и модуль скорости пули не задан?

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


Физика в анимациях - Купить диск - Тесты по физике - Графики on-line

Реклама:
Rambler's Top100