点乘、叉乘
点乘:
a⋅b=∣a∣∣b∣cos(a,b)
几何意义是 a 的长度和 b 在 a 上投影的乘积。
叉乘:
a×b=∣a∣∣b∣sin(a,b)
几何意义绝对值是 a,b 所夹平行四边形的面积。推出 a×a=0,a×b=∣a∣∣b∣ 当 a,b 正交。
点乘和叉乘都具有分配律,但是叉乘不具有结合律,而且叉乘是反交换律。
三角形面积:
21∣∣r1×r2+r2×r3+r3×r1∣∣
叉乘计算可以看做分块矩阵:
(∣v2,v3∣,∣v3,v1∣,∣v1,v2∣)
组合积
[a,b,c]=(a×b)⋅c
交换一次符号相反,所以正负和逆序对奇偶性有关。几何意义是平行六面体。四面体的体积是平行六面体体积/6。
平面方程
点法式方程
A(x−x0)+B(y−y0)+C(z−z0)=0
平面的一般式方程
Ax+By+Cz=D
可以表示为增广矩阵 [A B C∣D]。这表明平面的自由变量为 4。
特殊平面
过 Ox 轴的平面,代表 x 任取,可以设为 By+Cz=0。
平面的标准式方程
需要知道经过的一个点和平行的两个向量。
直线方程
参数式方程
x=x0+tm,y=y0+tn,z=z0+tp
向量式方程
r=r0+ts
一条直线可以由两个三维向量表示。
标准式方程
mx−x0=ny−y0=pz−z0
平面束方程
[kl][A1A2B1B2C1C2D1D2]
表示经过两个平面交线的所有平面。
一般式方程化为标准式方程
[A1A2B1B2C1C2]⎣⎡xyz⎦⎤=[D1D2]
如果只是求方向向量,可以转化为齐次方程的基础解系,也可以利用 v//(Nvec(π1)×Nvec(π2))。其中 Nvec 代表一个平面的法向量。
点到平面距离
d(P0,π)=∣n∣∣n⋅P1P0∣=A2+B2+C2∣Ax0+By0+Cz0+D∣
平面与平面的夹角
π1 法向量为 n1=(A1,B1,C1),π2 法向量为 n2=(A2,B2,C2)。
则夹角:
θ=∣n1∣∣n2∣∣n1⋅n2∣
直线与直线的距离
假设两点 A=P1+λV1(l1上),B=P2+μV2(l2上),则满足
[V0V1](A−B)T=0
得到 A−B=P0+γV0,是一个基础解系的形式。现在问题是解出 λ,μ,γ,可以得到:
[γ λ μ]⎣⎡−V0V1−V2⎦⎤=P0−P1+P2
于是只要矩阵求逆即可。解出 λ,μ 之后,就可以得到 A−B,其长度是直线与直线的距离。
然而,矩阵一定可逆吗,当两直线平行时,矩阵的秩是 2,当两直线重合时,矩阵的秩是 1。(猜的)
投影操作
点投影在直线上
- 点与投影点的连线和直线方向向量正交。
- 投影点在直线上。
点投影在平面上
- 投影点在平面上
- 点和投影点连线和平面的法向量平行
直线投影在平面上
第一种方法
- 随便取直线上两点,求投影。
第二种方法
- 直线的方向向量和原平面的法向量叉乘得到的新向量是法向量。
如何定义平移操作
点
P′=P+v
直线
P′=P+v
方向向量不变。
平面
D′=D−(v⋅Nvec(π))
如何定义对称操作
点关于点对称
A+B=2C
直线关于点对称
方向不变,初始的点对称。
直线关于直线对称
如果不是共面直线不太好定义……但是如果是共面直线,退化成二维的情况,也可以使用HouseHolder矩阵。
平面关于点对称
平面的法向量不变,任取平面上一点,关于其对称,就可以得到对称平面上的一点,解出方程。
平面关于直线对称
- 如果平行,和关于点对称是一样的。
- 如果不平行,转化为平面关于平面对称。
直线关于平面对称
(HouseHolder矩阵)
点关于平面对称
解点到平面距离的方程即可。
平面关于平面对称
-
如果两平面平行,就退化成关于点对称的情况。
-
对称平面一定过两平面的交线,先通过平移操作平移到原点,转化为两平面
π1=[A1,B1,C1],π0=[A0,B0,C0]
对称的问题。
平面 π1 上的点满足 π1×v=0(不同于我们之前的定义,这里 v 是一个列向量,为了方便矩阵乘法),对于每一个这样的点,都进行 HouseHolder 变换:
H=E−2id(Nvec(π0))id(Nvec(π0))T
就可以得到:
π2×(H×v)=0
得到:
π2H=π1⇒π2=π1H
注:这里是因为 H−1=H。于是这样就可以完成对称的操作