J'écris un script pour calculer le volume de n'importe quel objet 3D de forme aléatoire. Je me fiche de savoir si l'objet est creux ou non j'ai besoin de calculer son volume total. Le modèle de données que j'ai est une table 3D (histogramme de pixels) avec des uns et des zéros. les uns sont évidemment là où se trouve l'objet et les zéros là où nous n'avons rien. pour calculer le volume d'un objet bien rempli c'est aussi simple que d'additionner tous les pixels qui contiennent un et de multiplier par le volume du pixel. En revanche, la principale difficulté demeure lorsque nous avons un objet creux, nous avons donc des zéros entourés de uns. Par conséquent, l'application de la méthode simple que j'ai décrite ici n'est plus valable. Ce que nous devons faire, c'est remplir toute la surface de l'objet avec des uns. Voici un exemple en 2D pour que vous puissiez comprendre ce que je veux dire.
une table 2D :
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0
0 0 1 1 0 0 0 1 1 1 0 0
0 0 0 1 0 0 1 0 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Je dois le transformer en ceci
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 1 0 0
0 0 0 1 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0