用户4412631
3D 数学(1)-矩阵
原创
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
用户4412631
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
社区首页
>
专栏
>
3D 数学(1)-矩阵
3D 数学(1)-矩阵
原创
用户4412631
关注
修改于 2025-02-13 16:21:57
修改于 2025-02-13 16:21:57
58
0
举报
文章被收录于专栏:
游戏开发
游戏开发
矩阵是什么?
矩阵是一种描述
线性变换
的工具
线性变换
定义:是一个从向量空间(V)到自身或另一个向量空间(W)的映射(T)
解释:Va 空间中的点(xa, ya)转换到 Vb 空间中, 结果是(xb, yb),过程就叫
线性变换
所用的转换工具——矩阵是
\begin{bmatrix}A&M&0\\B&N&0\\C&D&1\end{bmatrix}
转换过程是:
\begin{bmatrix}xa&ya&1\end{bmatrix}\times\begin{bmatrix}A&M&0\\B&N&0\\C&D&1\end{bmatrix}\\=\begin{bmatrix}Axa+Bya+C&Mxa+Nya+D&1\end{bmatrix}\\=\begin{bmatrix}xb&yb&1\end{bmatrix}
为什么是矩阵
统一表示多种变换
多种变换整合:通过矩阵运算规则,可将多个变换矩阵组合成一个
复合矩阵
,一次性完成多种变换(如:平移+缩放)
便于操作与管理:使用矩阵表示变换,使不同类型变换在形式上统一,便于在程序中进行管理和操作
易于实现复合变换
矩阵乘法特性:如要对图形依次进行旋转 R、缩放S 和平移 T,可先将这些变换表示为矩阵 R、S、T,通过计算复合矩阵
M = T \times S \times R
(注意顺序),然后用矩阵 M 作用于图形的顶点坐标,就能一步完成所有变换
与线性代数理论紧密结合
理论支持:计算机图形学基于线性代数理论,矩阵是线性代数的核心工具
高效算法实现:线性代数为矩阵运算提供了丰富且成熟的算法,如矩阵求逆、行列式计算等
硬件加速支持
图形硬件优化:现代GPU对矩阵运算有专门优化
提高渲染效率:将空间变换用矩阵表示,利用 GPU 硬件加速,可在短时间内处理大量图形数据,实现复杂场景的实时渲染
向量与矩阵,矩阵与矩阵的乘法
不满足交换率
M_S = \begin{bmatrix}3&0&0\\0&3&0\\0&0&1\end{bmatrix} M_T = \begin{bmatrix}1&0&0\\0&1&0\\2&2&1\end{bmatrix}
M_{ST} = \begin{bmatrix}3&0&0\\0&3&0\\2&2&1\end{bmatrix} M_{TS} = \begin{bmatrix}3&0&0\\0&3&0\\6&6&1\end{bmatrix}
\therefore M_{ST} \neq M_{TS}
平移、缩放、旋转(三维空间)
平移矩阵
T = \begin{bmatrix}1&0&0&t_x\\0&1&0&t_y\\0&0&1&t_z\\0&0&0&1\end{bmatrix}
变换计算过程为:
\begin{bmatrix}1&0&0&t_x\\0&1&0&t_y\\0&0&1&t_z\\0&0&0&1\end{bmatrix} \begin{bmatrix}x\\y\\z\\1\end{bmatrix} = \begin{bmatrix}x+t_x\\y+t_y\\z+t_z\\1\end{bmatrix}
缩放矩阵
S = \begin{bmatrix}s_x&0&0&0\\0&s_y&0&0\\0&0&s_z&0\\0&0&0&1\end{bmatrix}
变换计算过程为:
S = \begin{bmatrix}s_x&0&0&0\\0&s_y&0&0\\0&0&s_z&0\\0&0&0&1\end{bmatrix} \begin{bmatrix}x\\y\\z\\1\end{bmatrix} = \begin{bmatrix}s_xx\\s_yy\\s_zz\\1\end{bmatrix}
旋转(欧拉角)矩阵
单位矩阵、逆矩阵
单位矩阵:是一个方阵,即行数和列数相等。对于
n
阶单位矩阵,记为
I_n
,其主对角线(从左上角到右下角的对角线)上的元素都为1,其余元素均为0。如:
性质:
乘法特性:单位矩阵在矩阵乘法中类似于实数乘法中的数字。
可逆性:单位矩阵是可逆矩阵,且其逆矩阵就是它本身
逆矩阵:若存在矩阵
B
,使得
AB=BA=I
,则
A
可逆,
B
为
A
的逆矩阵
作用: 撤销变换: 假设原始向量
v
,变换矩阵为
A
,经过变换后得到向量
v'
,关系为
v' = Av
若要从
v'
恢复到原始向量
v
,在等式两边同时
左乘
A
的逆矩阵
A^{-1}
即可:
A^{-1}v' = A^{-1}(Av) = (A^{-1}A)v = Iv = v
即:
A^{-1}v' = v
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
计算机图形学
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
计算机图形学
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
目录
矩阵是什么?
向量与矩阵,矩阵与矩阵的乘法
平移、缩放、旋转(三维空间)
单位矩阵、逆矩阵
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