首页 > 试题广场 > 两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2.问在什么情况下,B1B2最长?
[问答题]
两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2.问在什么情况下,B1B2最长?

17个回答

添加回答
推荐
xxj头像 xxj
当A1A2垂直B1B2时B1B2最长

说明:
设两个圆心分别为O1,O2
因为:两点确定一条直线,A1A2的中垂线必过圆心,故O1O2垂直平分A1A2,
设B1A1中点为C1,B2A1中点为C2 : 且O1C1垂直B1B2,O2C2垂直B1B2
所以就有了:
B1B2 = 2*C1A1+2*C2A1 = 2*C1C2
故B1B2最长为C1C2最长,
又由于,O1C1垂直B1B2,O2C2垂直B1B2,故C1C2O2O1至少为梯形(假定),且O1O2长度固定
沿着C1做一平行线D1D2与O1O2平行,故D1D2C2至少为一垂直三角形,C2为90度,
通过锤子三角形定义,得出,当C1C2平行于D1D2时C1C2有最大值。
又由于:故O1O2垂直平分A1A2,、
得出 当A1A2垂直B1B2时B1B2最长

编辑于 2015-01-28 15:19:16 回复(3)
两圆相切,且过A1所做的直线经过两圆圆心的时候。
发表于 2014-11-12 11:10:11 回复(0)
发表于 2016-06-24 10:11:32 回复(0)
//B1B2与A1A2垂直的时候,B1B2最长,如果A1点和A2点重合,则B1B2过两圆圆心,此时是最长的,为两圆直径之和。
#include<iostream>
#include<cstdio>
#include<catdlib>
#include<algorithm>
using namespace std;
int main()
{
     double xa1,ya1,xa2,ya2,r1,r2;
     double c1;
     double b1b2;
     while(scanf("%d%d%d%d%d%d",&xa1,&ya1,&xa2,&ya2,&r1,&r2)) {
        c1 = sqrt((xa1-xa2)*(xa1-xa2)+(ya1-ya2)*(ya1-ya2))/2;
        b1b2 = 2*sqrt(r1*r1-c1*c1) + 2*sqrt(r2*r2-c1*c1);
        printf("%.4f\n",b1b2);
   }
   return 0;
}
发表于 2015-10-09 14:52:45 回复(0)
当A1A2⊥B1B2时B1B2最长
设弦A1B1、A1B2所在圆分别为⊙O1、⊙O2,取A1B1、A1B2的中点C、D,连结O1C、O2D
则B1B2=A1B1+A1B2=2A1C+2A1D=2CD
当A1A2与B1B2不垂直时,四边形O1O2DC是直角梯形,定有O1O2>CD
此时B1B2=2CD<2O1O2
当A1A2⊥B1B2时,四边形O1O2DC是直角梯形,定有O1O2=CD
此时B1B2=2CD=2O1O2为最大
发表于 2014-12-21 16:45:44 回复(1)

设两个圆的圆心分别为O1,O2。作O1C垂直于B1B2,O2D垂直于B1B2。

|B1B2| = |A1B1| + |A1B2| = 2|A1C| + 2|A1D|=2|CD|

|CD| ^2 = |O1O2|^2 - (|O1C|-|O2D|)^2

当|O1C|=|O2D|即B1B2平行于O1O2时,|B1B2|最大。

发表于 2014-11-11 19:05:57 回复(0)
当A1,A2过两个圆中半径较大者心的时候B1B2最长
发表于 2016-07-30 13:58:15 回复(0)
a1与a2相切,b1与b2的长度为两圆的直径之和
发表于 2016-03-22 13:30:03 回复(0)
当B1B2垂直且平分A1A2时。
发表于 2015-10-12 20:57:09 回复(2)
与另外一个圆相切的时候,最长
发表于 2015-09-19 12:08:50 回复(0)
因为B1和B2在圆上,如果要B1和B2最长,则B1B2经过两个圆的直径,由此A1和A2重叠,两圆相切。
发表于 2015-09-14 15:55:33 回复(0)
<pre class="prettyprint lang-cpp"> </pre> <br />
发表于 2015-09-13 21:07:24 回复(0)
<p style="color:#333333;"> 两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长? </p> <p style="color:#333333;"> 设两个圆的圆心分别为O1,O2。作O1C垂直于B1B2,O2D垂直于B1B2。 </p> <p style="color:#333333;"> |B1B2| = |A1B1| + |A1B2| = 2|A1C| + 2|A1D|=2|CD| </p> <p style="color:#333333;"> |CD| ^2 = |O1O2|^2 - (|O1C|-|O2D|)^2 </p> <p style="color:#333333;"> 当|O1C|=|O2D|即B1B2平行于O1O2时,|B1B2|最大。 </p>
发表于 2015-08-26 15:15:35 回复(0)
    
发表于 2014-12-01 14:08:36 回复(0)
xxj头像 xxj
当A1A2垂直B1B2时B1B2最长

发表于 2014-11-20 14:46:21 回复(0)
xxj头像 xxj
当A1A2垂直B1B2时B1B2最长

发表于 2014-11-20 14:46:02 回复(0)
当b1和b2连线经过初始两个圆的圆心时,b1b2最长
发表于 2014-11-05 16:40:22 回复(1)