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中文竖排显示的方法
Jul 28 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
python使用matplotlib绘制热图
Nov 07 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
python selenium实现发送带附件的邮件代码实例
Dec 10 Python
pytorch masked_fill报错的解决
Feb 18 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
Python自然语言处理之切分算法详解
Apr 25 Python
python unittest单元测试的步骤分析
Aug 02 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编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php判断变量类型常用方法
2012/04/24 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
Python 爬取携程所有机票的实例代码
2018/06/11 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
pandas的resample重采样的使用
2020/04/24 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
虚拟机下载python是否需要联网
2020/07/27 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
python用Configobj模块读取配置文件
2020/09/26 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
C,C++的几个面试题小集
2013/07/13 面试题
性能测试工程师的面试题
2015/02/20 面试题
初二物理教学反思
2014/01/29 职场文书
给实习单位的感谢信
2014/02/01 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书