两圆的关系

  
//两圆关系:   
/* 两圆:  
相离: return 1;  
外切: return 2;  
相交: return 3;  
内切: return 4;  
内含: return 5;  
*/   
int CircleRelation(POINT p1, double r1, POINT p2, double r2)   
{   
    double d = sqrt( (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y) );   
  
    if( fabs(d-r1-r2) < EP ) // 必须保证前两个if先被判定!   
        return 2;   
    if( fabs(d-fabs(r1-r2)) < EP )   
        return 4;   
    if( d > r1+r2 )   
        return 1;   
    if( d < fabs(r1-r2) )   
        return 5;   
    if( fabs(r1-r2) < d && d < r1+r2 )   
        return 3;   
    return 0; // indicate an error!   
}  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值