我试图找到一个算法或一种方法,以找到两个圆之间的交点在一个球体(在3D中)。例如,如果在两个点上有两个圆心,假设它们相交,我如何找到这两个圆之间的交点?有算法可以这样做吗?
谢谢
发布于 2014-09-16 06:43:16
nx x + ny y + nz z = d
。假定球面在原点中心,法线矢量(nx, ny, nz)
是归一化后的圆心(cx, cy, cz)
(投影与否)。
(cx,cy,cz) (nx,ny,nz) =
距离d
是用毕达哥拉斯计算的。设r
是圆的半径,R
是球面的半径。
2~2 R=d+r _______ ________________2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_(_2)=_ (R ~+ r) (R~(- r) )
对于数值稳定性,第二个表达式是首选的。
如果我们只知道球面上从圆的投影中心到圆的投影中心的长度r'
,那么计算
D=(r‘/R)r=(r’/R)。
在这种情况下,我们实际上不需要r
。https://stackoverflow.com/questions/25870265
复制相似问题