现在的位置: 首页 > 综合 > 正文

由旋转矩阵求旋转中心

2013年07月17日 ⁄ 综合 ⁄ 共 385字 ⁄ 字号 评论关闭

在图像的复合变化过程中,通常会用到Matrix矩阵,一般的过程是先构造仿射变换矩阵,然后对图像进行仿射变换,如:围绕点(100100)旋转30(sin
30 = 0.5
cos 30 = 0.866),则构造过程如下:

float f[]= { 0.866F,  -0.5F, 63.4F,0.5F, 0.866F,-36.6F,0.0F,    0.0F,  1.0F };

matrix = new Matrix();

matrix.setValues(f);

 

今天在项目中遇到一个问题,就是已知仿射变换矩阵matrix,求旋转中心。网上搜了半天也没有找到答案,没办法,自己推导吧,结果如下:

设图像围绕点(a, b)进行旋转角度为r degree,得到matrix的平移变量为TT,则:

上述公式没有考虑特殊情况,如:r90 degree等,需要自己完善。

如果不是刚体变换,需要再加上尺度变化因子即可。

 

抱歉!评论已关闭.