离多面体圆锥最近的点

计算科学 最近点
2021-11-29 13:22:04

我有一个 6 边的等边多面体圆锥R3 由一组对称方程定义:

C={(X1,X2,X3) | KXiXji,j{1,2,3}}

给定一个点,我想知道圆锥上最接近的点是什么。P=(P1,P2,P3)P

我需要将其实现为算法,因此解决方案越优雅越好。

1个回答

您可以根据六个线性约束的平方距离。这是一个严格的凸二次规划。X

如果调用一个通用的凸 QP-solver(比如我在 Matlab 中的 MINQ)太慢,你可以计算出 Kuhn-Tucker 最优性条件(这里是必要和充分的),并进行案例分析。由于对称性,您只需要区分三种情况:顶点解、射线解和面解。然后您可以对其进行编程,同时考虑置换点的需要,给出额外的案例(但只是置换的解决方案公式)。