任意不自相交的凹多边形实现三角剖分

输入:凹多边形的顶点序列p1、p2、、、、pn;
输出:剖分形成的三角集合
剖分方法:
        1) 从顶点p1开始,判断连续的三点p1p2p3组成的三角形是否为逆时针,若是则将三角型p1p2p3添加到三角型集合中,在顶点序列链表中去掉顶点p2,然后判断连续的三点p1p3p4是否构成逆时针三角形;若p1p2p3组成三角形为顺时针,则从p2点开始重复步骤1)继续处理顶点序列,相邻三点组成逆时针三角形,则从顶点序列中去掉中间点,并将该三角形添加到三角形集合中。
 注:判断三角形ABC是否为逆时针,只需判定向量AC角度是否大于向量AB 或根据三角形面积是否为正判断。三角形面积为正,三角形为逆时针,否则为顺时针。
计算三角形面积公式:s = 0.5 *   | x1  y1  1  |

                                              | x2  y2  1  |

                                              | x3  y3  1  |

A(x1,y1) B(x2,y2) C(x3,y3) 

 

文章出处:http://www.cppblog.com/birdofwonder/archive/2009/05/18/83319.html

 

该方法不全面,还须判断三角形p1p2p3内是否有其它顶点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值