C# 查找三维中的两条直线是否共线

C# 查找三维中的两条直线是否共线,c#,C#,我需要创建一个函数,返回两行是否共线。我在2D中找到了一些解决这个问题的方法,比如在中的方法,但我没有找到一种算法可以在3D中解决同样的问题。如果两个向量的标量乘法等于其长度的绝对值,则两条线是共线的(在3D中有效)。 只需编写一个计算标量乘法的方法 private double scalarMultiply(Vector L1, Vector L2) { return L1.X()*L2.X() + L1.Y()*L2.Y() + L1.Z()*L2.Z(); } 向量的大小和

我需要创建一个函数,返回两行是否共线。我在2D中找到了一些解决这个问题的方法,比如在中的方法,但我没有找到一种算法可以在3D中解决同样的问题。

如果两个向量的标量乘法等于其长度的绝对值,则两条线是共线的(在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);

然后你就知道该怎么做了。)

请不要标记垃圾邮件,请标记正确的语言。也在这上面张贴你的尝试。我没有尝试。我想找到一些这样做的代码,因为我确信它已经完成了,但是我找不到。什么是2D解决方案?共线定义为包含相同3个或更多点的直线。2D和3D的解决方案应该是一样的。这是2D情况下一种可能的解决方案:我想我可以通过以下链接来实现:谢谢谢谢,但是因为我使用了向量,我不仅要确保直线平行,而且根据直线的位置,它们可以共线还是不共线?