线面交点

解析几何中, 一条直线与一个平面的交点可能是空集、一个或一条直线。在计算机图形学、运动规划和碰撞检测中,经常需要分析相交类型,以及计算出点坐标或线的方程。

线面交点的三种情况:
1. 没有交点;
2. 有且只有一个交点;
3. 有无数个交点。

代数形式

空间中一个平面可以表示为点   的集合

 

其中   是该平面的法线 是平面上任意一点。( 表示向量   数量积

而直线可表示为

 

其中  是该直线的方向向量, 是直线上任意一点, 实数范围内的标量。将直线方程代入平面方程得

 

展开得

 

解得  

 

 ,则直线与平面平行。此时,如果( ,则该直线在平面内,即直线上所有的点都是交点。否则,直线与平面没有交点。

 ,则直线与平面有且只有一个交点。解得  ,则交点的坐标为

 .

参数形式

 
直线与平面的交点

空间中一条直线可以用一个点和一个给定的方向来描述。则一条直线可以表示为如下点的集合

 

其中    是直线上两个不同的点。

相似地,一个平面可以表示为如下点的集合

 

其中    是平面上不共线的三个点。

直线和平面的交点可以表示为将直线上的点代入平面方程内,则参数方程如下:

 

 

矩阵表示为

 

可得点的坐标为

 

若直线与平面平行或在平面内,那么向量    线性独立的,且矩阵为奇异矩阵。

若满足  ,则交点在直线上    之间。

若满足

 

则交点位于平面上    所构成的三角形中。

该问题可用矩阵的形式表示解答:

 

应用

计算机图形学中的光线追踪算法中,一个面可以被表示为几个平面的集合。一个面的图像可以用光线与每个面的交点表达。在基于视觉的三维重建中(计算机视觉的一个子场),深度通常是由“三角测量法”测算的。

外部链接