Отобразить точку в треугольнике в другой треугольник в другой системе координат - PullRequest
0 голосов
/ 08 апреля 2020

enter image description here

У меня есть два треугольника в двух разных системах координат, где xa1, ya1 принадлежит xb1, yb1 et c. Таким образом, треугольник справа соответствует треугольнику слева в другой системе. Форма и положение абсолютно произвольны, поэтому я знаю только то, что точка (xa1,ya1) соответствует точке (xb1,yb1), (xa2,ya2) соответствует (xb2,yb2) et c.

Первый треугольник в географической системе координат c, где я знаю широту и долготу. Второй треугольник находится в системе координат 0 - 100.

Как мне найти точку x во втором треугольнике?

  1. Я нашел этот подобный вопрос, но он не включает в себя различные системы координат. Можно ли это сделать с помощью «аффинных преобразований»? Кроме того, я хотел бы реализовать это в javascript, и мои математические знания немного ограничены, поэтому вам может потребоваться объяснить это на примере (псевдо) кода.
  2. Это область 10 км х 10 км Я надеюсь, что географические вещи могут быть упрощены
  3. Если это не может быть точно определено, достаточно узнать x как можно ближе.

1 Ответ

0 голосов
/ 08 апреля 2020

Этот ответ содержит формулы для вычисления аффинного преобразования.

Подходит ли оно для вашего случая? Зависит от реальной разницы в «разных системах координат».

Возможно, вы также можете попробовать barycentri c координаты - найти эти координаты для точки в первой системе, а затем вычислить декартовы координаты, используя вершины во второй системе. Результат должен быть одинаковым, потому что барицентрические c координаты являются аффинно-инвариантными.

Первый метод лучше, когда вам нужно преобразовать много точек. Единственный пункт, который вы можете попробовать второй подход (не уверен, что он быстрее).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...