Преобразовать координаты трилатерации в положение на картинке или SVG - PullRequest
0 голосов
/ 17 апреля 2020

Я работаю над проектом по отслеживанию устройства bt с использованием трех считывателей bt в комнате. Это уже отлично работает, у меня есть некоторые данные.

Надеюсь, я правильно сделал свою математику, поэтому могу вычислить свою позицию, используя трилатерацию. Хорошо работает на моем листе бумаги и произвольном python сценарии.

Я использовал следующие подсказки:

Трилатерация C# Как вернуться в "нормальные" координаты?

Пример трилатерации в java

и наконец https://math.stackexchange.com/questions/100448/finding-location-of-a-point-on-2d-plane-given-the-distances-to-three-other-know

Поскольку я знаю координаты моих 3-х приемников в «реальном мире» и расстояниях, я спрашиваю себя Как преобразовать эту информацию на мою 2D-картинку (или SVG).

Например, как мне преобразовать мои три расстояния 3м, 5м и 6м в изображение с разрешением 600x800 пикселей. Как мне установить положение читателей на картинке? Любые предложения или намеки в реальном мире? Что произойдет, если я увеличу или уменьшу изображение? Как найти координату моего маркера положения на моей фотографии, полученную из реальных данных?

Спасибо

1 Ответ

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

По сути, вы спрашиваете, как нарисовать карту небольшой области.

Возьмите углы изображения 600x800 и решите, где они должны приземлиться в реальном мире. В идеале они должны составлять прямоугольник одной и той же формы 3 на 4, чтобы коэффициент преобразования реального расстояния в пиксели был одинаковым на горизонтальной и вертикальной поверхностях. После этого это просто линейная интерполяция.

...