假设我们有一个半径为R的球体,并在这个球体上给出一个补丁,其起始角度为phi和theta,扫掠角度为phi_len和theta_len。贴片被定义为球体上[phi,phi + phi_len]和[theta,theta + theta_len]内所有角度的表面。
我想在三维坐标中计算这个补丁的最小边界球,即中心(x,y,z)和半径r,以便上面的补丁完全包含在球体内。
答案 0 :(得分:1)
我有两个想法:
ONE:让p1= [x1,y1,z1]
是补丁开始的点,p2= [x2,y2,z2]
是angle_max = max(phi_len, theta_len)
的点。
对于angle_max<=PI
最小球体将在
c = p1+(p2-p1)/2
和p1
与p2
之间距离的半径:
r = |p2-p1|/2
对于PI<angle_max<=2PI
最小球体是半球为R的完整球体的情况。
SECOND:让p1= [x1,y1,z1]
是补丁开始的点,p2= [x2,y2,z2]
是角度phi
和theta_len
,p3= [x3,y3,z3]
是角度点{{1} }和phi_len
。设theta
然后angle_max = max(phi_len, theta_len)
,最小球体由其赤道描述,在三角形p1,p2,p3上为Circumscribed circle。对于案例angle_max<=PI
,最小球体是半球为R的完整球体。