如何将2d点从一个坐标系映射到另一个坐标系

时间:2017-03-08 21:33:08

标签: opengl 2d coordinates points

我有一些源点在(0,100)之间,想象一个坐标系左上角是(0,0),右下角是(100,100)。 目标坐标系是(-1 / 2,1 / 2)之间的空间。 有些观点是这样的:

 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

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

1 个答案:

答案 0 :(得分:0)

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

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

通常,从(0,0)开始,因为这更容易 0->b0->db=-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