Найти пересечение и ETA - PullRequest
       39

Найти пересечение и ETA

1 голос
/ 16 января 2012

У меня есть 2 координатные точки A, B, и я хочу знать формулу для расчета точки пересечения, если таковая существует.

Допустим, у меня есть самолет в Лат.с 430 км / ч и еще один на широте: 36,72348. Лон: 20,76236, движущийся со скоростью 269 град. с 670 км / ч.перекресток существует Мне нужно знать приблизительное время, необходимое каждому кораблю, и расстояние до точки пересечения

Можете ли вы помочь мне с примером Java о том, как его найти?

1 Ответ

0 голосов
/ 16 января 2012

Если у вас есть векторы положения A=(xa,ya) и B=(xb,yb) и соответствующие скорости Va и Vb, вы пытаетесь решить A+s*Va=B+t*Vb. Это решение для любой системы координат, но сначала вы должны выбрать систему координат.

Давайте сначала решим это для евклидова пространства ...

Запишите это для каждого компонента x и y. Теперь у вас есть два уравнения одновременно для двух переменных, и вы можете решить как s, так и t. Они столкнутся, если s==t (или «близко»). Не упустите деление на ноль, когда Va и Vb параллельны, и числовую нестабильность.

Для сферического решения рассмотрим две точки, движущиеся по окружностям окружностей, уравнения имеют одинаковую форму, хотя A и B будут углами, а Va и Vb - угловыми скоростями. Чтобы получить круги, в любой момент можно мгновенно вычислить евклидовы Va и Vb, взятые с помощью евклидовых A и B (при условии, что Земля центрирована в 0), чтобы сказать вам, в какой плоскости вы работаете, спроецируйте в эту плоскость, чтобы получить двумерную задачу для каждой плоскости отдельно.

...