소스 검색

测试Latex的写法

usuiforhe 3 년 전
부모
커밋
20c3114d20
1개의 변경된 파일71개의 추가작업 그리고 40개의 파일을 삭제
  1. 71 40
      图形学/图形学.md

+ 71 - 40
图形学/图形学.md

@@ -50,8 +50,8 @@ $$
 
 点乘的运算
 
-- 2D: $\vec{a} \cdot \vec{b} = (^{x_a} _{y_a}) \cdot (^{x_b} _{y_b}) = x_a*x_b + y_a*y_b$
-- 3D: $\vec{a} \cdot \vec{b} = \begin{pmatrix}x_a \\ y_a \\ z_a\end{pmatrix} \cdot \begin{pmatrix} x_b \\ y_b \\ y_c \end{pmatrix} = x_a * x_b + y_a * y_b + z_a * z_b$
+- 2D: $\vec{a} \cdot \vec{b} = (^{x_a} _{y_a}) \cdot (^{x_b} _{y_b}) = x_a*x_b + y_a*y_b$ 
+- 3D: $\vec{a} \cdot \vec{b} = \begin{pmatrix}x_a \\ y_a \\ z_a\end{pmatrix} \cdot \begin{pmatrix} x_b \\ y_b \\ y_c \end{pmatrix} = x_a * x_b + y_a * y_b + z_a * z_b$ 
 
 ![](./Image/001.png)
 
@@ -81,7 +81,7 @@ $$
 \lVert \vec{a} \times \vec{b} \rVert = \lVert \vec{a} \rVert * \lVert \vec{b} \rVert * \sin{\Theta}
 $$
 
-叉乘的运算需要用到右手螺旋法则,$\vec{a} \times \vec{b}$就是四指从$\vec{a}$到$\vec{b}$,那么大拇指的指向就是$\vec{c}$所在的方向
+叉乘的运算需要用到右手螺旋法则, $\vec{a} \times \vec{b}$ 就是四指从 $\vec{a}$到$\vec{b}$ ,那么大拇指的指向就是 $\vec{c}$ 所在的方向
 
 叉乘的一些数学运算规律  
 
@@ -90,15 +90,42 @@ $$
 - 叉乘有结合律
 
 $$
-\vec{x} \times \vec{y} = + \vec{z}\\
-\vec{y} \times \vec{x} = - \vec{z}\\
-\vec{y} \times \vec{z} = + \vec{x}\\
-\vec{z} \times \vec{y} = - \vec{x}\\
-\vec{z} \times \vec{x} = + \vec{y}\\
-\vec{z} \times \vec{x} = - \vec{y}\\
-\vec{a} \times \vec{b} = -\vec{b} \times \vec{a}\\
-\vec{a} \times \vec{a} = \vec{0}\\
-\vec{a} \times (\vec{b} + \vec{c}) = \vec{a} \times \vec{b} + \vec{a} \times \vec{c}\\
+\vec{x} \times \vec{y} = + \vec{z}
+$$
+
+$$
+\vec{y} \times \vec{x} = - \vec{z}
+$$
+
+$$
+\vec{y} \times \vec{z} = + \vec{x}
+$$
+
+$$
+\vec{z} \times \vec{y} = - \vec{x}
+$$
+
+$$
+\vec{z} \times \vec{x} = + \vec{y}
+$$
+
+$$
+\vec{z} \times \vec{x} = - \vec{y}
+$$
+
+$$
+\vec{a} \times \vec{b} = -\vec{b} \times \vec{a}
+$$
+
+$$
+\vec{a} \times \vec{a} = \vec{0}
+$$
+
+$$
+\vec{a} \times (\vec{b} + \vec{c}) = \vec{a} \times \vec{b} + \vec{a} \times \vec{c}
+$$
+
+$$
 \vec{a} \times (k * \vec{b}) = k * (\vec{a} \times \vec{b})\\
 $$
 
@@ -142,7 +169,7 @@ $$
 
 **A矩阵的列数必须等于B矩阵的行数**
 
