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]
計算三個圓的交點,首先要保證三個圓必須有共同的交點,然后調用兩次函數(shù),再求交集,即可算出三個圓的交點。
以上這篇Python求兩個圓的交點坐標或三個圓的交點坐標方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關文章
python已協(xié)程方式處理任務實現(xiàn)過程
這篇文章主要介紹了python已協(xié)程方式處理任務實現(xiàn)過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12