计算机图形学 – 常用的3D数学知识备忘,如三角函数、向量运算、矩阵运算、图形学常用的平移缩放旋转矩阵,视图矩阵,投影矩阵
1 三角函数
1.1 圆周率
实际上\pi有无穷个小数。
1.2 余弦与正弦
1.3 单位圆
t 是以弧度为单位的角度。
1.4 弧度与角度的转换
角度转弧度:
弧度转角度:
2 向量
2.1 向量加法
两个向量的和组成一个三角形。
同时:
b = c - a
2.2 单位向量 - 归一化向量
单位向量用于表示方向或者法向,长度为1。
其中 {\left |\vec{A} \right | } 是 \hat{A} 的长度。
2.3 向量点乘
向量点乘可用于获取两个向量之间的夹角。
向量点乘的结果为标量值。
那么两个向量的夹角等于:
\theta = \arccos (\frac{\hat{A} \cdot \hat{B} }{\left \| \hat{A} \right \| \left \| \hat{B} \right \| } )
当两个向量之间的夹角为90度时,这两个向量的点积为0;当两个向量的夹角为0度时,这两个向量的点积为1。
2.4 向量叉乘
向量叉乘生成一个垂直于向量A和向量B共有平面的新向量。
向量叉乘形式如下:
a_{1} \\
a_{2} \\
a_{3}
\end{array}\right] \times\left[\begin{array}{l}
b_{1} \\
b_{2} \\
b_{3}
\end{array}\right]=\left[\begin{array}{l}
a_{2} b_{3}-a_{3} b_{2} \\
a_{3} b_{1}-a_{1} b_{3} \\
a_{1} b_{2}-a_{2} b_{1}
\end{array}\right]
向量叉乘可用于计算平面的法向:
3 矩阵
3.1 单位矩阵
在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这种矩阵被称为单位矩阵。它是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此以外全都为0。
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array}\right]
如果 AB=I,那么矩阵 A 为 矩阵 B 的逆。
3.2 矩阵与向量相乘
a & b & c \\
d & e & f \\
g & h & i
\end{array}\right]\left[\begin{array}{l}
x \\
y \\
z
\end{array}\right]=\left[\begin{array}{c}
a x+b y+c z \\
d x+e y+f z \\
g x+h y+i z
\end{array}\right]
3.3 矩阵与矩阵相乘
a & b \\
c & d
\end{array}\right]\left[\begin{array}{ll}
e & f \\
g & h
\end{array}\right]=\left[\begin{array}{ll}
a e+b g & a f+b h \\
c e+d g & c f+d h
\end{array}\right]
3.4 矩阵行列式
假如矩阵M为:
a & b & c \\
d & e & f \\
g & h & i
\end{array}\right]
则其行列式 \left | M \right | 为:
3.5 矩阵转置
假如矩阵M为:
a & b & c \\
d & e & f \\
g & h & i
\end{array}\right]
在上述矩阵在主对角线上翻转矩阵元素得到矩阵的转置。
则其转置矩阵M^{T}为:
a & d & g \\
b & e & h \\
c & f & i
\end{array}\right]
当矩阵为正交矩阵时,矩阵的转置矩阵就为矩阵的逆。
3.6 矩阵的逆
通常使用逆矩阵翻转矩阵变换或者相对于另一个对象进行变换。
其中I为单位矩阵,M^{-1}为逆矩阵。
如果矩阵的行列式为 0,则没有逆矩阵。
4 齐次矩阵
4.1 行主序齐次矩阵
行主序齐次矩阵在Direct3D中使用,
V_{x} & V_{y} & V_{z} & 1
\end{array}\right]\left[\begin{array}{cccc}
X_{x} & X_{y} & X_{z} & 0 \\
Y_{x} & Y_{y} & Y_{z} & 0 \\
Z_{x} & Z_{y} & Z_{z} & 0 \\
T_{x} & T_{y} & T_{z} & 1
\end{array}\right]
4.2 列主序齐次矩阵
列主序齐次矩阵在OpenGL中使用,
X_{x} & Y_{x} & Z_{x} & T_{x} \\
X_{y} & Y_{y} & Z_{y} & T_{y} \\
X_{z} & Y_{z} & Z_{z} & T_{z} \\
0 & 0 & 0 & 1
\end{array}\right]\left[\begin{array}{c}
V_{x} \\
V_{y} \\
V_{z} \\
1
\end{array}\right]
4.3 平移、缩放、旋转
列主序下的平移矩阵:
1 & 0 & 0 & T_{x} \\
0 & 1 & 0 & T_{y} \\
0 & 0 & 1 & T_{z} \\
0 & 0 & 0 & 1
\end{array}\right]
列主序下的缩放矩阵:
S_{x} & 0 & 0 & 0 \\
0 & S_{y} & 0 & 0 \\
0 & 0 & S_{z} & 0 \\
0 & 0 & 0 & 1
\end{array}\right]
列主序下的旋转矩阵:
1 & 0 & 0 & 0 \\
0 & \cos (\theta) & -\sin (\theta) & 0 \\
0 & \sin (\theta) & \cos (\theta) & 0 \\
0 & 0 & 0 & 1
\end{array}\right]
\cos (\theta) & 0 & \sin (\theta) & 0 \\
0 & 1 & 0 & 0 \\
-\sin (\theta) & 0 & \cos (\theta) & 0 \\
0 & 0 & 0 & 1
\end{array}\right]
\cos (\theta) & -\sin (\theta) & 0 & 0 \\
\sin (\theta) & \cos (\theta) & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{array}\right]
4.4 视图矩阵
列主序下的视图矩阵,
R_{x} & R_{y} & R_{z} & -P_{x} \\
U_{x} & U_{y} & U_{z} & -P_{y} \\
-F_{x} & -F_{y} & -F_{z} & -P_{z} \\
0 & 0 & 0 & 1
\end{array}\right]
其中U为视点的向上向量,F为视点的向前向量,P为摄像机的世界坐标。
鸟瞰图的视图矩阵为:
1 & 0 & 0 & 0 \\
0 & 0 & -1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{array}\right]
4.5 投影矩阵
列主序下的投影矩阵,
S_{x} & 0 & 0 & 0 \\
0 & S_{y} & 0 & 0 \\
0 & 0 & S_{z} & P_{z} \\
0 & 0 & -1 & 0
\end{array}\right]
其中:
S_{x}=(2 * \text { near }) /(\text { range } * \text { aspect }+\text { range } * \text { aspect }) \\
S_{y}=\text { near/range } \\
S_{z}=-(\text { far }+\text { near }) /(\text { far }-\text { near }) \\
P_{z}=-(2 * \text { far } * \text { near }) /(\text { far }-\text { near }) \\
\text { range }=\tan (\text { fov } / 2) * \text { near }
\end{array}
4.6 常用的矩阵变换
Model Matrix:模型矩阵,即4.3节中所述的平移、缩放、旋转变换;
View Matrix:视图矩阵,即4.4节中所述的视图矩阵;
Projection Matrix:投影矩阵,即4.5节中所述的投影矩阵;
模型坐标通过模型矩阵(即平移、缩放、旋转变换)转化为世界空间坐标,再通过视图矩阵变为相机坐标,最后通过投影矩阵变为齐次坐标。
参考链接
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:计算机图形学 – 常用的3D数学知识备忘,如三角函数、向量运算、矩阵运算、图形学常用的平移缩放旋转矩阵,视图矩阵,投影矩阵
原文链接:https://www.stubbornhuang.com/1865/
发布于:2021年12月17日 16:29:54
修改于:2023年06月26日 20:56:39
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
50