WebGL学习系列-基础矩阵变换

Posted 那个天真的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebGL学习系列-基础矩阵变换相关的知识,希望对你有一定的参考价值。

前言

在图形学中,特别是涉及到3D的时候,矩阵变换起着非常重要的作用。在实际使用的过程当中,通常每一帧画面可能都会涉及到成千上万个顶点的坐标变换,如果没有矩阵变换计算,一个是计算复杂,一个是难以达到我们想要的计算效率。本小节将介绍通过矩阵计算来实现基本的图形变换。

矩阵

矩阵是一种多个数据集合的表示方式,定义为:由 m × n 个数 aij 排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作:
矩阵定义

矩阵的存在主要是由于它的运算,下面来简单看一下:

加法

[2637]+[1324]=[39511]
可以看到,矩阵加法就是对应的位置的数值相加。

减法

[2637][1324]=[1313]
可以看到,矩阵减法就是对应的位置的数值相减。

乘法

[110321]321110=[(13+02+21)(13+32+11)(11+01+20)(11+31+10)]=[5412]

乘法规则示意图如下:

乘法规则示意图

在矩阵乘法中,注意,左边矩阵的列数必须等于右边矩阵的行数。

转置

把矩阵的行和列位置进行互换的矩阵,称为矩阵的转置。
[142536]123456
[142536]T=HTML5原生WebGL开发系列教程

HTML5原生WebGL开发系列教程

shader编程-二维空间中使用矩阵实现物体的旋转缩放平移变换(WebGL-Shader开发基础03)

shader编程-二维空间中使用矩阵实现物体的旋转缩放平移变换(WebGL-Shader开发基础03)

机器学习|数学基础Mathematics for Machine Learning系列之矩阵理论:基变换与坐标变换

机器学习|数学基础Mathematics for Machine Learning系列之矩阵理论(11):线性变换的矩阵表示