2

qt を使用して C++ でインクリメンタル CH 3D を実装していますが、この問題を克服できません。

特定のポイントの視野の地平線を見つける必要があります。

地平線

特定のポイント「pr」のすべての可視面のリストを含むマップがありますが、アルゴリズムの複雑さを変更せずに地平線のみを取得する方法がわかりません(O(nlogn)です)。

私の考えは、すべての目に見える面のエッジについて、双子の入射面が見えるかどうかを確認することでした。表示されていない場合は、地平線の端のリストに追加しますが、この変更アルゴリズムの複雑さ (と思います)。

特定の面を表示できるすべてのポイントのセットを含む別のリストがあることに注意してください (役立つ場合があります)。

事前に本当にありがとう

4

1 に答える 1

1

凸多面体がある場合は、あなたのアイデアでそれを行う必要があります (複雑さは O(1) で、既に結果が得られています)。ええ、複雑さ O(n) で追加のルックアップを行うことになります。

于 2013-08-26T21:31:59.783 に答える