计算机图形学笔记----矩阵

矩阵和标量的运算

,则

矩阵与矩阵相乘

的矩阵A,的矩阵B。两矩阵,结果为的矩阵,第一个矩阵的列数必须和第二个矩阵的行数相同,否则不能相乘

中的每个元素等于A的第i行所对应的矢量和B的第j列所对应的矢量进行矢量点乘的结果

注意:矩阵乘法不满足交换律

矩阵乘法满足结合律

Shader中常用矩阵

**1.方块矩阵(方阵)(square matrix):**行数和列数相等的矩阵。

2.对角矩阵: 如果一个方阵除了对角元素外的所有元素都为0,那么这个方阵为对角矩阵。

3.单位矩阵: 特殊的对角矩阵,用表示,例如的单位矩阵为

4.转置矩阵: 原矩阵,它的转置表示为,转置矩阵的运算为原矩阵的第行变成第列,第列变成第行。

,示例

转置矩阵常用性质

性质一:矩阵转置的转置等于原矩阵

性质二:矩阵串接的转置等于反向串接各个矩阵的转置

5.逆矩阵

给定一个矩阵,它的逆矩阵为,把相乘,结果为一个单位矩阵,即

矩阵有逆矩阵的前提为该矩阵为方阵且并非所有元素都为0。

逆矩阵的常用性质

性质一:逆矩阵的逆矩阵是原矩阵本身,即

性质二:单位矩阵的逆矩阵是它本身,即

性质三:转置矩阵的逆矩阵是逆矩阵的转置,即

性质四:矩阵串接相乘后的逆矩阵等于反向串接各个矩阵的逆矩阵,即

三维变换与投影

现实世界是三维的,要在二维屏幕上绘制出三维场景需要通过投影变换降低维数。

三维变换矩阵

三维变换引入齐次坐标,在四维空间内进行研究。

三维变换可表示为某一变换矩阵与物体顶点集合的齐次坐标矩阵相乘的形式,三维变换矩阵是的方阵。

例如:

的子矩阵,用于对物体进行比例、旋转、反射、错切变换。

的子矩阵,用于对物体进行平移变换。

子矩阵,用于对物体进行投影变换。

子矩阵,用于对物体进行整体比例变换。

三维变换形式

三维变换的基本方法是把矩阵作为算子,作用到变换前的物体顶点集合的齐次坐标矩阵上,得到变换后新的顶点集合的齐次坐标矩阵,连接新的物体顶点,可绘制出变换后的三维物体模型。

设变换前的物体顶点矩阵

变换后的物体顶点矩阵

则三维变换公式为,即

三维基本变换

三维基本变换是指将点从一个坐标位置变换到另一个坐标位置的过程,是相对于坐标系或坐标轴进行的几何变换。

平移变换

为平移参数

平移变换的坐标表示为

三维平移变换矩阵为

比例变换

为比例系数

比例变换的坐标表示为

三维比例变换矩阵为

旋转变换

三维旋转变换一般看作二维旋转变换的组合,可分为绕轴旋转、绕轴旋转、绕轴旋转,绕坐标轴旋转角用表示,正向定义符合右手螺旋定则,大拇指指向旋转轴正向,其余四指的转向为转角的正向。

轴旋转

为正向旋转角

轴旋转变换的坐标表示为

轴旋转三维变换矩阵为

轴旋转

为正向旋转角

轴旋转变换的坐标表示为

轴旋转三维变换矩阵为

轴旋转

为正向旋转角

轴旋转变换的坐标表示为

轴旋转三维变换矩阵为

反射变换

三维反射分为关于坐标轴的反射和关于坐标平面的反射两类。

关于轴的反射

关于轴反射变换的坐标表示为

关于轴的三维反射变换矩阵为

关于轴的反射

关于轴反射变换的坐标表示为

关于轴的三维反射变换矩阵为

关于轴的反射

关于轴反射变换的坐标表示为

关于轴的三维反射变换矩阵为

关于平面的反射

关于平面反射变换的坐标表示为

关于平面的三维反射变换矩阵为

关于平面的反射

关于平面反射变换的坐标表示为

关于平面的三维反射变换矩阵为

关于平面的反射

关于平面反射变换的坐标表示为

关于平面的三维反射变换矩阵为

相关推荐
_Itachi__12 小时前
LeetCode 热题 100 74. 搜索二维矩阵
算法·leetcode·矩阵
不忘不弃12 小时前
计算矩阵A和B的乘积
线性代数·算法·矩阵
不爱写代码的玉子12 小时前
HALCON透视矩阵
人工智能·深度学习·线性代数·算法·计算机视觉·矩阵·c#
SY师弟19 小时前
51单片机基础部分——矩阵按键检测
嵌入式硬件·矩阵·51单片机
Yxh1813778455419 小时前
抖去推--短视频矩阵系统源码开发
人工智能·python·矩阵
Psycho_MrZhang1 天前
高等数学基础(矩阵基本操作转置和逆矩阵)
线性代数·矩阵
Bruce_Liuxiaowei2 天前
文件上传漏洞深度解析:检测与绕过技术矩阵
安全·矩阵·文件上传漏洞
天宫风子2 天前
线性代数小述(一)
线性代数·算法·矩阵·抽象代数
老歌老听老掉牙2 天前
使用 SymPy 进行向量和矩阵的高级操作
python·线性代数·算法·矩阵·sympy
sz66cm2 天前
LeetCode刷题 -- 542. 01矩阵 基于 DFS 更新优化的多源最短路径实现
leetcode·矩阵·深度优先