两个坐标系的关系

问题描述 投票:0回答:1

我有两个应用程序,它们使用两个略有不同的坐标系,它们如下:

坐标系 1 和 2 范围:

  • X 的范围 = 0 至 850
  • Y 的范围 = 0 至 1100

现在,当我将相同的图像放置在这两个系统上时,它们会出现在不同的位置,因为图像的“起始”点不同。系统 1 根据图像左上角的坐标放置图像,系统 2 根据图像右下角的坐标放置图像。

这是系统将图像放置在同一位置的示例:

系统 1 坐标系左上角:

  • x=0
  • y=0

系统 2 坐标系左上角:

  • x=0
  • y=47

系统 1 坐标系右上角:

  • x=699
  • y=0

系统 2 坐标系右下角:

  • x=699
  • y=47

系统 1 坐标系右下角:

  • x=699
  • y=1053

系统 2 坐标系右上角:

  • x=699
  • y=1100

我的问题是,如何创建一个比率来考虑这一点并基于这些坐标系应用相同的位置?

coordinate-systems coordinate-transformation
1个回答
0
投票

如果我正确理解问题:

  • 将图像添加到系统 1 的位置
    (x, y)
    ,将其定位为距系统原点左侧
    x
    单位,距系统原点顶部
    y
    单位。
  • 将图像添加到系统 2 的位置
    (x, y)
    ,将其定位为距系统原点右侧
    x
    单位,距系统原点底部
    y
    单位。

要将相对于右下角的定位转换为相对于左上角的定位,您需要将系统 1 中的

x
更改为系统 2 中的
850 - imageWidth
,并将系统 2 中的
y
更改为系统 2 中的
1100 - imageHeight
系统 2。然后你需要转移一些东西,因为这两个系统非常一致。

根据您为两个对齐图像提供的示例,它看起来像:

  • 如果宽度为
    w
    且高度为
    h
    的图像位于系统 1 中的
    (x, y)
    处,那么它应该位于系统 2 中的
    (699 - w - x, 1100 - h - y)
    处。
  • 如果宽度为
    w
    且高度为
    h
    的图像位于系统 2 中的
    (x, y)
    处,那么它应该位于系统 1 中的
    (w - 699 - x, h - 1100 - y)
    处。

我希望这能回答你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.