@blinder

Как найти вектор сигнала в плоскости?

Имеются 3 точки A,B,C которые между собой образуют правильный треугольник со стороной в 8 см.
Вне этого треугольника находится еще одна точка (D) которая испускает сигнал. Сигнал распространяется во все стороны, равноудаленно от своего источника (точки D) и движется со скоростью 10 см в секунду. В определеную единицу времени T(a) = 17:28:10:328 сигнал доходит до точки А и та фиксирует время прибытия, еще через какое-то время сигнал доходит до точки B, которая также сохраняет время обнаружения в переменную T(b) = 17:28:12:628 и наконец сигнал доходит до точки С, время - T(c) = 17:28:17:428. Вопрос: можно ли на основании этих данных определить вектор сигнала относительно медианы треугольника? Если нет, можно ли это сделать с какой-то угловой погрешностью? Сектор 30 градусов, 45, 60 и т.д (понятно чем меньше тем лучше).

17:28:12:628 - часы:минуты:секунды:милисекунды.
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Похожую задачу решает GPS (если забить на всякие физические эффекты).

У вас будет 3 переменные - координаты источника сигнала (x, y) и время отправки сигнала (t).
Вам даны координаты трех точек (x_i, y_i, i=0..2), три времени получения сигнала (t_1, t_2, t_3) и скорость сигнала (v).

Время переведите в секунды относительно минимального из трех времен (вам ведь только относительные задержки нужны), чтобы числа не были слишком большими. Т.е. минимальное из трех времен будет 0, а два остальных - разницей с этим временем.

Уравнения, что сигнал проходит заданное расстояние за заданное время с известной скоростью:

(x_i-x)^2+(y_i-y)^2 = ((t-t_i)*v)^2

Можно время считать не в секундах, а в 1/v, тогда уравнения чуть упрощаются (коэффициент перед t^2 везде 1, а не v^2).

Можно решать аналитически. Вычтите первое уравнение из двух остальных. У вас получится 2 линейных уравнения с тремя неизвестными x, y, t. Считайте, что t - это константа и решите уравнения относительно x и y (Через определители, или метод Краммера). У вас будет какая-то линейная зависимость x и у от t (большие формулы, да). Можно упростить вычисления, если cначала записать уравнения в виде A1x+B1y=C1+D1t.

Потом подставьте эти зависимости в первое уравнение и у вас будет квадратичное уравнение на t.

Решите его. Подставьте t в известные уравнения для x и y - и вот ваш центр (заодно вы знаете, когда был отравлен сигнал).

Из двух значений t, одно будет в будущем (положительное), его надо будет отбросить.
Ответ написан
hint000
@hint000
у админа три руки
можно ли это сделать с какой-то угловой погрешностью? Сектор 30 градусов, 45, 60 и т.д

Для сектора 60 градусов (из центра треугольника) даже не нужно засекать время, достаточно последовательности получения сигнала. Шесть секторов по 60 градусов, шесть последовательностей: (A,B,C), (A,C,B), (C,A,B), (C,B,A), (B,C,A), (B,A,C).
Для точного вычисления нужно составить систему уранений и решить. На первый взгляд решаемо (нужно потратить время).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы