抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

点乘、叉乘

点乘:

ab=abcos(a,b)a\cdot b=|a||b|\cos(a,b)

几何意义是 aa 的长度和 bbaa 上投影的乘积。

叉乘:

a×b=absin(a,b)a\times b=|a||b|\sin(a,b)

几何意义绝对值是 a,ba,b 所夹平行四边形的面积。推出 a×a=0,a×b=aba\times a =0,a\times b=|a||b|a,ba,b 正交。

点乘和叉乘都具有分配律,但是叉乘不具有结合律,而且叉乘是反交换律。

三角形面积:

12r1×r2+r2×r3+r3×r1\frac{1}{2}||r_1\times r_2+r_2\times r_3+r_3\times r_1||

叉乘计算可以看做分块矩阵:

(v2,v3,v3,v1,v1,v2)(|v_2,v_3|,|v_3,v_1|,|v_1,v_2|)

组合积

[a,b,c]=(a×b)c[a,b,c]=(a\times b)\cdot c

交换一次符号相反,所以正负和逆序对奇偶性有关。几何意义是平行六面体。四面体的体积是平行六面体体积/6。

平面方程

点法式方程

A(xx0)+B(yy0)+C(zz0)=0A(x-x_0)+B(y-y_0)+C(z-z_0)=0

平面的一般式方程

Ax+By+Cz=DAx+By+Cz=D

可以表示为增广矩阵 [A B CD][A\ B\ C|D]。这表明平面的自由变量为 44

特殊平面

OxOx 轴的平面,代表 xx 任取,可以设为 By+Cz=0By+Cz=0

平面的标准式方程

需要知道经过的一个点和平行的两个向量。

直线方程

参数式方程

x=x0+tm,y=y0+tn,z=z0+tpx=x_0+tm,y=y_0+tn,z=z_0+tp

向量式方程

r=r0+ts\vec{r}=\vec{r_0}+t\vec{s}

一条直线可以由两个三维向量表示。

标准式方程

xx0m=yy0n=zz0p\frac{x-x_0}{m}=\frac{y-y_0}{n}=\frac{z-z_0}{p}

平面束方程

[kl][A1B1C1D1A2B2C2D2]\begin{bmatrix} k & l \end{bmatrix} \begin{bmatrix} A_1 &B_1 &C_1 &D_1\\ A_2 &B_2 &C_2 &D_2\\ \end{bmatrix}

表示经过两个平面交线的所有平面。

一般式方程化为标准式方程

[A1B1C1A2B2C2][xyz]=[D1D2]\begin{bmatrix} A_1 & B_1 & C_1\\ A_2 & B_2 & C_2 \end{bmatrix} \begin{bmatrix} x\\y\\z \end{bmatrix} =\begin{bmatrix}D_1\\D_2\end{bmatrix}

如果只是求方向向量,可以转化为齐次方程的基础解系,也可以利用 v//(Nvec(π1)×Nvec(π2))v//(Nvec(\pi_1) \times Nvec(\pi_2))。其中 NvecNvec 代表一个平面的法向量。

点到平面距离

d(P0,π)=nP1P0n=Ax0+By0+Cz0+DA2+B2+C2d(P_0,\pi)=\frac{|\vec{n}\cdot\vec{P_1P_0}|}{|\vec{n}|}=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}}

平面与平面的夹角

π1\pi_1 法向量为 n1=(A1,B1,C1)\vec{n_1}=(A_1,B_1,C_1)π2\pi_2 法向量为 n2=(A2,B2,C2)\vec{n_2}=(A_2,B_2,C_2)

则夹角:

θ=n1n2n1n2\theta=\frac{|\vec{n_1}\cdot\vec{n_2}|}{|\vec{n_1}||\vec{n_2}|}

直线与直线的距离

假设两点 A=P1+λV1(l1),B=P2+μV2(l2)A=P_1+\lambda V_1(l_1上),B=P_2+\mu V_2(l_2上),则满足

[V0V1](AB)T=0\begin{bmatrix} V_0\\V_1 \end{bmatrix}(A-B)^T=0

得到 AB=P0+γV0A-B=P_0+\gamma V_0,是一个基础解系的形式。现在问题是解出 λ,μ,γ\lambda,\mu,\gamma,可以得到:

[γ λ μ][V0V1V2]=P0P1+P2[\gamma\ \lambda\ \mu]\begin{bmatrix}-V_0\\V_1\\-V_2\end{bmatrix}=P_0-P_1+P_2

于是只要矩阵求逆即可。解出 λ,μ\lambda,\mu 之后,就可以得到 ABA-B,其长度是直线与直线的距离。

然而,矩阵一定可逆吗,当两直线平行时,矩阵的秩是 22,当两直线重合时,矩阵的秩是 11。(猜的)

投影操作

点投影在直线上

  1. 点与投影点的连线和直线方向向量正交。
  2. 投影点在直线上。

点投影在平面上

  1. 投影点在平面上
  2. 点和投影点连线和平面的法向量平行

直线投影在平面上

第一种方法

  1. 随便取直线上两点,求投影。

第二种方法

  1. 直线的方向向量和原平面的法向量叉乘得到的新向量是法向量。

如何定义平移操作

P=P+vP'=P+v

直线

P=P+vP'=P+v

方向向量不变。

平面

D=D(vNvec(π))D'=D-(v\cdot Nvec(\pi))

如何定义对称操作

点关于点对称

A+B=2C\vec{A}+\vec{B}=2\vec{C}

直线关于点对称

方向不变,初始的点对称。

直线关于直线对称

如果不是共面直线不太好定义……但是如果是共面直线,退化成二维的情况,也可以使用HouseHolder矩阵。

平面关于点对称

平面的法向量不变,任取平面上一点,关于其对称,就可以得到对称平面上的一点,解出方程。

平面关于直线对称

  1. 如果平行,和关于点对称是一样的。
  2. 如果不平行,转化为平面关于平面对称。

直线关于平面对称

(HouseHolder矩阵)

点关于平面对称

解点到平面距离的方程即可。

平面关于平面对称

  1. 如果两平面平行,就退化成关于点对称的情况。

  2. 对称平面一定过两平面的交线,先通过平移操作平移到原点,转化为两平面

    π1=[A1,B1,C1],π0=[A0,B0,C0]\pi_1=[A_1,B_1,C_1],\pi_0=[A_0,B_0,C_0]

    对称的问题。

    平面 π1\pi_1 上的点满足 π1×v=0\pi_1\times v=0(不同于我们之前的定义,这里 vv 是一个列向量,为了方便矩阵乘法),对于每一个这样的点,都进行 HouseHolder 变换:

    H=E2id(Nvec(π0))id(Nvec(π0))TH=E-2id(Nvec(\pi_0))id(Nvec(\pi_0))^T

    就可以得到:

    π2×(H×v)=0\pi_2 \times (H\times v) =0

    得到:

    π2H=π1π2=π1H\pi_2H=\pi_1 \Rightarrow\pi_2=\pi_1H

    注:这里是因为 H1=HH^{-1}=H。于是这样就可以完成对称的操作

评论