做UI少不了图形处理,转换矩阵是图形学里的基础,flash中更是常用,
Matrix 类表示一个转换矩阵,它确定如何将点从一个坐标空间映射到另一个坐标空间.
先来看一个二维矩阵的几何意义:
2 1
-1 2
代表了二维坐标中的两个向量p = [2,1],q = [-1,2],为了方便理解写成如下:
x y
2 1
-1 2
可以看出矩阵第一列表示X轴,第二列表示Y轴,那么在x轴的基向量p' =[1, 0]就是第一行,在y轴上的基向量是q' =[0, 1]就是第二行,正好是一个单位矩阵:
1 0
0 1
那么由单位矩阵变到上面的二维矩阵,可以看成是:
x轴变换成向量p,y轴变换成向量q, 也就有了缩放和旋转效果,我这没有图可能不好理解,可以想象一样或在纸上画一下向量p'变到p的过程。
在Matrix类中表示成了:
a b
c d
在加上平移列就表示成了:
a b tx
c d ty
0 0 1
看看缩放的矩阵变换表示:
Sx 0 0
0 Sy 0
0 0 1
就是x轴向量p'=[1,0] 变成 p=[Sx, 0]了, x轴变大了,y轴同理,如果是显示对象就是宽高变了,所以是缩放。
倾斜的矩阵变换:
0 skewY 0
skewX 0 0
0 0 1
旋转的矩阵变换:
cos(a) sin(a) 0
-sin(a) cos(a) 0
0 0 1
在Matrix3D中原理是一样,只是加了一个z轴,3维的单位矩阵如下:
x轴 y轴 z轴
1 0 0
0 1 0
0 0 1
其实都是些向量运算,向量加减,点积,叉积,可以在坐标系中画一画向量的变化比较直观。
分享到:
相关推荐
下面小编就为大家分享一篇基于Python Numpy的数组array和矩阵matrix详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
ansys matrix27单元详解 自定义单元
主要介绍了Numpy数组array和矩阵matrix转换方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
自己编写的matrix矩阵类 可以实现矩阵的加减法、乘法、求逆 求逆采用lup算法
本文档将用图解操作详细说明利用ArcGIS对不同时期土地利用现状地图数据进行叠加统计分析,并利用Excel计算汇总,生成漂亮的转移矩阵。
马尔科夫预测模型中的一步转移矩阵代码,包含具体程序命令及参数如何修改
自己手动写的基于C#版本的矩阵库。内置有大量矩阵操作函数,例如转置、求逆、四则运算、 初等变换、获取单位矩阵、协方差矩阵、两矩阵方差等800行类库代码。可以自己做成C# dll 在引用中自己调用函数!
矩阵论千题详解第三章电子版(最新版)
这是一本很好的矩阵计算书,是研究数值计算方向的一本很好的工具书
essential matrix 本质矩阵essential matrix 本质矩阵essential matrix 本质矩阵
矩阵头文件
矩阵论千题详解电子版(最新版)
简介 Eigen内的Matrix和Vector提供了类似C++的运算符,如+,-,*;也提供了编程的函数方法,如点乘和叉乘的dot(), ...另外,在Eigen内,用于计算时,矩阵的系数类型必须统一,并不会内部进行类型转换。 二元运算符 +
矩阵计算matrix实用.pdf
该类包括矩阵行列数变量int rows和int cols,矩阵数据数组double data[][],构造方法Matrix()、Matrix(int rows,int cols)、Matrix(int rows,int cols,double data[][]),获取某元素值的方法getData(int row,int col...
别再下载这个了,我都觉得丢人,请使用math.net #这是自己编的矩阵类,所有的输入矩阵都是二维矩阵。#
合肥工业大学级研究生矩阵理论详解PPT学习教案.pptx
Android Matrix 理论 应用详解 变换矩阵
矩阵论千题习题解答,非常好的教材题解,清晰度很高,推荐给大家