计算球体贴片的边界球体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算球体贴片的边界球体相关的知识,希望对你有一定的参考价值。

假设我们有一个半径为R的球体,并在这个球体上给出一个补丁,其起始角度为phi和theta,扫掠角度为phi_len和theta_len。贴片被定义为球体上的表面,适用于[phi,phi + phi_len]和[theta,theta + theta_len]内的所有角度。

我想在3D坐标中计算这个补丁的最小边界球,i.n。中心(x,y,z)和半径r使得上面的补丁完全包含在球体中。

答案

我有两个想法:

ONE:让p1= [x1,y1,z1]是补丁开始的点,p2= [x2,y2,z2]angle_max = max(phi_len, theta_len)的点。

对于angle_max<=PI最小球体将具有中心的情况

c = p1+(p2-p1)/2

p1p2之间距离的半径:

r = |p2-p1|/2

例如,如果PI<angle_max<=2PI最小球体是半球形R的全球体。

第二:让p1= [x1,y1,z1]是补丁开始的点,p2= [x2,y2,z2]是角度phitheta_len的点,p3= [x3,y3,z3]是角度phi_lentheta的点。让angle_max = max(phi_len, theta_len)然后在angle_max<=PI的情况下,最小球体由其赤道描述,其是三角形p1,p2,p3上的Circumscribed circle。对于案例PI<angle_max<=2PI最小球体是半球形R的全球形。

以上是关于计算球体贴片的边界球体的主要内容,如果未能解决你的问题,请参考以下文章

用JAVA编写一个计算立方体、球体和圆柱的体积

OpenGL拾取 - 光线/球体相交错误

python程序设计:输入球体半径r,计算球体的体积和表面积

SceneKit 球体法线似乎随着相机移动而改变?

球体计算[重复]

计算球体积