3D数学基础——矩阵变换
0. 前提假设与符号定义
向量与矩阵
假设向量 k k k右向量 h h h变换得到:
- 设向量 h = [ x , y , z ] T h=[x,y,z]^{T} h=[x,y,z]T
- 设向量 k = [ u , v , w ] T k=[u,v,w]^{T} k=[u,v,w]T
- 3维矩阵 M 3 × 3 = [ m 11 m 12 m 13 m 21 m 22 m 23 m 31 m 32 m 33 ] M_{3×3}=\begin{bmatrix} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \end{bmatrix} M3×3=⎣⎡m11m21m31m12m22m32m13m23m33⎦⎤
- 4维矩阵 M 4 × 4 = [ m 11 m 12 m 13 m 14 m 21 m 22 m 23 m 24 m 31 m 32 m 33 m 34 m 41 m 42 m 43 m 44 ] M_{4×4}=\begin{bmatrix} m_{11} & m_{12} & m_{13} & m_{14}\\ m_{21} & m_{22} & m_{23} & m_{24} \\ m_{31} & m_{32} & m_{33} & m_{34} \\ m_{41} & m_{42} & m_{43} & m_{44} \end{bmatrix} M4×4=⎣⎢⎢⎡m11m21m31m41m12m22m32m42m13m23m33m43m14m24m34m44⎦⎥⎥⎤
- 单位矩阵 E E E
缩放
- 缩放矩阵 M s c a l a r M_{scalar} Mscalar
- 缩放因子 s s s
旋转
- 旋转矩阵 M r o t a t e M_{rotate} Mrotate
- 旋转角 θ \theta θ
平移
- 平移矩阵 M t r a n s M_{trans} Mtrans
- 平移向量 t t t
1. 缩放
令:
k = M 3 × 3 h = [ m 11 m 12 m 13 m 21 m 22 m 23 m 31 m 32 m 33 ] [ x y z ] = [ m 11 x + m 12 y + m 13 m 21 x + m 22 y + m 23 z m 31 x + m 32 y + m 33 z ] = [ u v w ] ( 1 ) k=M_{3×3}h=\begin{bmatrix} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \end{bmatrix}\begin{bmatrix} x \\ y \\ z \end{bmatrix}=\begin{bmatrix} m_{11}x+ m_{12}y + m_{13} \\m_{21}x + m_{22}y + m_{23}z \\ m_{31}x + m_{32}y + m_{33}z \end{bmatrix} = \begin{bmatrix} u \\ v \\ w \end{bmatrix} \qquad \qquad \qquad \qquad (1) k=M3×3h=⎣⎡m11m21m31m12m

本文详细介绍了3D空间中向量的矩阵变换,包括缩放、旋转和平移。通过矩阵运算,阐述了如何使用3×3和4×4矩阵实现向量的比例变换、围绕坐标轴的旋转以及在三维空间中的平移。还提到了齐次坐标的运用以及平移矩阵的简化形式。此外,文章提供了进一步阅读的扩展资源。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



