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发送Email方法实例
Aug 21 Python
python的Template使用指南
Sep 11 Python
python登陆asp网站页面的实现代码
Jan 14 Python
初探TensorFLow从文件读取图片的四种方式
Feb 06 Python
Python3中的json模块使用详解
May 05 Python
Python3远程监控程序的实现方法
Jul 15 Python
python获取Linux发行版名称
Aug 30 Python
简单了解python协程的相关知识
Aug 31 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
使用python实现回文数的四种方法小结
Nov 24 Python
python 实现端口扫描工具
Dec 18 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 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实现多进程并行执行脚本
2013/06/18 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
JS 统计时间
2021/03/09 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
python监控文件或目录变化
2016/06/07 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python冒泡排序注意要点实例详解
2016/09/09 Python
python简单实例训练(21~30)
2017/11/15 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
上海微创软件面试题
2012/06/14 面试题
竞选班长演讲稿
2013/12/30 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
软件售后服务承诺书
2014/05/21 职场文书
高考标语大全
2014/06/05 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
检讨书格式
2015/05/07 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
详解python的内存分配机制
2021/05/10 Python