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

求三维空间中四个球体唯一交点的算法

三维空间四球体唯一交点求解算法

核心思路:消元转线性方程组求解

球体方程是二次形式,但两个球体方程相减会消去平方项,得到线性的根平面方程——这个平面就是两个球体交线所在的平面。由于四个球体仅有唯一交点,前三个球体对应的根平面会交于这唯一的目标点,因此只需解由根平面组成的线性方程组即可。

具体步骤

  • 步骤1:推导线性方程组
    设四个球的球心分别为$(x_1,y_1,z_1)$、$(x_2,y_2,z_2)$、$(x_3,y_3,z_3)$、$(x_4,y_4,z_4)$,对应半径为$r_1$、$r_2$、$r_3$、$r_4$,目标点为$(x,y,z)$。先写出每个球的方程:

    (x - x_i)² + (y - y_i)² + (z - z_i)² = r_i²  (i=1,2,3,4)
    

    将球2、球3、球4的方程分别减去球1的方程,展开后整理成线性形式(两边可除以2简化):

    (x₁ - x₂)x + (y₁ - y₂)y + (z₁ - z₂)z = (r₂² - r₁² + x₂² - x₁² + y₂² - y₁² + z₂² - z₁²)/2
    (x₁ - x₃)x + (y₁ - y₃)y + (z₁ - z₃)z = (r₃² - r₁² + x₃² - x₁² + y₃² - y₁² + z₃² - z₁²)/2
    (x₁ - x₄)x + (y₁ - y₄)y + (z₁ - z₄)z = (r₄² - r₁² + x₄² - x₁² + y₄² - y₁² + z₄² - z₁²)/2
    

    最终得到标准三元一次方程组:

    A₁x + B₁y + C₁z = D₁
    A₂x + B₂y + C₂z = D₂
    A₃x + B₃y + C₃z = D₃
    
  • 步骤2:解线性方程组
    因题目保证唯一交点,该方程组的系数矩阵行列式不为0,存在唯一解,可选用两种方法:

    • 高斯消元法:通过行变换将系数矩阵化为上三角矩阵,逐步回代得到$x$、$y$、$z$的值,手动计算或编程实现都很高效。
    • 克莱姆法则:计算系数矩阵的行列式,再分别替换对应列得到三个衍生行列式,适合手动计算小规模方程组,结合整数坐标的特性可快速验证结果。
  • 步骤3:验证(可选)
    把求出的$(x,y,z)$代入任意一个球体方程确认等式成立即可——由于题目明确唯一交点,满足前三个方程的解必然符合第四个方程。

注意事项

所有坐标均为整数,计算过程可全程用整数运算,避免浮点误差,直接得到整数形式的目标点坐标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:52:31