-$\left( M \times N \right) * \left( N \times P \right) = \left( M \times N \right)$公式中$\left( M \times N \right)$表示M行、N列的矩阵
+$\left( M \times N \right) * \left( N \times P \right) = \left( M \times N \right)$ 公式中 $\left( M \times N \right)$ 表示M行、N列的矩阵
 
 $$
 \begin{pmatrix}
@@ -163,12 +190,13 @@ $$
 
 - 矩阵的数学规律
   - 矩阵**没有交换律**
-  - 矩阵有结合律$(AB)C = A(BC)$
-  - 矩阵具有分配律$A(B+C) = AB + AC$
+  - 矩阵有结合律 $(AB)C = A(BC)$ 
+  - 矩阵具有分配律 $A(B+C) = AB + AC$ 
 
 当矩阵与向量相乘时,一般将矩阵放在左边,向量放在右边,向量可以看作是(M, 1)的矩阵,那么左边的矩阵只要是M列就行  
 
 将单位向量按y轴对称的操作:
+
 $$
 \begin{bmatrix}
     -1 & 0 \\
@@ -211,7 +239,7 @@ I_{3\times3} =
 \end{bmatrix}
 $$
 
-矩阵的逆:矩阵A乘矩阵B得到单位矩阵,则成B是A的逆,写作$A^{-1}$
+矩阵的逆:矩阵A乘矩阵B得到单位矩阵,则成B是A的逆,写作 $A^{-1}$ 
 
 $AA^{-1} = I$、$(AB)^{-1} = B^{-1} * A^{-1}$
 
@@ -314,8 +342,8 @@ $$
 ![旋转](./Image/007.png)
 
 公式推导  
-- 右下角点坐标(1, 0)=>($\cos\Theta, \sin\Theta$)
-- 左上角点坐标(0, 1)=>($-\sin\Theta, \cos\Theta$)
+- 右下角点坐标(1, 0)=>( $\cos\Theta, \sin\Theta$ )
+- 左上角点坐标(0, 1)=>( $-\sin\Theta, \cos\Theta$ )
 
 $$
 \left(x', y'\right)
@@ -379,10 +407,10 @@ $$
 
 通过齐次坐标矩阵就可以使用一个矩阵来表示线性变换,**为了保证变换矩阵的一致性**,所以上面讲的**所有矩阵都需要转换成齐次矩阵**
 
-在其次坐标中,点使用$\begin{pmatrix}
+在其次坐标中,点使用 $\begin{pmatrix}
     x \\ y \\ 1
 \end{pmatrix}$
-来表示,向量使用$\begin{pmatrix}
+来表示,向量使用 $\begin{pmatrix}
     x \\ y \\ 0
 \end{pmatrix}$
 来表示
@@ -489,7 +517,7 @@ T_{(1, 0)} \cdot R_{45} \cdot \begin{bmatrix}
 \end{bmatrix}
 $$
 
-前面提过向量一般放在矩阵乘法的最右边,并且根据矩阵具有结合律,上述式子可以理解为先计算$R_{45}$与$\begin{bmatrix}x\\y\\1\end{bmatrix}$,再计算与$T_{(1, 0)}$的乘法
+前面提过向量一般放在矩阵乘法的最右边,并且根据矩阵具有结合律,上述式子可以理解为先计算 $R_{45}$  $\begin{bmatrix}x\\y\\1\end{bmatrix}$ ,再计算与 $T_{(1, 0)}$ 的乘法
 
 但是,根据矩阵的结合律,我们可以先把前面的矩阵的计算结果得出最终变换矩阵,最后与向量相乘
 
@@ -512,12 +540,15 @@ $$
 
 三维与二维无非就是多了一个维度,其他的变换相似,原理相同
 
-point : $\begin{pmatrix}
+point: 
+$\begin{pmatrix}
     x & y & z & 1
 \end{pmatrix}^T$  
-vector : $\begin{pmatrix}
+
+vector: 
+$\begin{pmatrix}
     x & y & z & 0
-\end{pmatrix}^T$
+\end{pmatrix}^T$ 
 
 $$
 \begin{pmatrix}
