计算另一个计划中的点的坐标

我需要在另一个计划中得到一个点的x和y。我会解释:

- I have a plan where xmin = 0 & xmax = 720 & ymin = 0 & ymax = 894. 
- I have another plan with xmin = -3900 & xmax = 6000 & ymin = -4000 and ymax = 8000.
  • 对于第一个计划,原点(0; 0)位于左上角。
  • 在第二个计划中,原点在计划的中间(第一个计划中的坐标约为433; 734)。左上角是-3900; 8000。

我需要做的是获取在第二个计划中第一个计划中设置的点的坐标。例如,如果我在第一个计划中搜索第二个计划的坐标0; 0,则需要获得433; 734,而如果我在第一个计划中搜索-3900; 8000,则需要获得0; 0。

我需要使用JavaScript进行此操作,希望您能对我有所了解。

谢谢。

编辑:谢谢@MBo与我一起工作并找到此解决方案。第一个地图是:http://rolux.org/svg/radar.svg,第二个地图是:https://drive.google.com/file/d/0B-zvE86DVcv2MXhVSHZnc01QWm8/view

x_1 = (x_2 + 4000) * 1080 / 10000
y_1 = (8000 - y_2) * 1080 / 12000
sayabcd1 回答:计算另一个计划中的点的坐标

通常,最简单的映射是线性的。

要将坐标从第一个计划转换为第二个计划,您需要减去第一个原点,再乘以比例系数,然后添加第二个原点。

x2 = (x1 - origin1.x) * xsize2 / xsize1 + origin2.x

对于逆变换,请使用反系数:

x1 = (x2 - origin2.x) * xsize1 / xsize2 + origin1.x

y坐标也一样。

很难说-这种方法是否适用于您的任务,因为描述仍然很纠结...

本文链接:https://www.f2er.com/2985874.html

大家都在问