数学矩阵与行列式在计算机的应用,抓住计算机编程的灵魂,矩阵的应用以及图形转换...

原标题:抓住计算机编程的灵魂,矩阵的应用以及图形转换

f0451e03769e99355cac80739ac4e2a5.png

本文作者:乐字节-坑王老薛

二维图形的矩阵变换(一)——基本概念

基本的二维变换可包括旋转、缩放、扭曲,和平移四种,

66e309fc60bc85f6bbc9e7a7df2a8953.png

824452593e9f144c81d5b46d59f45039.png

66d26d794954f3d19a1f463b6cca2d5c.png

570464826151ea27519c15970d3b0638.png

而这些几何运算则可以转换为一些基本的矩阵运算:

cfaa79573ae43a7b9cbab0395bb491f1.png

这几个变换都是线性的,但平移运算不是线性的,不能通过2*2矩阵运算完成。若要将点 (2, 1)在 x 方向将其平移 3 个单位,在 y 方向将其平移 4 个单位。 可通过先使用矩阵乘法再使用矩阵加法来完成此操作。

b350e8855da33360c2e16770fb99223e.png

综合这几种基本运算,数学家们将其统一为一个3*3矩阵,存储形式如下:

f7f8dce4af6bffe4d667a42e4edb72e5.png

由于表示仿射变换的矩阵的第三列总是(0,0,1),在存储矩阵的时候,大多只存成一个2*3的数组。

变换的原点

二维变换的参考点是非常重要的,例如如下旋转的结果就大不相同:

90d8a6b325bbd8f2b7aeb2e43ea58caf.png

2fd7bf1ab87f87019a1e448d9c443a16.png

当然,有一种特殊的变换除外。那就是平移变换,无论原点是什么其变换的结果都是没有变化的。

复合变换

复合变换的矩阵可通过将几个单独的变换矩阵相乘而得到,这就意味着任何仿射变换的序列均可存储于单个的 Matrix 对象中。

a999c1894613e1f3c4a03c827a4669af.png

需要注意的是,复合变换是有顺序的,一般说来,先旋转、再缩放、然后平移,与先缩放、再旋转、然后平移是不同的。

逆矩阵

可以根据一定的运算求出某个矩阵的逆矩阵,这个矩阵可以用来求出新的坐标点在原坐标系的位置。但需要注意的是,并非所有矩阵都是可逆的,可逆矩阵要求是非奇异矩阵。

小结

矩阵运算其实是非常基础的数学知识,在图形学中应用得还是非常广泛的,但大学学的时候往往不知道干嘛用,现在用的时候却又忘了啥原理了。本文这里只是介绍了一些矩阵运算的基本概念,具体详细的内容可以参考下老师(卫星lezijie007,暗号1024)的参考资料。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值