已知三点坐标,求圆心坐标 (外接圆)python实现
问题描述:已知三点不共线坐标,做外接圆,求圆心坐标x0,y0,半径R
算法思想:根据三点到圆心的距离为R*R,联立求出
python实现:
class Point():def __init__(self, x, y):self.x = xself.y = ydef getCircle(p1, p2, p3):x21 = p2.x - p1.xy21 = p2.y - p1.yx32 = p3.x - p2.xy32 = p3.y - p2.y# three colinearif (x21 * y32 - x32 * y21 == 0):return Nonexy21 = p2.x * p2.x - p1.x * p1.x + p2.y * p2.y - p1.y * p1.yxy32 = p3.x * p3.x - p2.x * p2.x + p3.y * p3.y - p2.y * p2.yy0 = (x32 * xy21 - x21 * xy32) / 2 * (y21 * x32 - y32 * x21)x0 = (xy21 - 2 * y0 * y21) / (2.0 * x21)R = ((p1.x - x0) ** 2 + (p1.y - y0) ** 2) ** 0.5return x0, y0, Rp1, p2, p3 = Point(0, 0), Point(4, 0), Point(2, 2)
print(getCircle(p1, p2, p3))
输出
(2.0, 0, 2.0)
已知三点坐标,求圆心坐标 (外接圆)python实现相关推荐
- 已知两点经纬度,求两点直线距离-——python实现
计算原理参考链接:https://blog.csdn.net/xiejm2333/article/details/73297004 Python代码实现: # -*- coding: utf-8 -* ...
- 已知三点求圆心与半径
已知三点求圆心与半径 kezunhai@gmail.com http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求 ...
- 转 已知两点坐标和半径求圆心坐标程序C++
数学思想:利用圆方程和直线方程 已知两点坐标和半径求圆心坐标程序 #include <iostream> #include <fstream> #include <cma ...
- 已知三个点坐标求 三角形面积 || 求任意多边形面积公式||判断点在直线的左侧还是右侧
已知三个点坐标求 三角形面积 由A-->B-->C-->A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)*(下面行列式) |x1 y1 1| |x2 y2 ...
- 三点求圆心坐标(三角形外心)
//过三点求圆心坐标 Point waixin(Point a,Point b,Point c) { double a1 = b.x - a.x, b1 = b.y - a.y, c1 = (a1*a ...
- 已知经纬度坐标求两点间距离,用python表示
已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...
- python坐标表示_已知经纬度坐标求两点间距离,用python表示
已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...
- 已知三点求圆心和半径
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 ...
最新文章
- SAP 科目主数据属性定义
- 数据挖掘关联规则挖掘改进算法DHP
- 存储本地_项目实战之本地存储篇
- nessus国内用户不让免费使用了!
- 印尼互联网交换中心失火,或由电路短路引发
- 思科、华为、华三、Juniper路由协议优先级汇总
- 程序员取名:用大数据分析一下宝宝取名时最容易重复的名字
- wxWidgets:印刷Printing
- python io_NumPy IO
- 三大数据库数据库端口号及连接jdbc驱动下载
- 智能优化算法:鹰栖息算法-附代码
- Android Intent机制与常见的用法
- em算法 c语言,EM算法原理与应用(附代码)
- js封装websocket
- 对称加密算法基本介绍
- Solana代码解析
- 练习京东顶部导航条、背景、渐变、按钮练习(雪碧图)、渐变
- 应用逻辑回归方法对鸢尾花进行分类
- android 仿ios地址,Android 仿苹果通话界面源码
- 求2+22+222+2222+22222