已知三点坐标,求外接圆圆心坐标与半径。
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int t;
scanf("%d",&t);
int Case=1;
while(t--)
{double x,y,x3,x1,x2,y3,y1,y2,a,b,r2;scanf("%lf%lf",&x1,&y1);scanf("%lf%lf",&x2,&y2);scanf("%lf%lf",&x3,&y3);scanf("%lf%lf",&x,&y);if((x2-x1)*(x3-x1)+(y2-y1)*(y3-y1)<0) //(x1,y1)是钝角{a=(x3+x2)/2.0,b=(y3+y2)/2.0;r2=(a-x2)*(a-x2)+(b-y2)*(b-y2);}else if((x1-x2)*(x3-x2)+(y1-y2)*(y3-y2)<0) //(x2,y2)是钝角{a=(x3+x1)/2.0,b=(y3+y1)/2.0;r2=(a-x1)*(a-x1)+(b-y1)*(b-y1);}else if((x1-x3)*(x2-x3)+(y1-y3)*(y2-y3)<0) //(x3,y3)是钝角{a=(x2+x1)/2.0,b=(y2+y1)/2.0;r2=(a-x1)*(a-x1)+(b-y1)*(b-y1);}else //三角形是锐角三角形{a=((y2-y1)*(y3*y3-y1*y1+x3*x3-x1*x1)-(y3-y1)*(y2*y2-y1*y1+x2*x2-x1*x1))/(2.0*((x3-x1)*(y2-y1)-(x2-x1)*(y3-y1)));b=((x2-x1)*(x3*x3-x1*x1+y3*y3-y1*y1)-(x3-x1)*(x2*x2-x1*x1+y2*y2-y1*y1))/(2.0*((y3-y1)*(x2-x1)-(y2-y1)*(x3-x1)));r2=(x1-a)*(x1-a)+(y1-b)*(y1-b);}
if((x-a)*(x-a)+(y-b)*(y-b)<=r2)printf("Case #%d: Danger\n",Case++);elseprintf("Case #%d: Safe\n",Case++);
}return 0;
}
已知三点坐标,求外接圆圆心坐标与半径。相关推荐
- 初等几何(已知三角形三边,求外接圆直径)
p=(a+b+c)/2; ①海伦公式:s=sqrt( p * (p-a) * (p-b) * (p-c)); ②三角形面积公式:s=(a * b * sin(∠ab)) / 2; ③正弦定理:a / ...
- 已知三点求圆心与半径
已知三点求圆心与半径 kezunhai@gmail.com http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求 ...
- 已知三个点坐标求 三角形面积 || 求任意多边形面积公式||判断点在直线的左侧还是右侧
已知三个点坐标求 三角形面积 由A-->B-->C-->A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)*(下面行列式) |x1 y1 1| |x2 y2 ...
- 已知三点求圆心和半径
https://blog.csdn.net/youhuakongzhi/article/details/86474619 https://blog.csdn.net/qq_43572555/artic ...
- C#已知三点求圆方程算法
如果不赶时间可以自己推算出算式或者直接参考另一个博主的文章: 三点确定一个圆的计算方法_Ivan 的专栏-CSDN博客_三点确定一个圆 程序完整部分<C#已知三点求圆方程算法.rar>已经 ...
- 已知三点求平面方程、平面法向量和点到平面的距离
已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...
- matlab已知三点求夹角,已知3点如何求其中两点对第3点的夹角
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:已知3点如何求其中两点对第3点的夹角? 问题详情:有3个问题:1)已知3点如何求其中两点对第3点的夹角?2)如何回答:1)已知3点求 ...
- 已知三点求平面方程、平面法向量和点到平面的距离(转载)
已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...
- 已知三点空间直角坐标求空间平面方程
已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...
- C++里已知三个三维点,求他们的平面方程,怎么做?
已知三个点坐标为P1(x1,y1,z1), P2(x2,y2,z2), P3(x3,y3,z3) 所以可以设方程为A(x - x1) + B(y - y1) + C(z - z1) = 0 (点法式) ...
最新文章
- centos7 安装jdk7
- 独家 | 一文读懂数据质量和验证检查(附代码)
- RUST等差分解一个数
- [转]Chrome 控制台console的用法
- C:拷贝函数write()fwrite()
- python 只取数值_Python:你会生成列表吗?-- 列表生成式
- 学霸君袁荣喜:K12一对一辅导,这是一个收割的时代| MCtalk教育访谈摘录
- windows下安装服务注册Consul
- 郎朗钢琴课独家上线知乎 手把手带你开启钢琴之路
- java 调用dll内存泄露_对 精致码农大佬 说的 Task.Run 会存在 内存泄漏 的思考
- QT 异步函数和同步函数交换问题
- bzoj1036 count 树链剖分或LCT
- Sentaurus TCAD SDevice 实例教程
- 【高性能Mysql 】读书笔记(一)
- Wellcome Sanger研究所选择Arima Genomics作为HiC技术合作伙伴; 公司宣布针对高覆盖HiC的抢先体验活动
- 【web】自定义协议Protocol URL
- Job for named.service failed because the control process exited with error code.
- 前端面试题:HTML 语义化的理解
- 像扫二维码一样的快速录入银行卡信息
- VSTO开发PPT插件将PPT导出成图片