我用qt在c ++中实现增量CH 3D,但我无法解决这个问题:
我必须找到给定点的视图范围:
我有一个Map,其中包含给定点“pr”的所有可见面的列表,但我不知道如何在不改变算法复杂度的情况下获得地平线(它是O(nlogn))。
我的想法是:对于所有可见面部的边缘,检查双胞胎的入射面是否可见。如果它不可见,那么将其添加到地平线边缘列表中,但这种变化算法的复杂性(我认为)。
请注意,我有另一个列表,其中包含可以查看给定面部的所有点的集合(可能有帮助)。
提前非常感谢
答案 0 :(得分:1)
如果你只有凸多面体,你的想法应该这样做(它的复杂性是O(1),你已经有了结果)。是的,你会用复杂度O(n)进行额外的查找。