求多边形重心(计算几何)

多边形(均匀)求重心,把多边形分割成多个三角形,计算各个三角形的 面积 和 重心,因为是均匀的,所以面积比例可以代替质量比例,根据这个比例以及所有三角形的重心求出多边形的重心。

 

最裸的版本:

按时针顺序给出所有点,没有相交的边(也没有重合的边),也没有两点以上的点共线,直接算就好。

 

例如:POJ 1385 Lifting the Stone

 

加强一点的版本:

按顺序给出所有点,但不保证时针顺序,要求第 i 个点到第 i+1 个点连边,最后一个点和第一个点连边。这些边保证不相交,但是可以重合;而且存在多个点共线的情况。这个就有点麻烦了,因为处理出来的值有可能是负值,需要判断。

 

例如:nyist  题目3  多边形重心问题

 

这个开始想当然的就交了,没考虑那么多情况,果断WA。后来改过后A了,一看人家给的标程,就直接被秒杀了,我又想的太多了……

 

orz……

你可能感兴趣的:(求多边形重心(计算几何))