问题

给定三角形三点坐标(三点不会在同一直线)和一个点(x,y),要你判断点(x,y)
是否在三角形外接圆之外。
若在圆外,输出“Accepted”若在圆上或圆内,则输出“Rejected”;
Sample Input
3
-2 0 0 -2 2 0 2 -2
-2 0 0 -2 2 0 0 2
-2 0 0 -2 2 0 1 1
Sample Output
Accepted
Rejected
Rejected

模板

#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<algorithm>
#include<set>
#include<cmath>
#include<vector>
using namespace std;
typedef long long LL;
const double eps = 1e-8;typedef struct Point
{//平面点long double x,y;
}TPoint;
typedef struct TCircle
{//圆long double r;TPoint centre;
}TCircle;
typedef struct TTriangle
{//三角形三点TPoint t[3];
}TTriangle;
long double triArea(const TTriangle t)
{//已知三个顶点坐标,求三角形面积return fabs(t.t[0].x * t.t[1].y+ t.t[1].x * t.t[2].y+ t.t[2].x * t.t[0].y- t.t[1].x * t.t[0].y- t.t[2].x * t.t[1].y-t.t[0].x*t.t[2].y)/2;
}
long double dis(const TPoint p1,const TPoint p2)
{//计算平面两点距离return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
TCircle f(const TTriangle t)
{TCircle tmp;//三角形外接圆long double a,b,c,c1,c2;long double xa,ya,xb,yb,xc,yc;a=dis(t.t[0],t.t[1]);b=dis(t.t[1],t.t[2]);c=dis(t.t[2],t.t[0]);//printf("a=%lfb=%lf,c=%lf\n",a,b,c);/*正弦定理a/sinA=b/sinB=c/sinC=2R,R为三角形外接圆半径三角形面积S=absinC/2=ab(c/2R)/2=abc/4R;*/tmp.r=a*b*c/triArea(t)/4;xa=t.t[0].x;ya=t.t[0].y;xb=t.t[1].x;yb=t.t[1].y;xc=t.t[2].x;yc=t.t[2].y;c1=(xa*xa+ya*ya-xb*xb-yb*yb)/2;c2=(xa*xa+ya*ya-xc*xc-yc*yc)/2;//求外接圆圆心坐标//三角形外接圆是三条边上垂直平分线的交点tmp.centre.x=(c1*(ya-yc)-c2*(ya-yb))/((xa-xb)*(ya-yc)-(xa-xc)*(ya-yb));tmp.centre.y=(c1*(xa-xc)-c2*(xa-xb))/((ya-yb)*(xa-xc)-(ya-yc)*(xa-xb));return tmp;
}
int  main()
{int T;cin>>T;while(T--){TTriangle t;TPoint p;//scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&t.t[0].x,&t.t[0].y,&t.t[1].x,&t.t[1].y,&t.t[2].x,&t.t[2].y,&p.x,&p.y);cin>>t.t[0].x>>t.t[0].y>>t.t[1].x>>t.t[1].y>>t.t[2].x>>t.t[2].y>>p.x>>p.y;TCircle c=f(t);if(dis(p,c.centre)-c.r>eps){cout<<"Accepted"<<endl;}else cout<<"Rejected"<<endl;}return 0;
}

三角形的外接圆 - 计算几何相关推荐

  1. 计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439

    计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439 题意: 二 维 平 面 内 , 给 定 3 个 点 的 坐 标 , 二维平面内,给定3个点的坐标, ...

  2. hdu4720 三角形的外接圆

    题意:       给你四个点,问你第四个点是否在前三个点围成的三角形的外接圆上. 思路:       水题,就是练练用魔板罢了,当该三角形是锐角三角形的时候,圆心是任意两条边中垂线的交点,半径是圆心 ...

  3. python编程怎么画三角形的外接圆_用MATLAB画三角形外接圆

    用 MATLAB 画三角形的外接圆 clear all ;close all ; clc; %1. 画三角形 : 随机产生三个顶点坐标,将各顶点连接. a=[x1,y1;x2,y2;x3,y3] a= ...

  4. 使用GeoGebra绘制三角形的外接圆和内切圆

    我们知道三角形外接圆的圆心为中垂线的交点,三角形内切圆的圆心为角平分线的交点. 基于上述理论,下面我们分别画出三角形的外接圆和内切圆 一.画外接圆 1.画三角形 在GeoGebra中画三角形需要用到多 ...

  5. python如何画三角形的外接圆_用python画三角形外接圆和内切圆

    刚看了<最强大脑>中英对决,其中难度最大的项目需要选手先脑补泰森多边形,再找出完全相同的两个泰森多边形.在惊呆且感叹自身头脑愚笨的同时,不免手痒想要借助电脑弄个图出来看看,闲来无事吹吹NB ...

  6. python编程怎么画三角形的外接圆_python画出三角形外接圆和内切圆的方法

    摘要:这篇Python开发技术栏目下的"python画出三角形外接圆和内切圆的方法",介绍的技术点是"Python._和__.三角形.三角",希望对大家开发技术 ...

  7. 判断一点是否在三角形的外接圆内

    在平面上,如果已知 △P0P1P2 \triangle P_0 P_1 P_2的三个顶点坐标 P0(x0,y0), P1(x1,y1), P2(x2,y2) P_0(x_0, y_0),\space ...

  8. 求三角形的外接圆和内切圆

    三角形外接圆求法:: Point circumcircleofTriangle(PointSet[]) {double a,b,c,xa,xb,xc,ya,yb,yc,c1,c2;Point tem; ...

  9. 求三角形的外接圆圆心个半径

    做华南师范大学校赛初赛的一道计算几何题,无聊暴力推公式. #include<stdio.h> #include<string.h> #include<math.h> ...

最新文章

  1. 2017年深度学习重大研究进展全解读
  2. swagger2 集成无效_Springboot2 集成Swagger2,解决配置完成后不显示的坑
  3. 【Android 进程保活】应用进程拉活 ( 双进程守护 + JobScheduler 保活 | 成功率最高 | 推荐使用 )
  4. Linux内核中的platform机制
  5. OpenCV内置OpenCV的实例(附完整代码)
  6. 一些SAP S4CRM On-Premises开发的代码审查,2017-02-16
  7. (二)C语言数据类型(2)
  8. aswing学习笔记4-通过调用面板中的按钮实现主界面动态切换皮肤的问题!
  9. C++ 动态开辟二维数组的的方法
  10. 响应式下的雪碧图解决方案 - 活用background-size / background-position
  11. 曲线组合图 类型详情
  12. Android中Parcelable接口的实现方法
  13. 红帽学习笔记[RHCSA] 第三课[输出重定向、Vi编辑器]
  14. 关于systemtap的一些examples
  15. 关于51CTO民意调查之自主添加google广告代码的几点意见
  16. Zsh安装及常用操作
  17. MATLAB——DEMATEL代码(转载)
  18. u盘无法格式化不在计算机中,u盘被写保护无法格式化怎么办 u盘无法格式化原因及解决...
  19. Mysql 分页,排序 打字练习
  20. mro python_Python的mro

热门文章

  1. pve的各种源替换并去除弹窗
  2. 人工智能 - 虚拟人 - 虚拟主播(透明背景)
  3. MineMap地图web端定位问题处理
  4. 星起航:兴趣电商的商业逻辑是什么
  5. vue推算最近n天的日期,两种方法
  6. CSS 中颜色如何表示?
  7. android 随音乐旋律,Deemo - 叩击心灵的旋律 - Android 应用 - 音乐游戏 - 【最美应用】...
  8. 使用Office Tool Plus下载Office和Visio
  9. HDU 1713 相遇周期(求两个分数的最小公倍数)
  10. 10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第5天 2018/10.30