明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2123|回复: 15

[源码] delaunay 三角划分的 lisp 代码

  [复制链接]
发表于 2022-11-18 11:43 | 显示全部楼层 |阅读模式
好久不上论坛了,今天重新上来冒个泡,贴一段关于delaunay 三角划分的代码。

论坛上从前有很多关于 delaunay 三角网划分的帖子和很多好程序,如:
飞马兄的帖子:
http://bbs.mjtd.com/forum.php?mo ... &fromuid=398403
highflybird 兄的帖子:
http://bbs.mjtd.com/forum.php?mo ... &fromuid=398403

这些程序运行的效率非常高,但是是用 arx 编写的,或者借助了外部 Matlab 程序。我这里写了一个 AutoLisp/VisualLisp 版的,正如 highflybird 兄所说,“如果离散点数量太多,LISP算法再优化,也是不可能很快的。”我的机器比较老,CPU 还是 第三代 i7,测试下来,11000 多个点在 270s 左右;在另一台第 12 代 i7 的机器上测试下来是91s,时间勉强能够接受。

我使用的算法是扫描线算法,在代码的注释中作出了解释。通过测试,在达到一定数量的点后,花费的时间基本是线性增长的,因此也就没再去考虑分治算法。代码中用一个参数来控制使用水平线扫描还是垂直线扫描,其实这可以通过对散点坐标的最值判断分布的形状来进行选择,这个可以自行修改。

我不喜欢收币,免币开放,代码如下:

本帖子中包含更多资源

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

x

评分

参与人数 5明经币 +6 金钱 +30 收起 理由
VBALISPER + 1 很给力!
qjchen + 2 + 30 赞一个!
tigcat + 1 很给力!
USER2128 + 1 赞一个!
guosheyang + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2022-11-21 09:46 | 显示全部楼层
一张单程票 发表于 2022-11-19 19:04
no function definition: ACET-UI-PROGRESS,请问大神,这个函数是什么函数

这个是express tools 带的,生成进度条,如果你没装expresstools 就把三处用到这个函数的地方注释掉好了,没有关系的。或者前面简单地加一句 (defun acet-ui-progress list)
 楼主| 发表于 2022-11-21 09:49 | 显示全部楼层
guosheyang 发表于 2022-11-19 11:43
朋友  怎么有高程的点生成的三角网 是平的呢?

三角网返回值是带高程的,绘图的子函数用的是画平面的,想要画带高程的 3d 三角网就自己用写一个创建 3dface 或 polyline 的子函数。没有多复杂。
发表于 2022-11-19 11:43 | 显示全部楼层
本帖最后由 guosheyang 于 2022-11-19 11:46 编辑

朋友  怎么有高程的点生成的三角网 是平的呢?  

本帖子中包含更多资源

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

x
发表于 2022-11-18 12:23 | 显示全部楼层
谢谢大佬分享
发表于 2022-11-18 12:32 | 显示全部楼层

谢谢大佬分享
发表于 2022-11-18 13:06 | 显示全部楼层
谢谢大佬分享
发表于 2022-11-19 06:51 | 显示全部楼层
感谢楼主分享,学习
发表于 2022-11-19 08:11 | 显示全部楼层
楼主给力,谢谢分享!!!
发表于 2022-11-19 11:19 | 显示全部楼层
谢谢大侠分享
发表于 2022-11-19 19:04 | 显示全部楼层
no function definition: ACET-UI-PROGRESS,请问大神,这个函数是什么函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 22:39 , Processed in 0.971028 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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