C++ 判断两个圆是否有交集
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <math.h>
#include <easyx.h>
#include <graphics.h>
typedef struct T_circle
{
int x; //x轴坐标
int y;//Y轴坐标
int r; //圆的半径
}yuan;
void panduan(yuan test1, yuan test2)
{
double d;//定义(圆心的距离)
d = sqrt((test1.x - test2.x)*(test1.x - test2.x) + (test1.y - test2.y)*(test1.y - test2.y));
if (d > test1.r + test2.r)
{
printf("没有交集\n");
}
else if (d <= test1.r + test2.r)
{
printf("相切/交\n");
}
}
void draw(yuan test1,yuan test2)
{
initgraph(, ,SHOWCONSOLE);
BeginBatchDraw();
cleardevice();
setlinecolor(RED);
circle(test1.x, test1.y, test1.r);
circle(test2.x, test2.y, test2.r);
EndBatchDraw();
system("pause");
closegraph();
}
//首先要求出两个圆心的距离,公式为:d=√[(x2-x1)²+(y2-y1)²] 这里要用到math.h头文件sqrt
int main()
{
yuan circle1 = { ,, }; //定义一个圆
yuan circle2 = { ,, }; //定义一个圆
panduan(circle1, circle2);
draw(circle1, circle2);
return ;
}

C++ 判断两个圆是否有交集的更多相关文章
- 实验12:Problem D: 判断两个圆之间的关系
Home Web Board ProblemSet Standing Status Statistics Problem D: 判断两个圆之间的关系 Problem D: 判断两个圆之间的关系 T ...
- mysql判断两个时间段是否有交集
//判断两个时间段是否有交集 private function checkTimeCross($start_time,$end_time){ $sql ) AND ((start_time > ...
- js判断两个时间段是否有交集
//判断两个时间是否有交集 function isDateIntersection(start1, end1, start2, end2) { var startdate1 = new Date(st ...
- java 判断两个时间段是否有交集
/* 开始时间 */ Date leftStartDate = feesPreferential.getPreferentialStartTime(); /* 结束时间 */ Date leftEnd ...
- java 判断两个时间段是不是有交集
如上图:X Y Z 分别为传来的开始时间可能位于数据库中时间段的位置. X有三种可能 即传来的开始时间为与数据可中某条数据的开始位置! 这样他的结束时间就有三种可能 1.位于 ...
- sql语句判断两个时间段是否有交集
场景: 数据库有有两个字段.开始时间<startTime>,和结束时间<endTime>,指定一个时间段(a,b),a表示开始时间,b表示结束时间.看数据库中有没有与(a,b ...
- c# 判断两个集合是否有交集
/// <summary> /// 判断是否有交集 /// </summary> /// <typeparam name="T"></ty ...
- sql 判断两个时间段是否有交集
本文转自CSDN 链接地址:http://blog.csdn.net/dasihg/article/details/8450195 时间段:starttime_1到endtime_1,starttim ...
- php 判断两个时间段是否有交集
一开始,没啥思路,全靠百度,记录一下哈 public function demo(){ //例子 $astart = strtotime("1995-06-16 12:00:00" ...
随机推荐
- 【Java集合】试读LinkedList源码
LinkedList的本质是双向链表.(01) LinkedList继承于AbstractSequentialList,并且实现了Dequeue接口. (02) LinkedList包含两个重要的成员 ...
- navisworks安装未完成,某些产品无法安装的解决方法
navisworks提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装navisworks失败提示navisworks安装未完成,某些产品无法安装,也有时候想重 ...
- python自动化测试之函数(匿名函数lambda和三目运算等(高级用法))
''' 匿名函数: lambda ''' def Add(a,b): print(a+b) Add(2,3) per = lambda a,b:a+b print(per(2,3)) ''' 三目运算 ...
- 吴裕雄--天生自然HTML学习笔记:HTML 表格
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js 实现排序算法 -- 快速排序(Quick Sort)
原文: 十大经典排序算法(动图演示) 快速排序 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整 ...
- 吴裕雄--天生自然 R语言开发学习:方差分析(续一)
#-------------------------------------------------------------------# # R in Action (2nd ed): Chapte ...
- JAVAscript的DOM操作及实例
一.Windows对象操作 (1)用代码打开窗口:window.open("第一部分","第二部分","第三部分","第四部分&q ...
- 微软Project Oxford帮助开发人员创建更智能的应用
Oxford帮助开发人员创建更智能的应用" title="微软Project Oxford帮助开发人员创建更智能的应用"> 假设你是一名对关于健身的应用充满奇思妙想 ...
- Docker快速安装kafka
Docker快速安装kafka | 沈健的技术博客 盒子 盒子 博客 分类 标签 友链 搜索 文章目录 同样基于docker-compose安装,Docker快速部署nginx中有讲到,不在重述 1. ...
- mysql5.6和5.7的权限密码设置
mysql5.6grant all privileges on *.* to root@'%' identified by "mysql_pwd" with grant optio ...