色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python直線和圓交點

阮建安1年前9瀏覽0評論

Python是一種優秀的編程語言,擁有強大的數學計算功能,可以用它計算直線和圓的交點。在Python中,我們可以使用數學庫中提供的函數來實現計算。

import math
# 計算直線和圓的交點
def line_and_circle_intersection(x1, y1, x2, y2, xc, yc, r):
dx = x2 - x1
dy = y2 - y1
A = dx**2 + dy**2
B = 2*dx*(x1-xc) + 2*dy*(y1-yc)
C = (x1-xc)**2 + (y1-yc)**2 - r**2
D = B**2 - 4*A*C
if D >= 0:
x1 = (-B + math.sqrt(D)) / (2*A)
x2 = (-B - math.sqrt(D)) / (2*A)
y1 = (dy/dx)*x1 + y1 - ((dy/dx)*x1 - y1)
y2 = (dy/dx)*x2 + y1 - ((dy/dx)*x2 - y1)
return ((x1, y1), (x2, y2))
else:
return None
# 測試函數
point_1 = (1, 2)
point_2 = (3, 4)
circle_center = (0, 0)
radius = 1
intersection_points = line_and_circle_intersection(point_1[0], point_1[1], point_2[0], point_2[1], circle_center[0], circle_center[1], radius)
if intersection_points:
print("直線和圓的交點為:{}, {}".format(intersection_points[0], intersection_points[1]))
else:
print("直線和圓沒有交點")

通過上面的代碼,可以計算出直線和圓的交點。其中,輸入參數分別表示直線上兩點的坐標(x1, y1)和(x2, y2),以及圓的圓心坐標(xc, yc)和半徑(r)。如果直線和圓存在交點,則輸出交點的坐標。