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中的装饰器用法详解
Jan 14 Python
Python生成不重复随机值的方法
May 11 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
python实现简单登陆流程的方法
Apr 22 Python
python斐波那契数列的计算方法
Sep 27 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
给ubuntu18安装python3.7的详细教程
Jun 08 Python
什么是python的函数体
Jun 19 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
Python实例教程之检索输出月份日历表
Dec 16 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
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
CI框架中zip类应用示例
2014/06/17 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
JS操作Cookies的小例子
2013/10/15 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
python求前n个阶乘的和实例
2020/04/02 Python
tensorflow常用函数API介绍
2020/04/19 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
学习两会精神心得范文
2014/03/17 职场文书
三年级评语大全
2014/04/23 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server