计算几何之圆与多边形面积交
算法思路
考虑到求多边形面积的算法中就是把多边形进行三角剖分并且将三角形的有向面积相加。
所以,我们求圆与多边形的面积的时候也是需要以圆心为中心进行对于多边形进行三角剖分。
情况分类
三角形的两个边短于圆半径
情况如上图。那么此时我们只需要求三角形的有向面积即可。
三角形的一边短于圆半径,一边长于圆半径
此时,我们需要求出三角形与圆的两个端点,并且将该三角形与圆的面积交的部分剖分成一个扇形和一个三角形。
三角形两边都长于圆半径
此时分为两种情况:
-
此时很好求,即求出三角形与圆的交点并且求出扇形面积即可 -
也是求交点并且求扇形面积。 -
注意这种情况(有点难想)。此时需要将面积交部分分成三部分。两个扇形和一个三角形。
注意
因为我们求的是三角形与圆相交的有向面积之和。因此,求扇形面积的时候,需要根据三角形两边叉积的正负来判断扇形面积的正负。