Преобразовать дочернее местоположение в родительские координаты местоположения - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть большая область, где внутри есть мелкие детали. Как и на этом рисунке, у меня точка внутри меньше, а координаты 2,5, 2,5. Как рассчитать его местоположение в родительских координатах? Есть ли способ Pythoni c?

@ GoodDeeds "И когда вы имеете в виду родительские координаты, вы имеете в виду увеличение масштаба по отношению родительского к ребенку?" Да

Location example

1 Ответ

1 голос
/ 12 февраля 2020

Предполагается, что система координат фиксирована, а размеры изображения параллельны осям:

1. Нормализуйте координаты до [0, 1]:

Это говорит вам о части изображения, покрытой координатой вдоль каждого измерения. Эта доля остается постоянной при масштабировании изображения.

При заданной координате (x, y) и изображении с размерами (w, h) нормализованные координаты задаются как (x/w, y/h). Если начало координат не в (0, 0), а в некотором (x0, y0), оно задается как ((x-x0)/w, (y-y0)/h).

2. Увеличьте координаты

. При условии нормализованной координаты (x, y) для родительского изображения с размерами (W, H) масштабированная координата будет (x*W, y*H). Если начало координат не в (0, 0), а в некотором (x0, y0), оно задается как (x*W+x0, y*H+y0).


Объединение двух шагов, поскольку начало для обоих изображений одинаково в (0, 0), и подставляя w = h = 5, W = H = 50, для координаты (x, y), преобразованная координата (x', y') определяется как:

(x', y') = (50*x / 5, 50*y / 5) = (10*x, 10*y).

Итак, в вашем регистр (2.5, 2.5) будет сопоставлен с (25, 25).

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