@@ -592,7 +623,7 @@ $$
 
 > 旋转时,绕哪个轴旋转,那个轴对应的坐标不变,所以x轴旋转的第一行第一列、y轴旋转的第二行第二列、z轴旋转的第三行第三列
 
-如何证明 $R_{xyz}(\alpha, \beta, \sigma) = R_x(\alpha)R_y(\beta)R_z(\sigma)$成立,这个时候需要引入**罗德里格斯公式**
+如何证明 $R_{xyz}(\alpha, \beta, \sigma) = R_x(\alpha)R_y(\beta)R_z(\sigma)$ 成立,这个时候需要引入**罗德里格斯公式**
 
 
 ### 视图变换 Camera/View
@@ -621,7 +652,7 @@ $$
   2. 相机的朝向旋转到-Z轴方向
   3. 相机的向上向量旋转到Y轴方向
 
-设定相机的朝向向量为g,相机向上的向量为t,可推得相机另一个轴的向量为$g \times t$
+设定相机的朝向向量为g,相机向上的向量为t,可推得相机另一个轴的向量为 $g \times t$
 
 $$
 T_{view} =
@@ -706,7 +737,7 @@ $$
 
 > 因为相机朝向是-Z轴,所以f值一般小于r值
 
-在定义完一个矩形之后,需要将其通过一系列变换转换成图片中最右边的标准立方体(canonical cub$[-1 ,1]^3$)
+在定义完一个矩形之后,需要将其通过一系列变换转换成图片中最右边的标准立方体(canonical cub $[-1 ,1]^3$ )
 
 - 一系列变换指的是
   - 矩形移动到原点
@@ -739,7 +770,7 @@ $$
 
 ![](./Image/017.png)
 
-前置知识:点(x, y, z, 1)乘以k,得到(kx, ky, kz, k != 0)表示其实也是点(x, y, z, 1),将k换成z,可以得到(xz, yz,$z^2$,z != 0),也表示(x, y, z, 1)这个点  
+前置知识:点(x, y, z, 1)乘以k,得到(kx, ky, kz, k != 0)表示其实也是点(x, y, z, 1),将k换成z,可以得到(xz, yz, $z^2$ ,z != 0),也表示(x, y, z, 1)这个点  
 
 > (1, 0, 0, 1)与(2, 0, 0, 2)表示同一个点
 
@@ -982,7 +1013,7 @@ $$
 
 ![](./Image/025.png)
 
-这里给出不同的五种函数从$f_1(x) \Rightarrow f_5(x)$,从上到下频率逐渐增加,我们发现按照虚线对函数进行采样,采样得到的点(途中黑色的点)连起来逐渐不能恢复曲线原来的磨样(黑点之间的链接虚线与原曲线的差距越来越大)
+这里给出不同的五种函数从 $f_1(x) \Rightarrow f_5(x)$ ,从上到下频率逐渐增加,我们发现按照虚线对函数进行采样,采样得到的点(途中黑色的点)连起来逐渐不能恢复曲线原来的磨样(黑点之间的链接虚线与原曲线的差距越来越大)
 
 通过上图我们可以发现,当采样的频率跟不上曲线变换的频率的时候,就无法还原出原始信号
 
@@ -1149,7 +1180,7 @@ MSAA解决的对信号的模糊操作,只不过MSAA最后的出来的值也可
 
 先画远处的面,再画近处的面,一层一层的覆盖
 
-需要先对所有的三角形面片进行排序,时间复杂度$O(n\log _2n)$
+需要先对所有的三角形面片进行排序,时间复杂度 $O(n\log _2n)$ 
 
 ![](./Image/039.png)
 
@@ -1169,7 +1200,7 @@ MSAA解决的对信号的模糊操作,只不过MSAA最后的出来的值也可
 
 图中每个格子表示一个像素,先来了个一个三角形深度都是5,R表示无限大,则5比无限大小,可以覆盖;然后来了个新的三角形,根据深度信息进行覆盖操作
 
-一般而言,n个三角形,每个三角形覆盖常数个像素,那么最终时间复杂度只是$O(n)$
+一般而言,n个三角形,每个三角形覆盖常数个像素,那么最终时间复杂度只是 $O(n)$ 
 
 ## 着色
 
