renmin  
常常被别人以为是高手

矩阵变换的公式是:

 

image

 

其中M11,M12,M21,M22和OffsetX,OffsetY的含义呢?

1. 平移变换:
   平移变换的变换矩阵为:  Tm= 1.GIF,对应的Matrix定义为 Matrix m = new Matrix(1,0,0,1,Mx,My);
  其中Mx是水平方向移动的距离,My是垂直方向的距离,向左负向右正,向下负向上正。
2. 缩放变换
  平移变换的变换矩阵为:  Ts= 3.GIF,对应的Matrix定义为 Matrix s = new Matrix(Sx,0,0,Sy,0,0);
其中Sx是水平方向上缩放的比例,Sy是竖直方向上缩放的比例,大小1是放大,小于1是缩小,不能小于0。
3. 旋转变换
  旋转变换的变换矩阵为: Tr=2.GIF,对应的Matrix定义为Matrix r = new Matrix(cos4.GIF,sin4.GIF,-sin4.GIF,cos4.GIF,0,0);
其中sin,cos均为三角函数,4.GIF为以原点旋转的角度数。

 

如果要综合运用,只要将矩阵相乘就可以了。

 

参考资料:

[转]WPF中的MatrixTransform 里面有一个Demo,可以很形象的理解这几个参数。

MatrixTransform之相关矩阵运算 可以复习一下矩阵运算的知识。

二维几何图形变换及其GDI+实现 具体编程。

posted on 2010-05-19 17:27    阅读(429)  评论(0编辑  收藏  举报