简单多边形的三角剖分(并附带python实现代码)

本文介绍了简单多边形的概念及其三角剖分,讨论了多边形的分类和凸凹顶点的判定,提出了可划分顶点的计算机判定方法,并给出了Python代码实现多边形的三角剖分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单多边形的三角剖分

1 折线、闭折线、简单闭折线、简单多边形

折线:将平面上一些点的序列连接起来,可以得到一条折线。

如:有点列 A 1 , A 2 , . . . , A n A_1,A_2,...,A_n A1,A2,...,An,则将其顺次连接,得到的一条折线。

点列中的点,称为折线的控制点

闭折线:如果一条折线的起点和终点相同,则称该折线为闭折线。以连续两控制点为端点的线段,称为折线的。有一个共同端点的边称为相邻边

如:顺次连接点列 A 1 , A 2 , . . . , A n , A 1 A_1,A_2,...,A_n,A_1 A1,A2,...,An,A1,得到的一条闭折线。

简单闭折线:一条闭折线,如果其控制点和边满足如下四点,则该闭折线称为简单闭折线。

1、闭折线包含至少三个不同的控制点
2、控制点两两不同
3、连续的三个控制点不共线
4、不相邻的两条边,不相交

简单闭折线的控制点,也称为其顶点

简单多边形:由简单闭折线围成的图形称为简单多边形。简单多边形按照边的数目,给其命名为简单n边形
简单多边形,是单连通的

下列图形都是简单多边形:
图一

图一

说明:若无特殊交待,下述多边形均指简单多边形

2 多边形的三角剖分

多边形的三角剖分:一个多边形,如果可以表示为一些内部两两不交的三角形的并,并且这些三角形满足如下条件

1、三角形的顶点,是多边形的顶点
2、若两三角形相交,则其要么交于一点,要么交于一边(即恰有一条公共边)。

则称这样的三角形划分方法为该多边形的一个三角剖分

例如
在这里插入图片描述

图二

多边形的分类:多边形可以分为凸多边形凹多边形。若连接多边形内任意两点的线段也在多边形内,就称这样的多边形为凸多边形;不是凸多边形的多边形称为凹多边形

剩余图形:超过三个点的多边形,可以擦去一个点,形成一个新的多边形。比如,多边形 A B C D A ABCDA ABCDA,擦去 B B B点,形成新的图形 A C D A ACDA ACDA,擦去 A A A点则形成新图形 B C D B BCDB BCDB。如果记原图形 A B C D A ABCDA ABCDA G \mathbf{G} G,则擦去一点 B B B后的图形记为 G B \mathbf{G_B} GB

在这里插入图片描述

图三

拆出三角形:擦去的一个点,必然能和其相邻的两个点构成一个三角形,这个三角形称为该擦去点的拆出三角形。上图中的 Δ A B C \Delta ABC ΔABC就是 B B B点的拆出三角形。

凸顶点、凹顶点:多边形 G \mathbf{G} G的一个顶点 V V V,如果不包含在擦除该顶点后的剩余图形中,即 V ∉ G V V\notin\mathbf{G_V} V/GV,则称 V V V G \mathbf{G} G的一个凸顶点;否则称为凹顶点

命题1:若一个多边形的每个顶点都是凸顶点,则该多边形为凸多边形。
三角形是最简单的凸多边形

命题2:一个凹多边形,至少有一个凹顶点,至少有三个凸顶点。

命题3:一个凸 n n n边形( n > 3 n>3 n>3),擦去一个点后的得到的剩余图形,为凸 n − 1 n-1

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值