0

記事Advanced Octrees 2: ノード表現では、次のように述べられています。

ノードの AABB は、以前のように明示的に格納することも、ロケーション コード内に暗黙的に格納されたノードのツリーの深さから計算することもできます。ノードのツリーの深さをロケーション コードから取得するには、ロケーション コードの終了を示すフラグ ビットが必要です。このようなフラグがないと、たとえば 001 と 000 001 を区別することはできません。1 ビットを使用してシーケンスの終わりをマークすることにより、1 001 を 1 000 001 と簡単に区別できます。このようなフラグを使用することは、 Octree ルートの位置コードを 1 にします。

ロケーション コードは 32 ビット ワードです。つまり、最初の例に続くすべてのビットが2番目の例のビット... 001と等しい場合... 000 001、著者が言うように等しいかもしれません。

シーケンスの終わりをマークすることは、ツリー内のノードの深さを見つけるのにどのように役立ちますか?

著者は例... 1 001と を使用し... 1 000 001ます。最初のノードの深さは 1 で、2 番目のノードの深さは 2 ですか? もしそうなら、どうすればわかりますか?ロケーション コードは 32 ビット ワードであるため、「終了フラグ」に続くビットは、... 001 001どちらも有効なノードとして続くことができます。

したがって、私が本当に理解していないのは、ツリー内のノードの位置コードと深さの両方を 32 ビット ワードに格納する方法です。

4

1 に答える 1