将子位置转换为父位置坐标

Convert child location to parent location coordinates

我有一个更大的区域,里面有更小的零件。就像在这张图片中,我有一个更小的点,坐标是 2.5、2.5。我如何计算它在父坐标中的位置?有pythonic的方法吗?

@GoodDeeds "And when you mean parent coordinates, do you mean scaled up by the ratio the parent is to the child?" 是

假设坐标系固定,图像尺寸与坐标轴平行:

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 = 5W = H = 50代替坐标(x, y),得到转换后的坐标 (x', y') 由下式给出:

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

因此,在您的情况下,(2.5, 2.5) 将映射到 (25, 25)