主题:[讨论]如何将一个凸多边形分割成多个三角形?
ustc_dylan
[专家分:0] 发布于 2010-08-16 22:52:00
如何将一个凸多边形分割成多个三角形?
程序的输入是多边形的顶点
程序输出分割后的三角形,三个顶点来描述三角形(只要找出一种分割方案即可)。
希望高手能给个算法或给个思想,不胜感激!
回复列表 (共2个回复)
沙发
eastcowboy [专家分:25370] 发布于 2010-08-17 02:32:00
假设一共有n个顶点。
先任取一个顶点,把其它n-1个顶点与它相连,得到n-1个向量。
计算这n-1个向量到x轴正方向的夹角(注意正负号),并根据夹角的大小进行排序。
设最初选取的点为v(0),排序后的点为v(1), v(2), v(3), ..., v(n-1)
则按照如下方法就可以快速的分割出所需要的三角形:
v(0), v(1), v(2)
v(0), v(2), v(3)
v(0), v(3), v(4)
...
v(0), v(n-2), v(n-1)
总共n-2个三角形。时间复杂度为O(n*log(n)),性能瓶颈在于排序。
板凳
moke9 [专家分:30] 发布于 2010-09-02 07:20:00
你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
我来回复