明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 953|回复: 8

[讨论] 【算法精英们】一个分割区域的几何算法,请数学家和大神们讨论下

[复制链接]
发表于 2018-10-5 12:23:43 | 显示全部楼层 |阅读模式
本帖最后由 santalin 于 2018-10-5 12:39 编辑

用两条多段线切割封闭多段线,求两条封闭多段线间的阴影区域面积,如下图,求算法和代码,大神们看看啊


;选择封闭多段线
(princ "\n 选择封闭多段线:")
(setq epl (ssname (ssget) 0))
(princ "\n 选择两根要用来切割的多段线:")
(setq ss (ssget))
(setq ecut1 (ssname ss 0) ecut2 (ssname ss 1))
(princ "\n 求得封闭多段线切割后的阴影部分面积之和=")
(princ (pl_cutarea epl ecut1 ecut2))
;请大神们帮忙看看这个(pl_cutarea epl ecut1 ecut2)函数算法该怎么写

(defun pl_cutarea (epl ecut1 ecut2 / ret)
        ......
     ret
)

本帖子中包含更多资源

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

x
发表于 2018-10-5 12:53:40 | 显示全部楼层
面域相交就可以了
 楼主| 发表于 2018-10-5 13:01:12 | 显示全部楼层

面域相交是个好主意,不过LISP的函数是用哪个接口
 楼主| 发表于 2018-10-5 13:03:26 | 显示全部楼层
是不是生成两个面域,用CAD的布尔交集生成新面域,求面域面积,应该是个好主意
 楼主| 发表于 2018-10-5 13:06:34 | 显示全部楼层
本帖最后由 santalin 于 2018-10-6 08:18 编辑

面域可以实现,只是在批量执行过程中,生成面域命令窗口会输出很多提示,有点烦,(setvar "cmdecho" 0)也没用,像MATCHPROP命令也是如此,有没有什么办法让输出窗口不输出这些信息




本帖子中包含更多资源

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

x
 楼主| 发表于 2018-10-5 13:08:30 | 显示全部楼层
如果有数学上的的算法自己写个函数比用CAD自带的命令效率更高,又不会出现很多烦人的提示,影响程序输出内容,大神们有兴趣可以考虑下算法
发表于 2018-10-7 00:29:27 | 显示全部楼层
lisp不好实现,怎也也得借助实体图元计算,纯数学算法不好搞呀
发表于 2018-10-23 09:17:19 | 显示全部楼层
可以先转化为求一条多段线与封闭图形的面积,剩下的事就是分别求两条多段线与封闭图形形成的面积,最后求差值。
发表于 2018-10-24 10:54:15 | 显示全部楼层

好代码,学习一下喽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 03:14 , Processed in 0.194209 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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