matlab 多边形骨架线,简单多边形的直线骨架生成

1.问题介绍

简单多边形的直线骨架是一种通过多边形的拓扑骨架估计来表示多边形形状的方法。它使得对区域形状的分析从二维的平面区域转换到一维空间的直线图,在形状分割等问题上降低了分析难度。

直线骨架是通过对简单多边形的各边以一定的相同的速率平行向内运动得到的。在简单多边形的边向内运动的同时,多边形的顶点也相应的以一定速率向内移动,并且顶点移动的速率由该顶点所在的两条边的夹角决定。当这些移动的顶点与一条非该顶点的相邻边相交时,简单多边形被分成了两个相互独立的简单过变形,在每个多边形中继续该过程。简单多边形的骨架是该多边形各顶点移动过程中的轨迹的形成直线。

简单多边形的直线骨架模型的应用比较广泛:比如由多边形的地面墙(ground wall)构建多边形的屋檐(roof),通过河流地图重建地理地形图,定义一种折纸的模式使得所有的边重合,在图像处理中对图像的形状匹配,平面运动的规划,以及三维模型的构造等等。

2.算法简介

见参考文献

3.程序的使用方法

程序演示链接:

http://learn.tsinghua.edu.cn:8080/2008310432/program/StraightSkeleton.html

鼠标左键点击输入各多边形的顶点位置,点击鼠标右键表示输入完毕。该程序支持多边形含有一个洞的情况,此时可以看作由两个无洞的简单多边形组成的,分别输入这两个无洞的简单多边形。

按钮:

Clear: 清空前一次输入和运行结果。

Run:输入完毕后运行算法直至结束

Stop:中止算法运行

Step:分布运行

4.参考文献

[1] Oswin Aichholzer, Franz Aurenhammer, David Alberts, and Bernd Gärtner, "A Novel Type of Skeleton for Polygons", Journal of Universal Computer Science 1(12), pp. 752-761, 1995.

[2] Oswin Aichholzer and Franz Aurenhammer, "Straight Skeletons for General Polygonal Figures in the Plane", Proc. 2nd Ann. Int. Conf. Computing and Combinatorics (COCOON '96), Lecture Notes in Computer Science 1090, Springer, pp. 117-126, 1996.

[3] Petr Felkel and Stepan Obdrzalek, “Straight skeleton implementation”, Proceedings of Spring Conference on Computer Graphics, Budmerice, Slovakia. ISBN 80-223-0837-4. Pages 210-218

[4] 简单多边形方向识别的健壮算法《计算机辅助设计与图形学学报》; 2005年03期

[5] 确定两个任意简单多边形空间关系的算法《算法计算机工程与应用》2003年01期

5.联系方式

如有任何问题请联系:wang-n04@mails.tsinghua.edu.cn

s-wang04@mails.tsinghua.edu.cn

dgq08@mails.tsinghua.edu.cn

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值