如何解决使用matlab到球心的最小距离
| 给定2个点A和B属于具有给定半径R的球体。 我想找到其中心到给定点G的距离最小的球体。 谢谢解决方法
由两个点和一个半径定义的球体的中心是一个圆。您可以连接C(圆心)和G,并在圆平面上创建90°投影。最小距离是投影与圆切线相交90°的位置。有两种解决方案。您必须采取较小的。
, 您想要的点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的距离并选择一个更接近的解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。