Que signifient les voxélisations «6 séparations» et «26 séparations»?

11

Je lisais cet article sur Voxelpipe, une bibliothèque de voxélisation de NVIDIA et j'ai trouvé dans la section 2 Voxélisation les termes 6-séparation et 26-séparation

J'ai trouvé ce site Web qui essaie d'expliquer les idées de base sur la voxélisation mais ce n'était pas très utile de comprendre les termes mentionnés.

Quelqu'un peut-il expliquer ou indiquer une autre ressource qui peut m'aider à comprendre?

BRabbit27
la source

Réponses:

17

Les termes ont à voir avec "l'épaisseur" de la voxélisation. Je vais illustrer à l'aide d'un diagramme sur la pixellisation de lignes 2D (à partir de cette question non liée ).

entrez la description de l'image ici

À droite se trouve la pixellisation de ligne typique: l'algorithme trouve le pixel le plus proche de la ligne dans chaque ligne (ou colonne, selon la pente). Cela produit ce que nous considérons habituellement comme une ligne de "1 pixel d'épaisseur". Sur la gauche se trouve une pixellisation conservatrice, qui trouve chaque pixel dont le rectangle est touché par la ligne et produit une ligne plus épaisse.

La voxélisation à 6 séparations est comme la ligne mince à droite et la séparation à 26 correspond à la ligne épaisse à gauche, mais en 3D. Si vous imaginez que la ligne est en fait un triangle vu sur le bord, cela ressemble à ce à quoi ressemblerait la voxélisation.

Différents types de voxélisation peuvent être meilleurs en fonction de ce que vous allez faire ultérieurement avec les données voxélisées. Si vous utilisez les voxels comme une hiérarchie spatiale pour trouver des triangles qui coupent une région donnée, vous voulez probablement la voxélisation épaisse, car elle est conservatrice. La voxélisation épaisse peut également être préférable pour la radiographie, car la voxélisation mince peut être manquée par un rayon diagonal. D'autre part, la voxélisation mince est une représentation plus fidèle de la surface d'origine, ce qui est probablement mieux pour les tests de visibilité, la détection de collision, la simulation de fluides, etc.

La terminologie «n-séparant» est un peu malheureuse, mais voici où elle en est. Imaginez que vous faites un remplissage 3D dans la grille de voxels, mais dans le remplissage, vous ne regardez que les 6 voisins directs de chaque voxels (± 1 pas le long de chaque axe). Ensuite, la voxélisation (mince) "à 6 séparations" arrêtera le remplissage: il suffit de séparer les deux côtés de la surface, si seulement 6 voisins sont pris en compte. D'un autre côté, supposons que votre remblayage soit autorisé à aller également vers des voisins diagonaux - 26 voisins en tout (3 × 3 × 3 voisinage de voxels). Ensuite, la voxélisation à 6 séparations n'arrêterait pas le remplissage, mais celle à 26 séparations (épaisse) le ferait.

Nathan Reed
la source
Agréable ! Votre explication me donne l'intuition à ce sujet. Avez-vous des sources où je peux lire un peu plus sur la pixellisation? Je suppose que ce truc de n-séparation vient de la 2D où il est plus facile à comprendre et alors je peux réfléchir davantage pour saisir les 6 et 26 séparations en 3D.
BRabbit27
1
@ BRabbit27 Je ne pense pas que la terminologie "n-séparant" soit beaucoup utilisée dans la rastérisation 2D; Je ne l'ai vu qu'en discutant de la voxélisation. Il fait simplement référence au nombre de voisins. Je vais ajouter un peu à la réponse à ce sujet.
Nathan Reed