给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交。相交输出"Yes",否则输出"No"。(三角形的面积大于0)。

Input
第1行:一个数T,表示输入的测试数量(1 <= T <= 10000),之后每4行用来描述一组测试数据。
4-1:三个数,前两个数为圆心的坐标xc, yc,第3个数为圆的半径R。(-3000 <= xc, yc <= 3000, 1 <= R <= 3000)
4-2:2个数,三角形第1个点的坐标。
4-3:2个数,三角形第2个点的坐标。
4-4:2个数,三角形第3个点的坐标。(-3000 <= xi, yi <= 3000)
Output
共T行,对于每组输入数据,相交输出"Yes",否则输出"No"。
Input示例
2
0 0 10
10 0
15 0
15 5
0 0 10
0 0
5 0
5 5
Output示例
Yes

No

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;
#define eps 1e-8struct point
{double x,y;
};double dis(point p1,point p2)///两点距离
{return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}double cross(point p1,point p2,point p3)///叉乘
{return (p2.x-p1.x)*(p3.y-p1.y)-(p3.x-p1.x)*(p2.y-p1.y);
}double distoline(point p,point l1,point l2)///点到直线的距离
{return fabs(cross(p,l1,l2)/dis(l1,l2));
}int isIntersect(point c,double r,point l1,point l2)
{double t1=dis(c,l1)-r, t2=dis(c,l2)-r;point t=c;if(t1<eps || t2<eps)return t1>-eps || t2>-eps;t.x+=l1.y-l2.y;t.y+=l2.x-l1.x;return cross(l1,c,t)*cross(l2,c,t)<eps && distoline(c,l1,l2)-r<eps;
}point p[3],cir;
double R;int main()
{int t;scanf("%d",&t);while(t--){scanf("%lf%lf%lf",&cir.x,&cir.y,&R);for(int i=0; i<3; i++)scanf("%lf%lf",&p[i].x,&p[i].y);int flag=0;for(int i=0; i<3; i++)if(isIntersect(cir,R,p[i%3],p[(i+1)%3])){flag=1;break;}if(flag)printf("Yes\n");elseprintf("No\n");}return 0;
}

圆与三角形(圆与三角形是否相交)相关推荐

  1. 直线和圆交点 halcon_初中数学三角形、四边形、圆辅助线的添加方法

    今天,小编为大家整理了初中数学三角形.四边形.圆的辅助线添加方法,速来看!! 1三角形中常见辅助线的添加 与角平分线有关的 (1)可向两边作垂线: (2)可作平行线,构造等腰三角形: (3)在角的两边 ...

  2. Java绘制图形(正方形/三角形/圆/网以及填充颜色)

    Java绘制图形(正方形/三角形/圆/网以及填充颜色) 首先用EasyGraphics确定图片大小 然后用setcolor来设置图象主题颜色 也可以给特定大的点设置颜色 例如: g.setColor( ...

  3. IOS开发—IOS绘制圆,直线,弧线,矩形,扇形,三角形,贝塞尔等图形

    一.绘制圆,直线,弧线,矩形,扇形,三角形,贝塞尔等图形 //一个不透明类型的Quartz 2D绘画环境,相当于一个画布,你可以在上面任意绘画CGContextRef context = UIGrap ...

  4. matlab计算圆重叠面积,matlab求n个相交圆的面积

    目标:在限定区域求n=20个圆的覆盖面积 圆心随机抛洒,存在两方面的问题:1)圆心所在的覆盖圆盘处于边界区域,覆盖范围越界 2)圆与圆之间相交,存在覆盖面积的重复 必须减去这2部分的越界和重复面积. ...

  5. 上面两点下面一个三角形_解三角形的新视野——定角对定边~

    大家好,我是槿灵兮~ 话说前段时间在学校时,有两位同学分别问了我两个解三角形的题,之后我给出解答,发现与参考答案的思路截然不同,之后发觉貌似很多人都不知道这个东东,因此写这篇文章以记之~ 原文来源于& ...

  6. css3画一个三角形,css3 画三角形

    /*箭头向上*/ .arrow-up { width:0; height:0; border-left:20px solid transparent; border-right:20px solid ...

  7. c语言求解三角形的重心,三角形的重心怎么求

    三角形重心是三角形三边中线的交点. 根据重心的性质,三边中线必交于一点. 所以作三角形任意两边的中线,其交点就是此三角形的重心. 1.重心到顶点的距离与重心到对边中点的距离之比为2:1. 证明一 三角 ...

  8. R语言使用upper.tri函数、lower.tri函数、diag函数改变matrix矩阵上三角形、下三角形、对角线的数值

    R语言使用upper.tri函数.lower.tri函数.diag函数改变matrix矩阵上三角形.下三角形.对角线的数值 目录

  9. 【OpenGL】十三、OpenGL 绘制三角形 ( 绘制单个三角形 | 三角形绘制顺序 | 绘制多个三角形 )

    文章目录 一.绘制三角形 二.三角形绘制顺序 1.绘制正面 2.三个点逆时针方向排列 3.三个点顺时针方向排列 4.设置点的正面方向 三.绘制多个三角形 四.相关资源 一.绘制三角形 三角形绘制即绘制 ...

  10. java 坦克重叠_【Java】我所知道坦克大战(单机版)之画出坦克的实心圆、让圆动起来、双缓冲解决闪烁问题...

    28640发布于 今天 02:47 本篇文章目的 画出坦克的实心圆 让坦克圆动起来 双缓冲解决闪烁问题 一.画出代表坦克的实心圆 我们需要画出一个圆,那么可以使用fillOval方法 fillOval ...

最新文章

  1. css3中实现摘取金币_用css3实现抽奖转盘里的扇形图
  2. Interview:算法岗位面试—10.12上午—上海某科技公司图像算法岗位(偏图像算法,互联网AI行业)技术面试考点之LoR逻辑回归的底层代码实现、特征图计算公式
  3. 过采样中用到的SMOTE算法
  4. 其利断金前一句是什么_绍兴晚报丨裘亚黎说|围城外的灵魂拷问:人为什么要结婚?...
  5. “优秀IT工程师”是什么样的?
  6. python 读取excel表格_python 对Excel表格的读取
  7. 百度十亿级流量的搜索前端,是怎么做架构升级的?
  8. 【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件
  9. MySQL5.6基于GTID同步复制,与如何实现MySQL负载均衡、读写分离。
  10. wifinative.java_Android 中的WiFi剖析
  11. 公用Laravel 5框架与公用库架构
  12. python处理excel函数库_Python 操作 Excel 的函数库
  13. 深度学习中的优化算法如何理解--SGD
  14. 解构网约车界“拼多多”:花小猪背后的商业逻辑和价值空间
  15. 2020最新as项目中添加jni---------静态注册
  16. 网易2019实习生招聘-数对
  17. 网站被cc攻击,怎么防止网站被cc
  18. 什么是稀疏向量(向量的稀疏表示)
  19. 基于OpenCV的实时车道线分割&车道保持系统(源码&教程)
  20. hp服务器 固件更新网站,hp服务器固件升级

热门文章

  1. avi格式转换器官方下载
  2. Flajolet-Martin算法及其应用
  3. 铁路现代化技术系统整理(四)之车号识别系统
  4. python 使用 httpx 发送http2.0 请求
  5. C#之使用HttpClient的优解
  6. LEADTOOLS 22 套件 LEADTOOLS 超级套
  7. 【知乎】数学类好书推荐
  8. python爬虫教程书籍-python爬虫有哪些书(python爬虫教程知乎)
  9. 企业流程运行现状评估的5个维度
  10. OA系统通知管理设计