i 的意义
为什么说复数和二维平面有关呢?
首先,\(\times -1\) 的几何意义是在一维数轴上转 \(180°\),那能不能只转 \(90°\) 呢?于是就有了 \(i\)。
\(\times i\times i=\times -1\),两次 \(\times i\) 等价于转 \(180°\),所以说 \(\times i\) 等价于逆时针转 \(90\) 度(这也便是逆正顺负的由来)。于是就有了复数:\(a+bi\) 表示 \(x=a,y=b\) 的二维点(或者向量)。
这其实挺形象的:\(i\) 等于竖着的纵轴,也就是 \(x\) 轴转 \(90°\)。
总之我们就有了这样的表示法。
叉积与点积
\((x_1,y_1)\cdot(x_2,y_2)=x_1x_2+y_1y_2\),意义是投影长度。
\((x_1,y_1)\times(x_2,y_2)=x_1y_2-x_2y_1\),意义是平行四边形面积。
而:\((x_1+i\times y_1)\times (x_2-i\times y_2)=x_1x_2+(x_1y_2-x_2y_1)i+y_1y_2\)。
我们发现:共轭乘的实部等于点积,虚部等于叉积。
于是:\(A\times \text{conj}(B)=(A\cdot B)+(A\times B)i\)
使用 C++ 中自带的 complex 可以很好的解决问题。
旋转
弧度制
用 \(2\pi\) 表示 \(360°\),\(\pi\) 表示 \(180°\)。
也就是用单位圆的弧长表示角度。
欧拉公式
复数乘以 \(i\) 表示旋转 \(\frac{\pi}{2}\),乘以 \(-1\) 表示旋转 \(\pi\)。那旋转 \(\frac{\pi}{4}\) 表示乘以多少?
我们可以用欧拉公式:旋转 \(\theta\) 表示乘以 \(e^{i\theta}=cos\theta+i\sin\theta\)。
发现:乘以的这个东西也是复数!所以两个复数直接乘就能表示旋转。