明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 荒野孤行

[已解答] 判断同一条多段线是否有交叉点,并求出其坐标点

[复制链接]
发表于 2014-6-23 12:26 | 显示全部楼层
Gu_xl 发表于 2014-6-23 12:15
判断多段线是否自交:
(if (> (length (setq l (vlax-invoke obj 'offset 1e-6))) 1)
   (princ "\n自交 ...

肯定不对....
回复

使用道具 举报

发表于 2014-6-23 12:31 | 显示全部楼层
看这个.........

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2014-6-23 13:01 | 显示全部楼层
q3_2006 发表于 2014-6-23 12:31
看这个.........

如果偏移后个数为1,再进一步判断!再将偏移后的对象偏移回去,计算偏移回去的对象长度是否和源多段线长度相同,不同则自交!

点评

感谢版主,目前就是根据这个思路写得程序。  发表于 2015-5-24 01:23
回复

使用道具 举报

发表于 2014-6-23 13:27 | 显示全部楼层
Gu_xl 发表于 2014-6-23 13:01
如果偏移后个数为1,再进一步判断!再将偏移后的对象偏移回去,计算偏移回去的对象长度是否和源多段线长度 ...

o....明白了.....谢谢G版....
回复

使用道具 举报

 楼主| 发表于 2014-6-23 19:58 | 显示全部楼层
q3_2006 发表于 2014-6-23 13:27
o....明白了.....谢谢G版....

如果是有很多条多段线,查找出这些自相交的多段线,并且找到其交叉点,思路如何呢?

点评

又钻到牛角里了!!!  发表于 2014-6-23 21:23
回复

使用道具 举报

 楼主| 发表于 2014-6-23 20:00 | 显示全部楼层
edata 发表于 2014-6-21 12:57
如果是圆弧的话,估计得先用凸度算出弧arc,再计算交点。

说的更加复杂了。凸度就是二阶导数了吧。
有没更加简单点的?

点评

凸度是圆弧在多段线上的凹凸关系,凹凸程度,=圆弧拱高/弦长的一半。 也可以是=四分之一圆心角之正切值=((sin ( A / 4.0)) / (cos ( A / 4.0))) 圆弧圆心角为A  发表于 2014-6-23 20:47
回复

使用道具 举报

发表于 2014-6-23 20:30 | 显示全部楼层
荒野孤行 发表于 2014-6-23 20:00
说的更加复杂了。凸度就是二阶导数了吧。
有没更加简单点的?

你研究15楼的即可,已经包含圆弧段。
我的方式会比较麻烦,即取出圆弧部分进行交点计算,可以是创建多段线获取交点方式,可以是数学计算方式。
前者较易,后者。。
回复

使用道具 举报

发表于 2014-6-23 22:55 | 显示全部楼层
这个要写出来容易,要高效率就难了,楼主CAD是什么版本,有空给你写一个基于计算几何算法的.net程序,在上万条封闭的多义线,每条节点在上百个,包含圆弧,能在十秒之内找出自相交点的。想要不
回复

使用道具 举报

 楼主| 发表于 2014-6-24 01:55 来自手机 | 显示全部楼层
logoin 发表于 2014-6-23 22:55
这个要写出来容易,要高效率就难了,楼主CAD是什么版本,有空给你写一个基于计算几何算法的.net程序,在上万 ...

太高深的我难以理解,我只懂一点lisp,其他的语言连语法都没研究过。写程序思路最重要,我想知道思路。
回复

使用道具 举报

发表于 2014-6-24 08:37 | 显示全部楼层
这个要写出来容易,要高效率就难了,楼主CAD是什么版本,有空给你写一个基于计算几何算法的.net程序,在上万条封闭的多义线,每条节点在上百个,包含圆弧,能在十秒之内找出自相交点的。想要不

很想学习学习,可否赐教?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 12:13 , Processed in 0.284081 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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