如何获得两条平行直线之间的距离?
大家好,请问如何获得两条直线之间的距离,同时排出这两条直线重合时的情况。请大家给点思路和代码. 求两条直线之间的距离,转化为一条直线L1上取一点A(可为起点),直线L2上取两点C(L2起点)、D(终点),两条直线L1、L2重合时可利用AC、AD的叉乘为0即可(AC x AD=0),不重合共线时,求两条直线之间的距离方法就比较多了,方法1:可先求出三角形的面积SACD,可利用叉乘计算,再利用三角形底CD的长度计算
方法2:利用方法GetClosestPointTo求出A在CD上的垂足,再求出距离
。。。
当然还有很多方法,以上只是我的看法 直线本身有角度,可以从其中一条直线中取出第一或第二点,以此点与另一条直线的第一或第二之间线的长度和角度,它的相对角度的正玄与长度之积就是两平行线的距离,为0时,就是两条在同一直线上 /// <summary>
/// 直线距离
/// </summary>
/// <param name="line1">直线1</param>
/// <param name="line2">直线2</param>
/// <returns>两线间距离</returns>
public static double Distance(Line line1, Line line2)
{
double d = line1.GetClosestPointTo(line2.StartPoint, true).DistanceTo(line2.StartPoint);
return d;
} 本帖最后由 sieben 于 2012-2-14 12:21 编辑
可以这样 CAD提供了点到直线距离的方法,你可以使用原点(0,0)分别得到原点到这两条直线的距离,然后相减取绝对值
页:
[1]