我需要创建一个函数来返回两条线是否共线。我在2D中找到了一些解决这个问题的方法,例如Algorithm for finding the segment overlapping two collinear segments中的问题,但我没有找到一个允许在3D中解决同样问题的算法。
答案 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);
然后你知道该怎么做))