角度和问题
已知在一条直线L(y=k*x+a) 的一侧有四个点A(x_1,y_1),B(x_2,y_2),C(x_3,y_3),D(x_4,y_4),在直线L上求一点P(x_0,y_0),使得设x_1>x_2>x_3>x_4,angle(APB)=alpha,angle(CPD)=beta.问题有趣,解答不易。
(1)alpha+beta 最大?
(2)1/alpha+1/beta 最小? 这个题蛮有趣的,感觉难度也不小。
我现在想到一个相对简单的问题(但我不会做):过直线同侧的两个定点,如何作一圆使之与该直线相切?
显然,直线上的点对两已知点的张角在切点处达到最大值。 我猜想:楼主问题的结果,应该位于用上贴方法作得的两个切点之间的某个点上。 我突然明白了,可利用“切割线定理”作出该圆。
谢谢 hujunhua 的点评。 注意:当两定点连线与已知直线不平行时,可以作出两个相切圆,
需选择张角比较大的那个。 对于这个问题感觉还是直接数值计算的好 若说该题的趣味性,我倒觉得把P点限制在一条直线上可能是败笔。限制在ABCD所在平面内没有极值点吗? 限定在直线上,因为它们都在该直线同侧。
如果仅限定在ABCD所在平面上,是否还要约定该角是否为“有向角”等问题?
比如说,可以选择适当的点P,让 ∠APB=180°,甚至接近360°. 没想到:取最特殊的情形(k=0,y_1=y_2=y_3=y_4=d)
作代数计算居然表达式长度超出软件允许范围.
对于(1)取极值的条件为20次代数方程(可能能分解因式)
注:对于一般情形取极值条件具体形式为
(c_30+c_31*x_0+c_32*x_0^2+c_33*x_0^3+c_34*x_0^4+c_35*x_0^5)/((b_30+b_31*x_0+b_32*x_0^2+b_33*x_0^3+b_34*x_0^4)*sqrt(d_30+d_31*x_0+d_32*x_0^2))+
(c_40+c_41*x_0+c_42*x_0^2+c_43*x_0^3+c_44*x_0^4+c_45*x_0^5)/((b_40+b_41*x_0+b_42*x_0^2+b_43*x_0^3+b_44*x_0^4)*sqrt(d_40+d_41*x_0+d_42*x_0^2))=0 做了一个数值计算:
取k=2,a=1,x1=2,y1=7,x2=5,y2=17,x3=9,y3=30,x4=13,y4=29
取直线L的100个点(x_n=n,y_n=2*n+1,n=1..100)
计算得到下图
对于(1) x轴为x_n,y轴为对应的alpha+beta值
对于(2) x轴为x_n,y轴为1/alpha+1/beta值
页:
[1]
2