两球体相交,球缺的计算

参考自:https://blog.csdn.net/Enterprise_/article/details/81624174

两球体位置关系:{

         不相交:dis>=(r1+r2);

         包含:dis+min(r1,r2)<=max(r1,r2);

         相交;

}

相交时圆缺的体积:

 

两球体相交,球缺的计算

将两个球体的相交面,两个圆心压成一个平面;

h^2+x1^2=r1^2;

h^2+x2^2=r2^2;

则 r1^2-x1^2=r2^2-x2^2;

则 r1^2-r2^2=(x1+x2)*(x1-x2);

而 d=(x1+x2);

则 x1-x2=2*x1-d;

r1^2-r2^2=d*(x*x1-d);

那么 x1,x2就都求出来了,再算两个圆缺的高,

h1=r1-x1,h2=r2-x2;

那么相交圆缺的体积就可以算出来了:

v=pi*h1*h1*(r1-h1/3)+pi*h2*h2*(r2-h2/3);