@@ -1225,9 +1256,9 @@ $$
   - $I/r^2$ 到达着色点的能量
   - $max(0, n \cdot l)$ 接收了多少能量
 
-> 为什么是 $max(0, n \cdot l)$ , $n \cdot l$也就是$\cos \theta$ 可能为负数,因为光线可能从物体下面往上发射,而这种光不具备物理意义(这里只讨论发射,不讨论折射) 
+> 为什么是 $max(0, n \cdot l)$ , $n \cdot l$ 也就是 $\cos \theta$ 可能为负数,因为光线可能从物体下面往上发射,而这种光不具备物理意义(这里只讨论发射,不讨论折射) 
 
-漫反射的物理规律就是看一个物体无论从什么角度看都是一样的,而上面的$L_d$式子刚好与观察方向v没有任何关系
+漫反射的物理规律就是看一个物体无论从什么角度看都是一样的,而上面的 $L_d$ 式子刚好与观察方向v没有任何关系
 
 ![](./Image/046.png)
 
@@ -1410,7 +1441,7 @@ Shader控制顶点管线(**Vertex Processing**)和着色管线如何运作(**Fra
 
 ![](./Image/064.png)
 
-三角形所在平面上的任一点(x, y)都可以用 $(x, y) = \alpha A + \beta B + \gamma C$ 且$\alpha + \gamma + \beta = 1$ 
+三角形所在平面上的任一点(x, y)都可以用 $(x, y) = \alpha A + \beta B + \gamma C$ 且 $\alpha + \gamma + \beta = 1$ 
 
 ![](./Image/065.png)
 
@@ -1645,11 +1676,11 @@ $$
 
 首先控制点有三个 $b_0, b_1, b_2$   
 
-其次$t$ 表示时间(或者说百分比),取值范围是0~1
+其次 $t$ 表示时间(或者说百分比),取值范围是0~1
 
-1. 在 $b_0 - b_1$ 的线段上,百分比为t的点$b_0^1$
-2. 同理在 $b_1 - b_2$ 的线段上,找到百分比为t的点$b_1^1$
-3. 在 $b_0^1 - b_1^1$ 的线段上,找到百分比为t的点$b_0^2$
+1. 在 $b_0 - b_1$ 的线段上,百分比为t的点 $b_0^1$
+2. 同理在 $b_1 - b_2$ 的线段上,找到百分比为t的点 $b_1^1$
+3. 在 $b_0^1 - b_1^1$ 的线段上,找到百分比为t的点 $b_0^2$
 
 这个 $b_0^2$ 就是时间为 $t$ 时,点的坐标
 
@@ -2058,7 +2089,7 @@ Shadow Mapping可以处理硬阴影的情况:即一个点要么在阴影中,
 
 可以将 光线 与 球 交点的计算,推广到其他 隐式表面 的计算上
 
-假设 隐式表面 的数学公式为 $ f(p) = 0$ , 带入 光线 的公式得到交点 $ f (o + t*d) = 0$
+假设 隐式表面 的数学公式为 $f(p) = 0$ , 带入 光线 的公式得到交点 $f (o + t*d) = 0$
 
 再 带入 上面说明的 t大于 0、 t不能为虚数、 多交点时取t小的点 就可以得到交点坐标
 
@@ -2086,7 +2117,7 @@ Shadow Mapping可以处理硬阴影的情况:即一个点要么在阴影中,
 
 上图中 $P_0 P_1 P_2$ 分别是是三角形重心到三个顶点的向量
 
-通过 $ (1 - b_1 - b_2) * P_0 + b_1 * P_1 + b_2 * P_2$ 可以表示三角形中任意点的坐标
+通过 $(1 - b_1 - b_2) * P_0 + b_1 * P_1 + b_2 * P_2$ 可以表示三角形中任意点的坐标
 
 一个物体有很多个三角形,最简单暴力的做法就是交**依次对每个三角形求**,最后得出距离光线起点最近的点 也就是 t 最小的点