You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

两相交球体交圆半径相关问题问询:公式合理性解释与普适性验证

两相交球体交圆半径相关问题问询:公式合理性解释与普适性验证

假设我有两个球体$S_1$和$S_2$,它们的交集是非平凡的(也就是说不是一个点),那么它们的交线会形成一个完整的圆。已知两个球体的中心分别是$P_1$和$P_2$,半径分别为$r_1$和$r_2$。

我看了一张沿两球心连线的截面示意图,现在的问题是想求出这个交圆的半径。之前看到有人提到可以通过类似$d_1^2 + d_2^2 = d^2$的关系推导半径,但我实在搞不懂——从图里看$d_1$、$d_2$、$d$是共线的啊,勾股定理不是只适用于直角三角形吗?有没有人能解释下这个公式的合理性?


编辑补充:后来我找到了相关的推导思路,先做一个简化假设:设$P_1=(0,0,0)$,$P_2=(0,0,d)$(这里$d$是两球心之间的距离),写出两个球体的方程:
$$
\begin{align*}
x2+y2+z2&=r_12\
(x-d)2+y2+z2&=r_22\
\end{align*}
$$
把这两个方程联立并整理,可以得到:
$$x=\frac{d2-r_22+r_1^2}{2d}$$
接着把这个$x$的值代入第一个球体的方程,推导交圆半径的平方:
$$
\begin{align*}
x2+y2+z2&=r_12\
y2+z2&=r_12-x2\
y2+z2&= r_12-\left(\frac{d2-r_22+r_12}{2d}\right)^2\
y2+z2&= \frac{4d2r_12-(d2-r_22+r_12)2}{4d^2}\
\end{align*}
$$
令$r2$等于上面这个结果,就能得到交圆的方程$y2+z2=r2$,所以交圆的半径$r$就是:
$$
\begin{align*}
r &= \sqrt{\frac{4d2r_12-(d2-r_22+r_12)2}{4d^2}}\
&=\frac{1}{2d} \sqrt{4d2r_12-(d2-r_22+r_12)2}
\end{align*}
$$

用户@peterwhy还给出了一个测试用例:当$r_1=r_2=d=1$时,交圆半径应该是边长为1的等边三角形的高,也就是$\frac{\sqrt{3}}{2}$,代入上面的公式确实能得到这个结果,验证了公式的正确性。

现在我还有一个疑问:这个公式能不能推广到任意中心位置的相交球体呢?


备注:内容来源于stack exchange,提问作者Stan Shunpike

火山引擎 最新活动