两球体相交,球缺的计算
参考自:https://blog.****.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);