Vector 矢量重叠检测算法

Vector 矢量重叠检测算法,vector,Vector,我目前正在开发一个数学物理程序,我需要计算两个向量是否相互重叠,一个是垂直的,另一个是水平的。有没有什么快速算法可以做到这一点,因为到目前为止,我提出的方法有很多重复。假设我们有向量V10,1,2,1和V21,0,1,2,其中第一个括号是起始坐标和向量到达的第二个坐标。我想作为一个结果,他们在1,1重叠 到目前为止,我唯一想到的是将每个向量展开为点列表,然后比较列表 e、 对于V1,它的列表应该是0,1,1,2,1?V1始终是水平矢量,坐标是有序的,即V1.x0

我目前正在开发一个数学物理程序,我需要计算两个向量是否相互重叠,一个是垂直的,另一个是水平的。有没有什么快速算法可以做到这一点,因为到目前为止,我提出的方法有很多重复。假设我们有向量V10,1,2,1和V21,0,1,2,其中第一个括号是起始坐标和向量到达的第二个坐标。我想作为一个结果,他们在1,1重叠

到目前为止,我唯一想到的是将每个向量展开为点列表,然后比较列表
e、 对于V1,它的列表应该是0,1,1,2,1?V1始终是水平矢量,坐标是有序的,即V1.x0
func intersection( V1, V2 )
    if v1.x0 <= v2.x0 and v1.x1 >= v2.x0 and
       v2.y0 <= v1.y0 and v2.y1 >= v1.y0 then

        return ( V2.x0, V1.y0 );
    else
        return NO_INTERSECTION;
    end if
end func