gpt4 book ai didi

c#-4.0 - 计算将一个矩形的 point1( x,y 坐标) 转换为另一个矩形的 Point1( x,y) 的比例因子

转载 作者:行者123 更新时间:2023-12-04 00:39:36 25 4
gpt4 key购买 nike

将一个矩形的 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)for y in rect2 : (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)的矩形的坐标转换为原点在最左和最顶部位置的矩形的比例因子

最佳答案

让我们第一个矩形有两个(对角线相对)角的坐标:

(X0_Old, Y0_Old) 和 (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 坐标也一样)

关于c#-4.0 - 计算将一个矩形的 point1( x,y 坐标) 转换为另一个矩形的 Point1( x,y) 的比例因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20536770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com