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

 更新时间:2018年11月07日 16:06:28   作者:zsc201825  
今天小编就为大家分享一篇Python求两个圆的交点坐标或三个圆的交点坐标方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

计算两个圆的交点

代码如下:

# -*- 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 字符串相似性的几种度量方法

    这篇文章主要介绍了详解Python 字符串相似性的几种度量方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python练习之操作MySQL数据库

    Python练习之操作MySQL数据库

    这篇文章主要介绍了Python练习之操作MySQL数据库,文章通过如何创建MySQL数据表?如何向MySQL表中插入数据?如何查询MySQL中的数据?的三个问题展开了详细的内容介绍
    2022-06-06
  • Python计算质数的方法总结

    Python计算质数的方法总结

    质数(Prime Number)是指大于1且只能被1和自身整除的正整数,计算质数是数论中的一个经典问题,本文将介绍python中多种计算质数的方法,希望对大家有所帮助
    2023-11-11
  • 基于Python实现简易的动漫图片转换器

    基于Python实现简易的动漫图片转换器

    本文旨在利用Python语言制作一个将普通照片转换成动漫图片的小工具,其中使用opencv的非标准库实现对图片完成转换,感兴趣的可以尝试一下
    2022-08-08
  • python已协程方式处理任务实现过程

    python已协程方式处理任务实现过程

    这篇文章主要介绍了python已协程方式处理任务实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • openstack中的rpc远程调用的方法

    openstack中的rpc远程调用的方法

    今天通过本文给大家分享openstack中的rpc远程调用的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07
  • django多文件上传,form提交,多对多外键保存的实例

    django多文件上传,form提交,多对多外键保存的实例

    今天小编就为大家分享一篇django多文件上传,form提交,多对多外键保存的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python可视化库之HoloViews的使用教程

    Python可视化库之HoloViews的使用教程

    本文主要为大家介绍了Python中一个优秀的可视化库—HoloViews,不仅能实现一些常见的统计图表绘制,而且其还拥有Matplotlib、Seaborn等库所不具备的交互效果,快跟随小编一起了解一下吧
    2022-02-02
  • python自动化UI工具发送QQ消息的实例

    python自动化UI工具发送QQ消息的实例

    今天小编就为大家分享一篇python自动化UI工具发送QQ消息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • pyttsx3实现中文文字转语音的方法

    pyttsx3实现中文文字转语音的方法

    今天小编就为大家分享一篇pyttsx3实现中文文字转语音的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论