﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天空留不下飞鸟的痕迹，但我已飞过-随笔分类-图形学简单算法</title><link>http://www.cppblog.com/birdofwonder/category/15552.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 01 Dec 2010 13:31:04 GMT</lastBuildDate><pubDate>Wed, 01 Dec 2010 13:31:04 GMT</pubDate><ttl>60</ttl><item><title>1 任意不自相交的凹多边形实现三角剖分</title><link>http://www.cppblog.com/birdofwonder/archive/2009/05/18/83319.html</link><dc:creator>BirdOfWonder</dc:creator><author>BirdOfWonder</author><pubDate>Mon, 18 May 2009 14:31:00 GMT</pubDate><guid>http://www.cppblog.com/birdofwonder/archive/2009/05/18/83319.html</guid><wfw:comment>http://www.cppblog.com/birdofwonder/comments/83319.html</wfw:comment><comments>http://www.cppblog.com/birdofwonder/archive/2009/05/18/83319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/birdofwonder/comments/commentRss/83319.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/birdofwonder/services/trackbacks/83319.html</trackback:ping><description><![CDATA[<p>输入：凹多边形的顶点序列p1、p2、、、、pn；<br>输出：剖分形成的三角集合<br>剖分方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) 从顶点p1开始，判断连续的三点p1p2p3组成的三角形是否为逆时针，若是则将三角型p1p2p3添加到三角型集合中，在顶点序列链表中去掉顶点p2，然后判断连续的三点p1p3p4是否构成逆时针三角形；若p1p2p3组成三角形为顺时针，则从p2点开始重复步骤1）继续处理顶点序列，相邻三点组成逆时针三角形，则从顶点序列中去掉中间点，并将该三角形添加到三角形集合中。<br>&nbsp;注：判断三角形ABC是否为逆时针，只需判定向量AC角度是否大于向量AB 或根据三角形面积是否为正判断。三角形面积为正，三角形为逆时针，否则为顺时针。<br>计算三角形面积公式：s = 0.5*&nbsp;&nbsp; | x1&nbsp; y1&nbsp; 1&nbsp; |</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|x2&nbsp; y2&nbsp; 1&nbsp; |</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|x3&nbsp; y3&nbsp; 1&nbsp; |</p>
<p>A(x1,y1) B(x2,y2) C(x3,y3)&nbsp; </p>
<img src ="http://www.cppblog.com/birdofwonder/aggbug/83319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/birdofwonder/" target="_blank">BirdOfWonder</a> 2009-05-18 22:31 <a href="http://www.cppblog.com/birdofwonder/archive/2009/05/18/83319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>