ボクセルで 3D ボリュームを分解するアルゴリズムを実装する必要があります。アルゴリズムは、どの頂点が切断計画の各側にあるかを識別することから始まり、2 番目のステップでどのエッジが切断計画を横切るかを識別します。
このプロセスは、ソートされたリストの利点を利用して最適化できます。分割点を特定するのは O log(n) です。しかし、軸ごとに 1 つのソートされたリストを維持する必要があり、これは頂点とエッジに対して維持する必要があります。これは GPU で使用するために実装されるため、メモリ管理 (つまり CUDA) にもいくつかの制約があります。押し付けがましいリスト M/trees と C が課せられます。
完全な「ボクセル化」により、最終的に 4000 個のポイントと 12000 個のエッジになると予想しています。幸いなことに、これはよりスマートな戦略を使用して処理されたボクセルを取り除き、残りのボリュームをカットしてその数を最小限に抑えることで最適化できます。この場合、100 個未満のポイントと 300 個のエッジがあると予想されます。これにより、プロセスの管理がより複雑になりますが、最終的にはより効率的になります。
したがって、問題は、並べ替えられたデータ構造を使用する利点が、単純な侵入型リンクリストと比較して、労力と複雑なオーバーヘッドに見合う価値があるかどうかを判断する基準を特定するのに役立つことです。