【发布时间】:2013-12-12 06:47:16
【问题描述】:
将一个矩形的 x,y 坐标缩放到其他矩形坐标的过程非常简单,在此链接中有更好的解释
http://www.icoachmath.com/math_dictionary/scale_factor.html
如果我们有两个矩形,其中一个的 Maxwidth: 2000 和 Maxheight: 1000
第二个矩形的大小为 MaxWidth : 4000 和 MaxHeight = 2000
所以将 rect1 坐标转换为 rect2 的比例因子将是
for x in rect2 : (x in rect1) * (MaxWidth of Rect2/ MaxWidht of Rect1) 对于 rect2 中的 y : (y in rect1) * (MaxHeight of Rect2/ MaxHeight of Rect1)
但是什么时候应该是比例因子
对于一个矩形中心来说,origin(X,Y - 0,0) 会在中心,如果你从中心向左走,x 和 y 也会有负值,那么 x 会是负数,右一边它对Y来说是正的,如果你往上走,那么y是正的,但是如果你走到底部,那么Y是负的,所以这个矩形的范围倾向于( -MaxWidth 到 +MaxWidth,-MaxHeight 到 +MaxHeight)
现在我们有了第二个矩形,它的中心在最左边和最上面的位置 (最左侧和最顶部-0,0)并且由于我们必须沿 x 轴向右移动并沿 y 轴向下移动,因此 x 和 y 始终为正值。
那么,如何计算比例因子以将原点位于矩形中心的矩形坐标(MaxWidth/2,MaxHeight/2)转换为原点位于最左侧和最顶部的矩形
【问题讨论】:
标签: c#-4.0 geometry transformation scaling scaletransform