0

给定 2 个点 A 和 B 属于具有给定半径 R 的球体。我想找到其中心与给定点 G 的距离最小的球体。

谢谢

4

2 回答 2

0

由两点和半径定义的球心是一个圆。您可以连接 C(圆心)和 G,并在圆平面上创建 90° 投影。最小距离是投影与圆切线相交 90° 的位置。有两种解决方案。你必须取较小的那个。

于 2011-06-01T07:52:04.967 回答
0

您想要的点 C 位于包含 A、B 和 G 的平面中。您计算

AG = G - A;
BG = G - B;
N = cross(AG, BG);
N = N / norm( N ); % the normal to the plane

现在你在这个平面上求解 C。三个方程:

dot((C-G), N)=0;
sqrt(sum(A-C).^2) = R;
sqrt(sum(B-C).^2) = R;

三个未知数是 C 的三个元素。你最终得到两个解,所以计算到 G 的距离并选择更接近的一个。

于 2013-11-09T03:34:41.947 回答