如何将二维点从一个坐标系映射到另一个坐标系
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->b
和 0->d
,所以 b=-1/2, d=1/2
现在剩下的 50->50a-1/2=0
所以 a=1/100
和 50c+1/2=0
所以 c=-1/100
总体而言,使用 x->x/100-1/2
和 y->-y/100+1/2
我有一些源点在 (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->b
和 0->d
,所以 b=-1/2, d=1/2
现在剩下的 50->50a-1/2=0
所以 a=1/100
和 50c+1/2=0
所以 c=-1/100
总体而言,使用 x->x/100-1/2
和 y->-y/100+1/2