计算几何
感谢 zjb 的大力支持。参考复制自 zjb 课件。
基础知识
向量
向量是具有方向和大小的量,一个 \(k\) 维空间中的向量 \(\vec{a}\) 可以用一个 \(k\) 元组 \((a_1,\cdots,a_k)\) 表示,在平面几何中亦可用角度与模长 \((\alpha,\theta)\) 表示。零向量是没有方向,模长为 \(0\) 的向量。
\(k\) 维向量(记为 \(\vec{x}\))也可以表示为一个 \(k\times 1\) 的矩阵:
\[ \begin{bmatrix} a_1 \\ \vdots \\ a_k \\ \end{bmatrix} \]记一个 \(\vec{x}\) 的模长为 \(|\vec{x}|\),有 \(|\vec{x}|=\sqrt{\sum\limits_{i=1}^ka_i^2}\)
向量基本运算
-
加法:\((a_1,\cdots,a_k)+(b_1,\cdots,b_k)=(a_1+b_1,\cdots,a_k+b_k)\)
-
数乘:\(\lambda\cdot(a_1,\cdots,a_k)=(\lambda a_1,\cdots,\lambda a_k)\)
-
点积:\((a_1,\cdots,a_k)\cdot(b_1,\cdots,b_k)=a_1\times b_1+\cdots+a_k\times b_k\)
-
叉积仅在二维和三维向量下有定义:
-
二维:\((x_a,y_a)\times(x_b,y_b)=x_ay_b-y_ax_b\)
-
三维:
\[ (x_a,y_a,z_a)\times(x_b,y_b,z_b)= \begin{vmatrix} \hat{\imath} & \hat{\jmath} & \hat{k} \\ x_a & y_a & z_a \\ x_b & y_b & z_b \\ \end{vmatrix} \]其中 \(\hat{\imath},\hat{\jmath},\hat{k}\) 分别是三维的单位向量。
-
-
由上面的运算我们还可以定义出 \(-\vec{a}=(-1)\cdot\vec{a},\vec{a}-\vec{b}=\vec{a}+(-\vec{b})\)。
向量运算的一些性质
- \(\vec{a}+\vec{b}=\vec{b}+\vec{a}\)
- \((\vec{a}+\vec{b})+\vec{c}=\vec{a}+(\vec{b}+\vec{c})\)
- \(\lambda\cdot(\vec{a}+\vec{b})=\lambda\cdot\vec{a}+\lambda\cdot\vec{b}\)
- \((\lambda+\mu)\cdot\vec{a}=\lambda\cdot\vec{a}+\mu\cdot\vec{a}\)
- \(\lambda\cdot\vec{a})\cdot\vec{b}=\lambda\cdot(\vec{a}\cdot\vec{b})=\vec{a}\cdot(\lambda\cdot\vec{b})\)
- \(\vec{a}\cdot\vec{b}=\vec{b}\cdot\vec{a}\)
- \(\vec{a}\cdot(\vec{b}+\vec{c})=\vec{a}\cdot\vec{b}+\vec{a}\cdot\vec{c}\)
- \(\vec{a}\times\vec{a}=0\)
- \(\vec{a}\times\vec{b}=-\vec{b}\times\vec{a}\)
- \((\lambda\cdot\vec{a})\times\vec{b}=\lambda\cdot(\vec{a}\times\vec{b})=\vec{a}\times(\lambda\cdot\vec{b})\)