如何将二维点从一个坐标系映射到另一个坐标系

How to map 2d point from one coordinate system to another

我有一些源点在 (0,100) 之间,假设坐标系的左上角是 (0,0),右下角是 (100,100)。 而目标坐标系是在(-1/2,1/2)之间的space。 有些点是这样的:

 x=0,y=0  --->  x'=-1/2,y'=1/2
 x=50,y=50  --->  x'=0,y'=0
 x=100,y=100  --->  x'=1/2,y'=-1/2

现在我如何映射从第一个坐标到第二个坐标的任意点? 任何帮助真的很感激。

我假设您正在寻找线性变换。

所以x->ax+b, y->cy+d

一般来说,从 (0,0) 开始,这样比较容易 0->b0->d,所以 b=-1/2, d=1/2

现在剩下的 50->50a-1/2=0 所以 a=1/10050c+1/2=0 所以 c=-1/100

总体而言,使用 x->x/100-1/2y->-y/100+1/2