平面点集三角剖分实验
一、 实验目的
1.基于分治策略,实现对平面点集的三角剖分;
2 .利用DCEL 结构对剖分后的图进行存储,以便进行后续操作;
3 .熟悉简单的MFC 编程。
二、 实验分析
1. 算法分析
我们的算法是采用分治策略的,即根据点的x 坐标将点分成左右两个部分,分别将
左右两个点集进行三角剖分,再通过zig-zag 的方法合并左右两个部分。详细请参考后
面算法描述部分。
2. 图的存储
为了使得剖分的结果能执行后续操作,我们需要使用DCEL 结构来存储当前的图。
在我们的实验中采用了翻墙实验来验证剖分结果的正确性,具体可以参考实验说明部
分。
三、 算法描述
1. 核心思想
我们采用分治的算法,对平面点集进行处理,如下图所示,
假设左右两边已经处理完毕,那么可以通过zig-zag 的方法求出结果。
具体做法是先找到最右和最左点。
左边多边形依次向上找,知道某个点满足将左边所有点划分到同一侧,这样再接着
右边的点,如此往复下去,最后可以完成整个zig-zag 过程。
下面的部分同理可以完成。
2. 退化情况分析
对于可能出现的同一X 可能坐标出现多次的情况,我们可以通过将坐标轴旋转一个
微小的角度来解决。当然在实际处理中,不必真的作旋转,因为那样会产生精度误
差,我们只需要假想旋转即可。例如,在排序的时候,当X 坐标相同时,我们比较
Y 坐标,将Y 坐标从小到大排序,实际上与旋转后再比较是等价的。
3. 优化
在找最左边点和最右边点的时候,我们不必每次都去寻找,而是对每个多边形纪录
它的最左和最右点即可,每次zig-zag 合并完后可以通过 O(1) 的时间就更新这对左
右点。这样就不必要每次都去查找一遍了。
四、 软件介绍
打开后可以直接在黑幕上点点,或者通过File 菜单中的Open 按钮打开文件读取数据
Operate 菜单
点击Go 后可获得所设置点集的三角剖分
Next 与Previous 都是实现单步操作的,同时他们对应-和-按钮
Result 实现在单步过程中,可直接得到三角剖分的,同时对应着 按钮
Only point 实现了实验中获取原点集的功能,同时对应着 按钮,它是三角剖分单步执行
的第一步
Draw lines 实现了DCEL 结构验证性实验中打开和关闭画直线的功能,如果不关闭,其他三
角剖分的功能不能实现
五、 实验结果
1.三角剖分
对上面点集,在Operate 菜单中选择Go,即可得出剖分并着色的三角剖分图如下所示
然后选择Operate 菜单中的Only point 得到点后就可以单步执行三角剖分过程
2.翻墙实验
对一个已经三角剖分过的平面点集,如下
在operate 菜单中选择Draw lines ,然后可以在图中随便画一条直线,如下图
注意线的两端必须在多边形外部。
然后执行单步执行操作,就可以一个一个的将直线经过的三角形涂色
在这个过程中我们还可以再随画一条直线,并单步执行对此条直线所过三角形涂色
如此证明利用DCEL 结构储存可以进行各种后续操作。
3. 时间分析
根据点数的不同,我们测试了10000-1000000 的不同情况,程序用时如下:
点数 10000 50000 100000 500000 1000000
用时 (秒)0.2 0.2 0.3 1.1 2.4
六、 实验收获
经过此次实验我们对平面点集的三角剖分有了清楚的了解,并且首次使用了 DCEL 结
构进行图的存储。不仅如此,实验还使我们对所学内容有了更深刻的理解,更使我们对以后
的所学内容有了大致性的概念,最后感谢两位老师对我们实验的建议,使我们对整个实验的
原理掌握得更充分。
您可能关注的文档
- 工程和工程重点建设学科.ppt
- 工程技术人才调查问卷中国机械工业教育发展中心.doc
- 工程教育专业认证标准-电子信息与电气工程学院.DOC
- 工程建设行业标准项目建议书建议项目名称中文石油化工FF现场.DOC
- 工程数学-中兴大学机械系.DOC
- 工程数学习题册.DOC
- 工程数学概率论教学大纲.DOC
- 工程机械液压测试系统的研发与应用-福州大学学报.PDF
- 工程机械运用与维护专业人才培养方案-四川交通职业技术学院.PDF
- 工程机械液压系统维修课程整体设计-四川交通职业技术学院.PDF
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
最近下载
- 广州市教育局直属事业单位招聘教师笔试真题2024.docx VIP
- 2024人教版一年级数学下册 第三单元《100以内数的认识》教案.pdf VIP
- 新能源汽车检测与维修初级工理论知识考试题库.docx VIP
- 淋病培训课件.ppt VIP
- (核心素养目标)2.1 认识自己导学案(含解析)七年级道德与法治上册(统编版2024).docx VIP
- 华电集团机械类笔试题目及答案.doc VIP
- 2026年党支部在学习贯彻党的创新理论、加强党性锤炼等“对照五个方面”存在的问题及整改措施与党支部班子在对照执行上级组织决定、抓好自身建设等“六个对照方面”检查材料【2篇文】.docx VIP
- 2023-2024学年南京市第一中学英语高三上期末统考试题含解析.pdf VIP
- 《NFC技术概述》课件.ppt VIP
- 迷宫中级难度80个.pdf VIP
原创力文档

文档评论(0)