在解析几何中, 一条直线与一个平面的交点可能是空集、一个点或一条直线。在计算机图形学、运动规划和碰撞检测中,经常需要分析相交类型,以及计算出点坐标或线的方程。
代数形式
空间中一个平面可以表示为点 的集合
其中 是该平面的法线,是平面上任意一点。(表示向量 和 的数量积)
而直线可表示为
其中 是该直线的方向向量,是直线上任意一点,是实数范围内的标量。将直线方程代入平面方程得
展开得
解得
若 ,则直线与平面平行。此时,如果(,则该直线在平面内,即直线上所有的点都是交点。否则,直线与平面没有交点。
若 ,则直线与平面有且只有一个交点。解得 ,则交点的坐标为
- .
参数形式
空间中一条直线可以用一个点和一个给定的方向来描述。则一条直线可以表示为如下点的集合
其中 和 是直线上两个不同的点。
相似地,一个平面可以表示为如下点的集合
其中 , 是平面上不共线的三个点。
直线和平面的交点可以表示为将直线上的点代入平面方程内,则参数方程如下:
即
用矩阵表示为
可得点的坐标为
若直线与平面平行或在平面内,那么向量 , 及 是线性独立的,且矩阵为奇异矩阵。
若满足 ,则交点在直线上 与 之间。
若满足
则交点位于平面上 , 及 所构成的三角形中。
该问题可用矩阵的形式表示解答:
应用
在计算机图形学中的光线追踪算法中,一个面可以被表示为几个平面的集合。一个面的图像可以用光线与每个面的交点表达。在基于视觉的三维重建中(计算机视觉的一个子场),深度通常是由“三角测量法”测算的。
外部链接