【问题标题】:Convex hull in 4D4D 凸壳
【发布时间】:2016-09-28 13:07:41
【问题描述】:

假设四个 4D 点 [1/3, 1/6, 1/3, 1/6], [0, 0, 1/2, 1/2],[0, 0, 0, 1],和 [0, 0, 2/3, 1/3] 被给出。如何在 Python 中计算它们的凸包的以下属性?

1) 极值点集

2) 凸包在不同坐标轴上的投影,即x轴,y轴,...。

【问题讨论】:

    标签: python-2.7 convex-hull


    【解决方案1】:

    我不能专门针对 Python 说话,但您想要的算法是 Jarvis March (aka gift-wrapping method). 从找到一个已知的极值点 A 开始(只需通过数值比较坐标)。然后,将此点与集合中的每个其他点 B 配对,直到找到一个使得集合中的所有其他点都位于 AB 的一侧。这意味着 B 是一个极值点,因此将 A 替换为 B 并重复该过程。最终结果是极值点和凸包。

    注意复杂度为 O(nh),其中 h 是最终找到的外壳顶点数。 Graham scan 效率更高,但不能超越三个维度。

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 2015-02-07
      • 2018-05-17
      • 1970-01-01
      • 2012-06-13
      • 2021-11-07
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      相关资源
      最近更新 更多