水题?好像是的。(可惜我不会,默默捂脸= ̄ω ̄=
首先明确一点。两个圆相交,圆上的弧一定是从du-ang到du+ang的,不管是优弧还是劣弧。(du代表两圆心连线的atan2值,ang就是用余弦定理算出来的那个角)
然后就爽了。
把所有圆后面的圆扫一遍,看看有哪些焦点,用角度的形式记录下有哪些弧被覆盖,然后求并。
注意范围必须映射到一个长度为2π的区间内,否则求并的时候会出问题。