题目链接

判断圆和三角形是否相交   可以转化为   判断三条线段是否和圆相交

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cstdlib>
  5. #include<cmath>
  6. #include<algorithm>
  7. using namespace std;
  8. typedef long long LL;
  9.  
  10. ;
  11.  
  12. struct point
  13. {
  14. double x,y;
  15. point operator -(const point& rhs)
  16. {
  17. point ret;
  18. ret.x=x-rhs.x;ret.y=y-rhs.y;
  19. return ret;
  20. }
  21. double operator *(const point& rhs)//“叉乘”
  22. {
  23. return x*rhs.y-y*rhs.x;
  24. }
  25. double operator ^(const point& rhs)//“点乘”
  26. {
  27. return x*rhs.x+y*rhs.y;
  28. }
  29. }a[],o;
  30. double r;
  31.  
  32. double dist(point a,point b) //求点a,b的距离
  33. {
  34. double x=a.x-b.x,y=a.y-b.y;
  35. return sqrt(x*x+y*y);
  36. }
  37. bool seg_cir(point a,point b) //判断线段ab是否与圆o相交
  38. {
  39. if(dist(a,o)<r-eps&&dist(b,o)<r-eps)
  40. return false;
  41. else if((r-dist(a,o))*(r-dist(b,o))<=eps)
  42. return true;
  43. else
  44. {
  45. ||((a-b)^(o-b))<)
  46. return false;
  47. double h=(a-o)*(b-o)/dist(a,b);
  48. h=fabs(h);
  49. // printf("%lf %lf\n",(b-a)*(o-a),(a-b)*(o-b));
  50. // cout<<h<<"=========\n";
  51. return h<r+eps;
  52. }
  53. }
  54. bool ok()
  55. {
  56. ;i<;i++)
  57. )%]))
  58. return true;
  59. return false;
  60. }
  61.  
  62. int main()
  63. {
  64. int T;cin>>T;
  65. while(T--)
  66. {
  67. cin>>o.x>>o.y>>r;
  68. ;i<;i++)
  69. cin>>a[i].x>>a[i].y;
  70. if(ok()) puts("Yes");
  71. else puts("NO");
  72. }
  73. }

51nod_1298:圆与三角形(计算几何)的更多相关文章

  1. 51Nod 1298 圆与三角形(计算几何)

    1298 圆与三角形  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes&quo ...

  2. 51nod 1298 圆与三角形——计算几何

    题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1298 转化成判断三条线段和圆是否

  3. 51nod 1298 圆与三角形 (计算几何)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298 求出圆心到三条线段的最短距离,然后判断是否有顶点在圆外,就把全部情 ...

  4. 51nod-1298 圆与三角形(计算几何超详解)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298 给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是 ...

  5. 51nod 1298:圆与三角形(计算几何)

    题目链接 判断圆和三角形是否相交   可以转化为   判断三条线段是否和圆相交 #include<iostream> #include<cstdio> #include< ...

  6. (点到线段的最短距离)51nod1298 圆与三角形

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

  7. 51nod1298圆与三角形——(二分法)

    1298 圆与三角形  题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出圆的圆心和半径,以及三角形的三个顶点,问圆同 ...

  8. 51nod 1298 圆与三角形

    给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0).       输入 第1行:一个数 ...

  9. 牛客网 牛客小白月赛1 E.圆与三角形-公式题

    E.圆与三角形   链接:https://www.nowcoder.com/acm/contest/85/E来源:牛客网     这个题把公式推一下, 发现就是1+sinA*r,sinA最大为1,所以 ...

随机推荐

  1. Java阶段性测试--第二三大题参考代码

    第二大题: 1.打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于它本身 package Test1; //1.打印出所有的 ...

  2. 使用Mingw编译wxSqlite3-3.0.5

    最近在学习wxWidgets,而且官方也出了3.0版本,貌似还不错的样子,准备做个小程序来练手.中间需要用到数据库看到很多人推荐wxSqlite3就去下来看看,以下是我使用TDM-GCC 4.8.1( ...

  3. 【FPGA】高斯白噪声的Verilog实现

    本文章主要讨论高斯白噪声的FPGA实现.简单的方法可以采用在Matlab中产生服从一定均值和方差的I.Q两路噪声信号.然后将两组数据存在FPGA中进行回放,以此来产生高斯白噪声.这种方法优点是产生方法 ...

  4. Myeclipse8.6注册机代码,不用到处找注册机了

    import java.io.*; public class MyEclipseGen { private static final String LL = "Decompiling thi ...

  5. Netty方法误解ChannelHandlerContext.writeAndFlush(Object msg)

    乍一看这个方法,以为什么消息都能输出,因为参数是Object类型的,但实际上,netty内部只支持两种类型,如图

  6. An internal error occurred during: "Launching New_configuration"

    问题: 点击运行时eclipse报错如下: An internal error occurred during: "Launching New_configuration". Pa ...

  7. 转 使用HAProxy,PHPRedis,和MySQL支撑10亿请求每周架构细节

    [编者按]在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求.Octivi联合创始人兼软件架构师Antoni Orfin将向你介绍一个非常简单的架 ...

  8. Python Trick

    一. 查询函数参数 import inspect print(inspect.getargspec(func)) 二. 查询对象属性 使用 dir() 查询对象属性 使用内置函数 hasattr(ob ...

  9. 移动端响应式布局+rem+calc()

    1.媒体查询:@media only screen and (max-width: ) {},在最初做pc端时,使用各种媒体查询,因为pc的屏幕分辨率总共就几种,不嫌麻烦的重复使用类名.有很大的缺陷就 ...

  10. oracle创建数据库到2%不动问题