IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]intersection of circle and sector

    kun1234567发表于 2015-05-29 03:01:47
    love 0


    /* 圆和扇形区域求交:;
    *
    * 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在胶囊内即可;

    */





沪ICP备19023445号-2号
友情链接