计算另一个平面中点的坐标
Calculate coordinates of point in another plan
我需要在另一个计划中得到一个点的 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 and the second is : https://drive.google.com/file/d/0B-zvE86DVcv2MXhVSHZnc01QWm8/view
x_1 = (x_2 + 4000) * 1080 / 10000
y_1 = (8000 - y_2) * 1080 / 12000
一般来说,最简单的映射是线性的。
要将坐标从第一个平面转换到第二个平面,您需要减去第一个原点,乘以比例系数并添加第二个原点。
x2 = (x1 - origin1.x) * xsize2 / xsize1 + origin2.x
对于反向变换使用反系数:
x1 = (x2 - origin2.x) * xsize1 / xsize2 + origin1.x
y 坐标相同。
很难说-这种方法是否适用于您的任务,因为描述仍然很混乱...
我需要在另一个计划中得到一个点的 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 and the second is : https://drive.google.com/file/d/0B-zvE86DVcv2MXhVSHZnc01QWm8/view
x_1 = (x_2 + 4000) * 1080 / 10000
y_1 = (8000 - y_2) * 1080 / 12000
一般来说,最简单的映射是线性的。
要将坐标从第一个平面转换到第二个平面,您需要减去第一个原点,乘以比例系数并添加第二个原点。
x2 = (x1 - origin1.x) * xsize2 / xsize1 + origin2.x
对于反向变换使用反系数:
x1 = (x2 - origin2.x) * xsize1 / xsize2 + origin1.x
y 坐标相同。
很难说-这种方法是否适用于您的任务,因为描述仍然很混乱...