计算将一个矩形的点 1(x,y 坐标)转换为另一矩形的点 1(x,y)的比例因子

2023-12-02

将一个矩形的 x,y 坐标缩放到其他矩形坐标的过程非常简单,此链接有更好的解释

http://www.icoachmath.com/math_dictionary/scale_factor.html

如果我们有两个矩形,其中一个的 Maxwidth: 2000 和 Maxheight: 1000

第二个矩形的大小 MaxWidth : 4000 且 MaxHeight = 2000

因此将 rect1 坐标转换为 rect2 的比例因子是

对于矩形2中的x:(矩形1中的x)*(矩形2的最大宽度/矩形1的最大宽度) 对于矩形 2 中的 y :(矩形 1 中的 y)*(矩形 2 的最大高度/矩形 1 的最大高度)

但比例因子应该是多少

对于一个矩形中心来说,原点(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) 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 坐标也相同)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算将一个矩形的点 1(x,y 坐标)转换为另一矩形的点 1(x,y)的比例因子 的相关文章

  • 如何将一个 xaml 页面导航到另一页面?

    我有 2 个页面 我需要将 mainpage xaml 导航到 login page xaml 但它让我崩溃你调用的对象是空的 在 Root Children Clear 我在 App xaml 中添加了以下代码 private void
  • 无法播种用户和角色

    我正在尝试将用户和角色植入我的数据库中 目前在 C MVC4 中使用具有自动迁移功能的 Code First 实体框架 每当我打电话 更新数据库 强制 我收到以下错误 运行种子方法 System InvalidOperationExcept
  • 如何确定多边形点列表是否按顺时针顺序排列?

    有了一个点列表 如何找到它们是否按顺时针顺序排列 例如 point 0 5 0 point 1 6 4 point 2 4 5 point 3 1 5 point 4 1 0 会说它是逆时针的 或者对某些人来说是逆时针的 对于非凸多边形 例
  • C# 中的可选数组参数[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中传递一个空数组作为可选参数的默认值 https stackoverflow com questions 3480382 passing an empty array as default v
  • ASP.NET MVC 4 cookie 消失

    我有一个 ASP NET 应用程序 它将身份验证 cookie 发送到 ASP NET MVC 应用程序 用作后台应用程序 我添加了一个全局过滤器 用于检查身份验证 cookie 的每个控制器操作 如果cookie存在 则允许用户进入该页面
  • 依靠 IEnumerable

    我正在使用 Rob Conery 的 Massive ORM 有没有一种优雅的方法来对返回的记录集进行计数 dynamic viewModelExpando result ViewData Model var queryFromMassiv
  • 如何检查 C# 中动态匿名类型上是否存在属性?

    我有一个匿名类型对象 我从方法中以动态方式接收该对象 我想检查该对象上是否存在属性 var settings new Filename temp txt Size 10 function void Settings dynamic sett
  • 数据编织转换

    我有 POST 方法的以下有效负载的输入 order Column X X Column Y Y Column Z Z Column W div 1 some text div 2 true div 3 2 mapper A
  • 基于我的 C# 类生成 xml 文件

    我有 xml 文件 每次都需要根据新客户的要求进行更新 大多数时候 xml 不正确是因为手动更新了 xml 文件 我正在考虑编写一个提供适当验证的程序 网络 Windows 并根据 ui 的输入 我将创建 xml 文件 下面是我的示例 xm
  • 在iOS开发中,使用Core Graphics和/或Quartz 2D,如何绘制一个充满渐变的圆,使其看起来像一个球体?

    到目前为止 我已经研究过使用 CGContextDrawLinearGradient 和 CGContextDrawRadialGradient 但是 对于前者 我无法弄清楚如何使渐变看起来像球体 对于后者 我无法弄清楚如何使渐变成球体形状
  • 投影 3D 网格的 2D 轮廓算法

    给定 一个 3D 网格 由一组顶点和三角形定义 并用这些点构建网格 问题 找到任意平面上投影的任意旋转网格的二维轮廓 投影很容易 挑战在于找到平面中投影三角形边的 外壳 我需要一些有关研究该算法的输入 指针的帮助 为简单起见 我们可以假设
  • 如何在iphone中画同心圆?

    我想画一个戒指 环应填充在外圆中 我参考了一个文档http developer apple com library mac documentation GraphicsImaging Conceptual drawingwithquartz
  • Postgis安装:类型“几何”不存在

    我正在尝试使用 Postgis 创建表 我按这个做page http postgis refractions net documentation manual 1 5 ch02 html id2619431 但是当我导入 postgis s
  • 类型“MyApp”已包含“MystatusBar”的定义

    我的应用程序 XAML
  • iOS 绘制圆圈

    我正在尝试在我的 iOS 应用程序中创建下面的圆圈 我知道如何制作圆圈 但不完全确定如何沿着弧线获取点 它必须是代码而不是图像 下面也是我目前拥有的代码 void drawRect CGRect rect CGPoint point poi
  • 确定解决迷宫问题的最小线段数

    我有一个问题 我需要定义一个具有最少数量的顶点的多边形 该多边形与不透明的图像中的每个像素相交或包含每个像素 令 N 为图像中的像素数 我唯一的假设是图像的边界 孔 内不能包含透明像素 并且至少有两个像素是不透明的 举个例子 假设我有以下图
  • 如何从一组重叠的圆计算多边形集?

    这个问题是一些计算细节的扩展这个问题 https stackoverflow com questions 1667310 combined area of overlapping circles 假设有一组 可能重叠的 圆 并且希望计算这组
  • 黑色左/右三角形大小不同

    我使用黑色左指三角形 右左指三角形几何形状作为网站上的链接 并使用它们的 HTML 代码 和 9664 9654 由于某种原因 即使我在没有其他元素的空白页面上使用三角形 它们也不会以相同的大小显示 在 Chrome 上 向左指向的位置比向
  • Python 中使用 geoJSON 绘制多边形中的点

    我有一个包含大量多边形 特别是人口普查区 的 geoJSON 数据库 并且有很多长的纬度点 我希望存在一个有效的 Python 代码来识别给定坐标位于哪个人口普查区 但是到目前为止我的谷歌搜索还没有透露任何信息 Thanks 我发现了一个有
  • WCF 服务中的“即发即忘”

    我在 Azure 上有很多 WCF REST 服务 在某些 WCF 服务中 我向外部服务调用 Http 请求 例如发送电子邮件 短信 对非关键第三方服务的 http 请求 我不希望这阻碍我对客户电话的响应 需要一些关于在这种情况下使用的模式

随机推荐