我有一个 6 边的等边多面体圆锥 由一组对称方程定义:
给定一个点,我想知道圆锥上最接近的点是什么。
我需要将其实现为算法,因此解决方案越优雅越好。
我有一个 6 边的等边多面体圆锥 由一组对称方程定义:
给定一个点,我想知道圆锥上最接近的点是什么。
我需要将其实现为算法,因此解决方案越优雅越好。
您可以根据六个线性约束的平方距离。这是一个严格的凸二次规划。
如果调用一个通用的凸 QP-solver(比如我在 Matlab 中的 MINQ)太慢,你可以计算出 Kuhn-Tucker 最优性条件(这里是必要和充分的),并进行案例分析。由于对称性,您只需要区分三种情况:顶点解、射线解和面解。然后您可以对其进行编程,同时考虑置换点的需要,给出额外的案例(但只是置换的解决方案公式)。