首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

三维立体空间的两条直线是否相交

2013-12-26 
三维空间的两条直线是否相交今天偶然看到一道题目,如何编程来判断,三维空间中的两条线段是否相交?两条直线

三维空间的两条直线是否相交
  今天偶然看到一道题目,如何编程来判断,三维空间中的两条线段是否相交?两条直线是否相交?

  第一眼看到想到了二维坐标系中的简化版,在二维的空间中,判断两条线是否相交,可以分别对横坐标,纵坐标投影,并判断是否都有重合。投影的过程,其实就相当于维度的简化。因此,对于三维坐标系中的两条线段,第一个想法也是分别对三个二维平面投影,简化为三个二维平面中的线段是否相交,重合的判断。这里有一个陷阱,就算在三个二维平面都有交点的线段在三维空间也可能是不相交的,反之者必然成立。也就是说,前者是后者的必要非充分条件。

  进一步考虑到,如果线段相交,那么在三个二维平面上投影的交点是同一个点,而如果不相交,而在三个投影均相交,那么三个投影交点必然不是同一个原始点,不论是在哪条直线上。因此,可以通过反正法来排除是两条不相交的直线。

  证明方式就是先作投影,如果不是三个二维面上都有焦点,则线段不相交;如果都有交点,则选取三个交点,得到原始三维空间中线段上的点,如果点重合,则线段相交,反之不相交。

  还有一种更直观一点的证明方式,通过坐标变换,将其中一条线段的作为x轴,一个端点为原点,另一端延伸为x轴正向,变换另外一条线段的坐标,接下来就是判断一条直线是否跟x轴相交。方法有多种,不细诉了。

热点排行