机器视觉入门之路(十三,图像旋转原理,c++)
如图,我们的电脑屏幕坐标系:
已知(x0,y0),以原点O(0,0)旋转,长度r不变,求旋转后的点(x,y)
x0=r*cos(a);
y0=r*sin(a);
x=r*cos(a-)=r*cos(a)*cos(
)+r*sin(
)*sin(a)=x0*cos(
)+y0*sin(
);
y=r*sin(a-)=r*sina(a)*cos(
)-r*cos(a)*sin(
)=-x0*sin(
)+y0*cos(
);
用行列式表达:=
扩展行列式表达 :=
高中知识,回顾一下,搞定。
我们看到一个细节,旋转只和相关,(x0,y0)就到了(x,y),那么下面直线MG,围绕原点O旋转
,会去哪里?
因为只和相关,所以,假定M是(x0,y0),M‘是(x,y);那么G已经知道,G’如何求呢?
即G’=*G,ok,MG直线旋转
,搞定。