将一个矩形的x,y坐标缩放到其他矩形坐标的过程非常简单,在此链接中有更好的解释
http://www.icoachmath.com/math_dictionary/scale_factor.html
如果我们有两个矩形,则Maxwidth:2000和Maxheight:1000
和第二个矩形,大小MaxWidth:4000和MaxHeight = 2000
因此将rect1坐标转换为rect2的比例因子为
对于rect2中的x,:(在rect1中为x)*(Rect1的MaxWidth / Rect1的MaxWidht) 对于rect2中的y :(在rect1中为y)*(Rect2的MaxHeight / Rect1的MaxHeight)
但
时应该是什么比例因子对于一个矩形中心,原点(X,Y - 0,0)将位于中心,如果从中心向左移动则x和y将为负值,然后x将为负数,在右侧对于Y来说,它会是正面的,如果你上升那么y会是正数,但如果你去底部,那么Y将是负数,所以这个矩形的范围倾向于( -MaxWidth to + MaxWidth,-MaxHeight to + MaxHeight)
现在我们有第二个矩形,其中心位于最左侧和最顶部位置 (最左边和最顶部-0,0)因为我们必须沿x轴向右行进,沿y轴向下行进,所以x和y总是有正值。
那么,如何计算将原点位于矩形中心(MaxWidth / 2,MaxHeight / 2)的矩形坐标转换为最左边和最顶部位置的矩形的比例因子
答案 0 :(得分:4)
让第一个矩形的坐标为两个(对角线对角):
(X0_Old, Y0_Old) and (X1_Old, Y1_Old)
和第二个 -
(X0_New, Y0_New) and (X1_New, Y1_New)
然后坐标转换看起来像
for every point:
X_New = X0_New + (X_Old - X0_Old) * X_Coeff
where
X_Coeff = (X1_New - X0_New) / (X1_Old - X0_Old)
(和Y坐标相同)