永发信息网

用c语言判定两个圆是否相交,

答案:5  悬赏:10  手机版
解决时间 2021-02-22 06:44
  • 提问者网友:动次大次蹦擦擦
  • 2021-02-21 19:27
用c语言判定两个圆是否相交,
最佳答案
  • 五星知识达人网友:不想翻身的咸鱼
  • 2021-02-21 20:11
判断圆心距离和半径的和 差之间的关系就行了;
bool xiangjiao(int x1,int y1,int r1,int x2,int y2,int r2)
{
doule s;
s = sqrt(double((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)));
if(int(s)abs(r2-r1))
return true;
else
return false;
}
这是一个方法,写代码时候调用该方法就可以了。
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-02-22 01:32
if ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) < (r1-r2)*(r1-r2) )
return false;
else
return
true;
  • 2楼网友:低音帝王
  • 2021-02-22 00:06
不会
  • 3楼网友:青尢
  • 2021-02-21 22:44
bool xiangjiao(int x1,int y1,int r1,int x2,int y2,int r2)
{
if ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) > (r1+r2)*(r1+r2) ) //两圆心距离大于两半径和则没有相交,这里两边同时平方,免除精度问题
return false;
else
return true;
}
  • 4楼网友:杯酒困英雄
  • 2021-02-21 21:05
判断圆心距离和半径的和 差之间的关系就行了;
代码帮你写了:
--------------------------------------------------------------
bool xiangjiao(int x1,int y1,int r1,int x2,int y2,int r2)
{
doule s;
s = sqrt(double((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)));
if(int(s)abs(r2-r1))
return true;
else
return false;
}
注意要#include头文件;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