查找3D中的两条线是否共线

时间:2016-07-01 13:00:15

标签: c#

我需要创建一个函数来返回两条线是否共线。我在2D中找到了一些解决这个问题的方法,例如Algorithm for finding the segment overlapping two collinear segments中的问题,但我没有找到一个允许在3D中解决同样问题的算法。

1 个答案:

答案 0 :(得分:0)

如果两个向量的标量乘法等于乘以它们的长度的绝对值(它在3D中工作),则两条线是共线的。 只需编写一个计算标量乘法的方法

private double scalarMultiply(Vector L1, Vector L2)
{
    return L1.X()*L2.X() + L1.Y()*L2.Y() + L1.Z()*L2.Z();
}   

和向量的长度

vectorMod = System.Math.Sqrt(x * x + y * y + z * z);

然后你知道该怎么做))