明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6797|回复: 5

如何获得两条平行直线之间的距离?

[复制链接]
发表于 2012-2-12 17:05:47 | 显示全部楼层 |阅读模式
大家好,请问如何获得两条直线之间的距离,同时排出这两条直线重合时的情况。请大家给点思路和代码.
发表于 2012-2-13 08:47:37 | 显示全部楼层
求两条直线之间的距离,转化为一条直线L1上取一点A(可为起点),直线L2上取两点C(L2起点)、D(终点),两条直线L1、L2重合时可利用AC、AD的叉乘为0即可(AC x AD=0),不重合共线时,求两条直线之间的距离方法就比较多了,
方法1:可先求出三角形的面积SACD,可利用叉乘计算,再利用三角形底CD的长度计算
方法2:利用方法GetClosestPointTo求出A在CD上的垂足,再求出距离
。。。
当然还有很多方法,以上只是我的看法
发表于 2012-2-13 14:51:35 | 显示全部楼层
直线本身有角度,可以从其中一条直线中取出第一或第二点,以此点与另一条直线的第一或第二之间线的长度和角度,它的相对角度的正玄与长度之积就是两平行线的距离,为0时,就是两条在同一直线上
发表于 2012-2-14 09:52:39 | 显示全部楼层
        /// <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;
        }
发表于 2012-2-14 12:18:49 | 显示全部楼层
本帖最后由 sieben 于 2012-2-14 12:21 编辑


发表于 2012-7-20 16:34:29 | 显示全部楼层
可以这样 CAD提供了点到直线距离的方法,你可以使用原点(0,0)分别得到原点到这两条直线的距离,然后相减取绝对值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 17:53 , Processed in 0.148071 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表