You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求与两相切圆外切的第三圆圆心坐标的解析解法

求解与两已知相切圆均外切的第三圆圆心坐标

我来一步步帮你把这个几何问题的解析解法落地——你已经想到列二次方程组了,差的就是消元和化简的关键步骤,咱们来拆解清楚:

第一步:明确已知条件与变量设定

先把所有已知量和待求量明确下来:

  • 圆$C_1$:圆心$P_1=(x_1, y_1)$,半径$r_1$
  • 圆$C_2$:圆心$P_2=(x_2, y_2)$,半径$r_2$(已知两圆相切)
  • 第三圆$C_3$:半径$r_3$已知,圆心$P_3=(x_3, y_3)$为待求坐标

因为$C_3$和$C_1$、$C_2$均外切,根据外切圆的圆心距等于半径之和,我们可以得到两个几何关系:

  1. $P_1P_3 = r_1 + r_3$ → $\sqrt{(x_3 - x_1)^2 + (y_3 - y_1)^2} = r_1 + r_3$
  2. $P_2P_3 = r_2 + r_3$ → $\sqrt{(x_3 - x_2)^2 + (y_3 - y_2)^2} = r_2 + r_3$

第二步:转化为无根号的二次方程组

把两个方程两边平方,去掉根号,得到标准的二次方程组:

  • 方程(1)平方后:$(x_3 - x_1)^2 + (y_3 - y_1)^2 = (r_1 + r_3)^2$
  • 方程(2)平方后:$(x_3 - x_2)^2 + (y_3 - y_2)^2 = (r_2 + r_3)^2$

第三步:消元得到线性方程

这一步是关键——把两个二次方程相减,大部分二次项会直接抵消,得到一个关于$x_3$和$y_3$的线性方程,这样就能把其中一个变量用另一个表示。

先展开两个平方项:

  • 展开方程(1):$x_3^2 - 2x_1x_3 + x_1^2 + y_3^2 - 2y_1y_3 + y_1^2 = (r_1 + r_3)^2$
  • 展开方程(2):$x_3^2 - 2x_2x_3 + x_2^2 + y_3^2 - 2y_2y_3 + y_2^2 = (r_2 + r_3)^2$

用方程(1)减去方程(2),消去$x_32$和$y_32$,整理后得到:
$$2(x_2 - x_1)x_3 + 2(y_2 - y_1)y_3 = (r_1 + r_3)^2 - (r_2 + r_3)^2 + x_2^2 + y_2^2 - x_1^2 - y_1^2$$

我们可以把它整理成更简洁的$Ax_3 + By_3 = C$形式:

  • $A = 2(x_2 - x_1)$
  • $B = 2(y_2 - y_1)$
  • $C = (r_1 - r_2)(r_1 + r_2 + 2r_3) + (x_2^2 + y_2^2) - (x_1^2 + y_1^2)$

接下来根据$A$和$B$是否为0,解出其中一个变量:

  • 如果$B≠0$,则$y_3 = \frac{C - Ax_3}{B}$
  • 如果$A≠0$,则$x_3 = \frac{C - By_3}{A}$

(注:因为两圆相切且相异,$P_1≠P_2$,所以$A$和$B$不会同时为0)

第四步:代入求解一元二次方程

把上一步得到的$y_3$(或$x_3$)代入到任意一个原二次方程(比如方程(1))中,就会得到一个关于$x_3$(或$y_3$)的一元二次方程,形式为$px^2 + qx + s = 0$。

用一元二次方程求根公式:
$$x = \frac{-q \pm \sqrt{q^2 - 4ps}}{2p}$$

解出$x_3$的两个解后,再代入线性方程的表达式,就能得到对应的两个$y_3$值——这对应着平面上两个满足条件的外切圆(分别在$P_1P_2$连线的两侧)。

举个直观例子验证

假设:

  • $P_1=(0,0)$,$r_1=1$
  • $P_2=(3,0)$,$r_2=1$
  • $r_3=1$

按步骤计算:

  1. $A=2(3-0)=6$,$B=2(0-0)=0$,$C=(1-1)(1+1+2*1)+(9+0)-(0+0)=9$
  2. 线性方程为$6x_3=9$ → $x_3=1.5$
  3. 代入方程(1):$(1.5)^2 + y_32=(2)2$ → $y_3^2=4-2.25=1.75$ → $y_3=±\frac{\sqrt{7}}{2}$

得到的两个圆心$(1.5, \frac{\sqrt{7}}{2})$和$(1.5, -\frac{\sqrt{7}}{2})$,完全符合几何直觉。

额外注意点

  • 如果一元二次方程的判别式小于0,说明不存在满足条件的外切圆(比如$r_3$过小,或者两圆间距过大);
  • 如果两圆是内切的情况,这个方法同样适用,只需要把外切的半径之和换成半径之差(注意绝对值),但你的问题里是外切,所以不用考虑这个。

内容的提问来源于stack exchange,提问作者user1562293

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:38:51