题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=3
题目分析:好吧,这个题目基本上话了我一个小时去回顾以前学过的几何知识。下面我们来一点一点的分析。
1)重心就是重量的中心。其定义就是对整个图形分别从x方向和y方向进行密度积分,然后除以总面积,就得到了重心的x坐标和y坐标。这里由于图形每一点都是一样的,也就说说密度平均。好吧,说到积分,很多人就头疼了,好吧,我也烦这个。OK,换一个说法。多边形一定可以分成若干个不相交的三角形吧。其实通过重心和多边形的每一个点相连,就得到了我们要的三角形了。
2)把每一个三角形看成一个质心,那么我们刚刚所说的对密度进行积分其实分两个,x方向和y方向。那么x方向的积分就变成了对所有的三角形把 三角形的面积*该三角形重心的x坐标 的积加起来,同理y方向的积分就变成了对所有三角形把 三角形的面积*该三角形重心的y坐标 的积加起来。
3)每个三角形的面积怎么求?
其实在高中的时候我们就知道,已知三角形的两个边a,b。s=a*b*sin(ab所夹的角)。当然大学肯定学过叉乘。a×b=|a|*|b|*sin(ab所夹的角)。这里需要注意叉乘是有方向的,所以这个角必须是从a到b并且符合右手定律的那个角。
4)三角形的重心怎么求?
这个很简单啦!三个点的坐标的平均就可以了。公式不用我说了吧。