首页 关于
树枝想去撕裂天空 / 却只戳了几个微小的窟窿 / 它透出天外的光亮 / 人们把它叫做月亮和星星
目录

3D射影空间中的直线

前文提到,三维空间下的点和直线都只有三个自由度,可以直接通过欧式空间的三维直角坐标,或者射影空间的四维齐次坐标来表示。 三维空间中的刚体则有六个自由度,需要通过旋转和平移来描述它的姿态。 而三维空间中的直线,只有四个自由度。处于一种中间的状态,所以它的数学描述相对复杂一点。

早在 19 世纪数学家 Julius Plücker 就开发出了普吕克坐标,可以方便的描述三维空间中的直线。它具有很好的数学计算特性,能够清晰描述直线与点/平面之间的关系。 此外普吕克坐标也被人们拿来描述作用在刚体上的力和力矩。 在射影空间中为了配合四维齐次坐标表示的点和平面的矩阵运算,人们对普吕克坐标做了一些映射关系,通过 \(4 \times 4\) 的普吕克矩阵来描述直线。

本文中,我们从欧式空间出发,先介绍直线的普吕克坐标定义及相关的几何意义,再讨论如何描述直线与点/平面的关系。最后扩展到射影空间下介绍普吕克矩阵的。

1. 欧式空间下直线的普吕克坐标(Plücker Coordinates)

三维空间中,两个点确定一条直线。作图解释直线的方向(direction)和矩(moment)。说明 moment 矢量的几何意义。这就是直线的普吕克坐标。

说明直线的普吕克坐标与点的选择无关

说明直线的普吕克坐标实际只有 4 个自由度

说明方向矢量为 0 矩矢量非 0 的几何意义,与无穷远点的关系,关联一下 2D 射影空间

2. 欧式空间下点、直线、平面的关系

2.1 点与直线的关系

从 moment 矢量的几何意义出发,介绍点到直线的距离,如何判定点在直线上。

2.2 直线与直线的关系

相交?

平行?

距离?

2.3 直线与平面的关系

两个平面相交确定一条直线。提一下平面与点的对偶关系。Dual

点+直线确定一个平面

直线与平面相交与一点

3. 射影空间下直线的普吕克矩阵(Plücker Matrix)

直接给出普吕克矩阵

展开普吕克矩阵,介绍它与普吕克坐标之间的关系

罗列点、直线、平面之间各种关系的表达式

4. 完


$$ \boldsymbol{p}_0 = \begin{bmatrix} x_0 \\ y_0 \\ z_0 \\ 1 \end{bmatrix} \qquad \boldsymbol{p}_1 = \begin{bmatrix} x_1 \\ y_1 \\ z_1 \\ 1 \end{bmatrix} $$ $$ \boldsymbol{p}_{\bot} $$ $$ \boldsymbol{l} = \boldsymbol{p}_1 - \boldsymbol{p}_0 $$ $$ \boldsymbol{m} = \boldsymbol{p}_0 \times \boldsymbol{l} $$
$$ \boldsymbol{L} = \boldsymbol{p}_0 \boldsymbol{p}_1^T - \boldsymbol{p}_1 \boldsymbol{p}_0^T = \begin{bmatrix} x_0 \\ y_0 \\ z_0 \\ 1 \end{bmatrix} \begin{bmatrix} x_1 & y_1 & z_1 & 1 \end{bmatrix} - \begin{bmatrix} x_1 \\ y_1 \\ z_1 \\ 1 \end{bmatrix} \begin{bmatrix} x_0 & y_0 & z_0 & 1 \end{bmatrix} = \begin{bmatrix} x_0 x_1 & x_0 y_1 & x_0 z_1 & x_0 \\ y_0 x_1 & y_0 y_1 & y_0 z_1 & y_0 \\ z_0 x_1 & z_0 y_1 & z_0 z_1 & z_0 \\ x_1 & y_1 & z_1 & 1 \\ \end{bmatrix} - \begin{bmatrix} x_1 x_0 & x_1 y_0 & x_1 z_0 & x_1 \\ y_1 x_0 & y_1 y_0 & y_1 z_0 & y_1 \\ z_1 x_0 & z_1 y_0 & z_1 z_0 & z_1 \\ x_0 & y_0 & z_0 & 1 \\ \end{bmatrix} = \begin{bmatrix} 0 & x_0 y_1 - x_1 y_0 & x_0 z_1 - x_1 z_0 & x_0 - x_1 \\ y_0 x_1 - y_1 x_0 & 0 & y_0 z_1 - y_1 z_0 & y_0 - y_1 \\ z_0 x_1 - z_1 x_0 & z_0 y_1 - z_1 y_0 & 0 & z_0 - z_1 \\ x_1 - x_0 & y_1 - y_0 & z_1 - z_0 & 0 \end{bmatrix} $$ $$ \begin{bmatrix} x_0 \\ y_0 \\ z_0 \end{bmatrix} \times \begin{bmatrix} x_1 \\ y_1 \\ z_1 \end{bmatrix} = \begin{bmatrix} y_0 z_1 - z_0 y_1 \\ z_0 x_1 - x_0 z_1 \\ x_0 y_1 - y_0 x_1 \end{bmatrix} $$ $$ \boldsymbol{L}^* = \begin{bmatrix} 0 & z_0 - z_1 & y_1 - y_0 & y_0 z_1 - y_1 z_0 \\ z_0 - z_1 & 0 & x_0 - x_1 & z_0 x_1 - z_1 x_0 \\ y_0 - y_1 & x_0 - x_1 & 0 & x_0 y_1 - x_1 y_0 \\ z_0 y_1 - z_1 y_0 & x_0 z_1 - x_1 z_0 & y_0 x_1 - y_1 x_0 & 0 \end{bmatrix} $$



Copyright @ 高乙超. All Rights Reserved. 京ICP备16033081号-1