在增量Convex Hull 3D期间获取一个点的地平线

时间:2013-08-26 14:38:41

标签: c++ algorithm qt complexity-theory convex-hull

我用qt在c ++中实现增量CH 3D,但我无法解决这个问题:

我必须找到给定点的视图范围:

horizon

我有一个Map,其中包含给定点“pr”的所有可见面的列表,但我不知道如何在不改变算法复杂度的情况下获得地平线(它是O(nlogn))。

我的想法是:对于所有可见面部的边缘,检查双胞胎的入射面是否可见。如果它不可见,那么将其添加到地平线边缘列表中,但这种变化算法的复杂性(我认为)。

请注意,我有另一个列表,其中包含可以查看给定面部的所有点的集合(可能有帮助)。

提前非常感谢

1 个答案:

答案 0 :(得分:1)

如果你只有凸多面体,你的想法应该这样做(它的复杂性是O(1),你已经有了结果)。是的,你会用复杂度O(n)进行额外的查找。