Skip to main content

三维计算几何基础

参考资料

向量

三维向量 a=(xa,ya,za)\vec{a}=(x_a,y_a,z_a),其加减、数乘与平面情形完全一致,逐分量运算即可。

点积

点积(Dot Product)的结果是标量:

ab=xaxb+yayb+zazb=abcosθ\vec{a}\cdot\vec{b}=x_ax_b+y_ay_b+z_az_b=|\vec{a}||\vec{b}|\cos\theta

可用于求两向量夹角,或判断垂直(点积为 00)。

叉积

叉积(Cross Product)的结果是向量:

a×b=(yazbzayb, zaxbxazb, xaybyaxb)\vec{a}\times\vec{b}=(y_az_b-z_ay_b,\ z_ax_b-x_az_b,\ x_ay_b-y_ax_b)

它垂直于 a,b\vec{a},\vec{b} 所张成的平面(方向由右手定则确定),模长

a×b=absinθ|\vec{a}\times\vec{b}|=|\vec{a}||\vec{b}|\sin\theta

等于以两向量为邻边的平行四边形面积。叉积为零向量当且仅当两向量共线。

混合积

混合积(Scalar Triple Product)是先叉积再点积:

(a×b)c(\vec{a}\times\vec{b})\cdot\vec{c}

其绝对值等于以 a,b,c\vec{a},\vec{b},\vec{c} 为棱的平行六面体体积,符号表示三向量的手性(正为右手系)。混合积为 00 当且仅当三向量共面。

平面

平面可由一个法向量 n\vec{n} 和平面上一点 P0P_0 确定:点 PP 在平面上当且仅当

n(PP0)=0\vec{n}\cdot(P-P_0)=0

法向量可由平面上两个不共线向量叉积得到。点 PP 到该平面的距离为:

d=n(PP0)nd=\frac{|\vec{n}\cdot(P-P_0)|}{|\vec{n}|}