明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1856|回复: 10

[函数] 如何判断一多段线位于另外一多段线的内部?

[复制链接]
发表于 2014-11-6 21:40 | 显示全部楼层 |阅读模式
我想编写一个程序,就是当一个多段线大部分面积(大于自身面积的50%)位于另一多段线的内部时,认为此多段线位于另一多段线的内部。但是代码不知如何编写,还望大神们指教!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-11-6 22:27 | 显示全部楼层
用region union面積比對,你會有概念
发表于 2014-11-7 14:16 | 显示全部楼层
平面对象
1 先判断有无交点,如果没有交点,那取线上一点是否在别一多边形内。
2 如果只有一个交点,判断线上另一点是否在多边形内
3 如果有2个交点,肯定不在多边形内了。
 楼主| 发表于 2014-11-7 14:32 | 显示全部楼层
lsjj 发表于 2014-11-6 22:27
用region union面積比對,你會有概念

用面域对象感觉对程序运行速度有较大影响,所以想试下有没有其他判断方法!
 楼主| 发表于 2014-11-7 14:34 | 显示全部楼层
自贡黄明儒 发表于 2014-11-7 14:16
平面对象
1 先判断有无交点,如果没有交点,那取线上一点是否在别一多边形内。
2 如果只有一个交点,判断 ...

你这个方法是针对一多边形完全在另一多边形内,而我想要的是如果一多段线的大部分面积(大于自身50%)在另一多边形内,即可认为该多边形在另一多边形内。黄工可有比较好的算法?
 楼主| 发表于 2014-11-8 14:38 | 显示全部楼层
这个问题难道只能用面域解决吗?高手出马帮个忙啊!
发表于 2014-11-10 21:21 | 显示全部楼层
一个正方形旋转45度形成的另一个正方形,也算在自己内部吗?
发表于 2014-11-10 22:11 | 显示全部楼层
这个要看你要操作对象的个数,如果个数少,用面域是一个好办法
发表于 2014-11-11 00:12 | 显示全部楼层
将两条多段线闭合,同时选两条多段线为充填对象,得到一充填面积,以充填面积的大小作为判断条件,设大的多段线面积为A,充填面积为B。A=B时小多段线50%面积包含在大多段线内;A<B时小多段线50%以下的面积包含在大多段线内;A>B时小多段线50%以上的面积包含在大多段线内。楼主试试看行不行。
 楼主| 发表于 2014-11-16 13:49 | 显示全部楼层
lht 发表于 2014-11-11 00:12
将两条多段线闭合,同时选两条多段线为充填对象,得到一充填面积,以充填面积的大小作为判断条件,设大的多段线 ...

用充填对象是不是得用command函数,这样循环多次的话运行效率很低啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 01:09 , Processed in 0.198379 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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