题目链接
http://acm.nyist.net/JudgeOnline/problem.php?pid=3
在网上找了几篇文章参考
1、任意多边形的面积计算
2、多边形的重心计算方法
【解决思路】
多边形面积的计算:
从上面文章中找到了办法,多边形的面积的求法就是分解成一个个的三角形,然后三个顶点构成两个向量,利用向量的外积可以求得三角形面积。然后各个累加起来。
这个办法在数学中可能计算比较麻烦,但是在编程中比较好用,一个循环就解决了。
还有一个好处就是,向量的外积有正有负,正负正好对应了应该加上的三角形面积和应该减去的三角形面积。
例: 三角形 ABC,
A(0,0) , B(3,4) , C(6,0)
以A作为顶点,构建向量 AB 为(3,4) , AC为*(6,0)
公式:
area = x1 * y2 - x2 * y1 ;
area = fabs