解题,详细步骤
Tạo vào: 21 tháng 6, 2025
Tạo vào: 21 tháng 6, 2025
pythonfrom PIL import Image import matplotlib.pyplot as plt img = Image.open('/mnt/data/image.png') plt.imshow(img); plt.axis('off') (-0.5, 1441.5, 502.5, -0.5)
pythonplt.figure(figsize=(10,3)) plt.imshow(img.crop((0,0,1442,140))); plt.axis('off') (-0.5, 1441.5, 139.5, -0.5)
pythonimport sympy as sp h = 120*sp.sqrt(2) # numeric symbolic u = sp.symbols('u', real=True) OB = sp.Matrix([60 + 140*u/3, -2*h*u/9]) OC = sp.Matrix([140*u/3, h*(1 - 2*u/9)]) dot = OB.dot(OC) norm_OB = sp.sqrt(OB.dot(OB)) norm_OC = sp.sqrt(OC.dot(OC)) cos_theta = dot / (norm_OB * norm_OC) # Derivative set to 0 dcos = sp.diff(cos_theta, u) sp.simplify(dcos) 72*(25*u**3 + 135*u**2 + 117*u - 81)/(sqrt(9*u**2 - 32*u + 72)*sqrt(9*u**2 + 14*u + 9)*(81*u**4 - 162*u**3 + 281*u**2 + 720*u + 648))
pythonsol = sp.nroots(25*u**3 + 135*u**2 + 117*u - 81) sol [-4.04499443206436, -1.80000000000000, 0.444994432064365]
pythonfloat_u = 0.444994432064365 sp.nsimplify(float_u, [sp.sqrt(5)]) 88998886412873/200000000000000
pythontest = 25*(4/9)**3 + 135*(4/9)**2 + 117*(4/9) - 81 float(test) -0.1385459533607758
pythonu = sp.symbols('u') poly = 25*u**3 + 135*u**2 + 117*u - 81 root = sp.nroots(poly, n=15)[2] # root within root 0.444994432064365
pythonAP_val = 120*(1-root) AP_val 66.6006681522762
pythonsol_exact = sp.solve(poly, u) sol_exact [-9/5, -9/5 + 3*sqrt(14)/5, -3*sqrt(14)/5 - 9/5]
题目翻译
在 △ABC 中,已知 AB = 120,AC = BC = 180。
动点 P、Q 分别在 AB、AC 上,且
设 O 为 PQ 的中点。当 ∠BOC 取得最大值时,求 AP 的长度。
取 AB 为水平底边
于是 AB = 120。
因 AC = BC = 180,点 C 在 AB 的垂直平分线上,得
令 ,
O 沿过原点的一条固定直线平移。
只需令分子为 0:
只有最后一个根落在 ,并且检查二阶导数可知此时 为最大。
至此得到当 ∠BOC 最大时,线段 AP 的精确长度及其近似值。