仿射变换(一)

来源:互联网 发布:电线承载功率的算法 编辑:程序博客网 时间:2024/04/29 08:52

这几天在看代码的时候,突然看到仿射变换这个词,于是找了些资料看,现在结合自己对仿射变换的一些知识写一点体会:

反射变换原理:

如图所示,设x,y为数字化仪坐标(原坐标),X,Y为理论坐标(新坐标),m1,m2为地图横向和纵向的实际比例尺,两坐标系夹角为a,数字化仪原点O'相对于理论坐标系原点平移了a0,b0.

            

上面第一个式子X=a0+(m1*cosa)*x+(m2*sina)*y与Y=b0-(m1*sina)*x+(m2*cosa)*y的理解:

首先m1:是指(个人理解)x轴方向的比例尺,m2:是指(个人理解)y轴方向的比例尺;这里角a为负角,因为从原x轴到新x轴为顺时针;

其次,(m1*cosa)*x是原x轴投影到新x轴的位移;

再次:(m2*sina)*y是原y轴投影到新y轴的位移;

第二个式子理解:

-(m1*sina)*x:为原x坐标在新Y轴上的投影(或者说原x坐标对新Y轴所做的贡献)

(m2*cosa)*y:为原y坐标在新Y轴上的投影(或者说原x坐标对新Y轴所做的贡献);

其实,上面这些投影,只要理解为高一时我们学力的时候,将力分解成两部分,这样就比较容易理解;另外,要注意这个角a的正负,如果原坐标旋转到新坐标是顺时针的话,角为负,如果原坐标旋转到新坐标是逆时针的话,角为正;这个例子中的角a是负的;

对于角a是正的情况,以上两个式子将改为:

X=a0+(m1*cosa)*x-(m2*sina)*y

Y=b0+(m1*sina)*x+(m2*cosa)*y

未完待续

 

 

原创粉丝点击