Python求两个圆的交点坐标或三个圆的交点坐标方法


Posted in Python onNovember 07, 2018

计算两个圆的交点

代码如下:

# -*- coding: utf-8 -*-
import math
import numpy as np
def insec(p1,r1,p2,r2):
 x = p1[0]
 y = p1[1]
 R = r1
 a = p2[0]
 b = p2[1]
 S = r2
 d = math.sqrt((abs(a-x))**2 + (abs(b-y))**2)
 if d > (R+S) or d < (abs(R-S)):
  print ("Two circles have no intersection")
  return 
 elif d == 0 and R==S :
  print ("Two circles have same center!")
  return
 else:
  A = (R**2 - S**2 + d**2) / (2 * d)
  h = math.sqrt(R**2 - A**2)
  x2 = x + A * (a-x)/d
  y2 = y + A * (b-y)/d
  x3 = round(x2 - h * (b - y) / d,2)
  y3 = round(y2 + h * (a - x) / d,2)
  x4 = round(x2 + h * (b - y) / d,2)
  y4 = round(y2 - h * (a - x) / d,2)
  print (x3, y3)
  print (x4, y4)
  c1=np.array([x3, y3])
  c2=np.array([x4, y4])
  return c1,c2
 
P1=np.array([-5,0])
R1=10
P2=np.array([5,0])
R2=5
C=insec(P1,R1,P2,R2)
C1=C[0]
C2=C[1]

计算三个圆的交点,首先要保证三个圆必须有共同的交点,然后调用两次函数,再求交集,即可算出三个圆的交点。

以上这篇Python求两个圆的交点坐标或三个圆的交点坐标方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中文编码问题小结
Sep 28 Python
python将ip地址转换成整数的方法
Mar 17 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
Dec 10 Python
python可视化实现代码
Jan 15 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
Aug 04 Python
pygame实现打字游戏
Feb 19 Python
python计算无向图节点度的实例代码
Nov 22 Python
Python2 与Python3的版本区别实例分析
Mar 30 Python
Python pip 常用命令汇总
Oct 19 Python
Python调用Redis的示例代码
Nov 24 Python
python区块链实现简版工作量证明
May 25 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 #Python
对python中数组的del,remove,pop区别详解
Nov 07 #Python
对Python中plt的画图函数详解
Nov 07 #Python
python使用matplotlib绘制热图
Nov 07 #Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 #Python
Python将一个Excel拆分为多个Excel
Nov 07 #Python
python计算两个矩形框重合百分比的实例
Nov 07 #Python
You might like
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
PHP 开源AJAX框架14种
2009/08/24 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
百度地图api如何使用
2015/08/03 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
Python进程间通信之共享内存详解
2017/10/30 Python
python 自动重连wifi windows的方法
2018/12/18 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
Python ATM功能实现代码实例
2020/03/19 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
写好求职信第一句话的技巧
2013/10/26 职场文书
思想汇报范文
2013/11/04 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
自荐信如何制作?
2014/02/21 职场文书
低碳环保口号
2014/06/12 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
南京大屠杀观后感
2015/06/02 职场文书
小学课改工作总结
2015/08/13 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python