/* 圆和扇形区域求交:;
*
* 1、 receiver.pos in Area1[Cir(r1+r2) ∩ Sector(angle)];
* 或者;
* 2、;
* a, b, c 为原点, r = receiver.radius 的圆 Cir(a) Cir(b) Cir(c);
* d,e 为一边长度为 r1+r2的矩形 Rect(d) Rect(e);
* 其中Line(ac)的长度为 r1+r2;
a b
\ /
\ \ / /
\ d\ /e /
\ \/ /
c
*
* receiver.pos in Area2[ Cir(a) ∪ Cir(b) ∪ Cir(c) ∪ Rect(d) ∪ Rect(e) ];
*
* 在实际计算的时候,可以将 receiver.pos 往中间旋转, 这样 Area2 会合并成一个;
* p0 = caster.pos , p1 = p0 + caster.dirH * r1+r2, radius = r2;
* 胶囊形状;
* 只需要计算recevier在胶囊内即可;
*/