El documento describe el algoritmo Marching Cubes, el cual extrae una malla poligonal de una isosuperficie desde un campo escalar tridimensional discretizado. Explica cómo el algoritmo funciona en 2D y 3D, considerando valores escalares en cuadrículas/cubos y generando líneas/polígonos interpolados. También discute problemas como caras ambiguas que pueden generar agujeros en la superficie, y posibles soluciones como distinguir entre caras ambiguas separadas o unidas.
3. INTRODUCCIÓN
• La visualización científica es una de las tecnologías derivadas de las Ciencias de la
Computación que actualmente están revolucionando con mayor fuerza las metodologías de
investigación científica en todos sus campos.
• Por visualización se entiende el empleo de técnicas derivadas de la computación gráfica
utilizadas para la representación de datos científicos de diverso tipo.
4. • Una de las primeras técnicas de rendering de volúmenes que consiste en graficar por capas el
volumen de datos. Normalmente el volumen de datos se hace coincidir con los ejes del
sistema de coordenadas del mundo, de modo que el eje z (hacia donde mira el observador)
coincida con uno de los ejes del volumen de datos.
5. EL ALGORITMO DE MARCHING CUBES
• Marching cubes es un gráficos por ordenador algoritmo , publicado en el
1987 SIGGRAPH procedimientos por Lorensen y Cline, para la extracción de una malla poligonal de
un isosuperficie desde una discreta tridimensional campo escalar (a veces llamado voxels ).
6. 2D
• El algoritmo de marching cubes tiene como
objetivo trazar líneas entre los valores
interpolados a lo largo de los bordes de un
cuadrado, teniendo en cuenta los pesos dados
de las esquinas y un valor de referencia. Vamos
a considerar una rejilla 2D como se muestra en
la siguiente imagen.
7. • Cada punto de esta rejilla tiene un peso y aquí el
valor de referencia se conoce como 5. Para dibujar
la curva cuyo valor es constante y es igual a la de
una referencia, diferentes tipos de interpolación se
pueden utilizar. El más utilizado es la interpolación
lineal.
• Para poder visualizar esta curva, se pueden utilizar
diferentes métodos. Uno de ellos consiste en
considerar individualmente cada cuadrado de la
cuadrícula. Este es el método marching cubes. Para
este método 16 configuraciones se han
enumerado, que permite la representación de todo
tipo de líneas en el espacio 2D.
8. 3D
• El algoritmo procede a través del campo escalar, teniendo ocho lugares vecinos en un momento
(formando de esta manera un cubo imaginario), entonces la determinación del polígono (s) necesaria
para representar la parte de la isosuperficie que pasa a través de este cubo. Los polígonos individuales
se fusionan entonces a la superficie deseada.
9. • Esto se hace mediante la creación de un índice a una matriz precalculada de 256 posibles
configuraciones de polígono (2 8 = 256) dentro del cubo, mediante el tratamiento de cada uno de los 8
valores escalares como un bit en un número entero de 8 bits. Si el valor del escalar es mayor que el
valor iso (es decir, está dentro de la superficie), entonces el bit correspondiente se pone a uno, mientras
que si es inferior (exterior), se pone a cero. El coste final, después de los ocho escalares se comprueban,
es el índice real a la matriz de índices de polígonos.
• Finalmente cada vértice de los polígonos generados se coloca en la posición apropiada a lo largo de la
orilla del cubo interpolando linealmente los dos valores escalares que están conectados por ese borde.
11. • Sin modificaciones en el algoritmo original [2, 6], algunos casos resultan en superficies con "agujeros“.
Cuando una celda tiene por lo menos una cara tal que dos de sus vértices tienen valores por encima del
umbral y los otros dos por debajo, y estos vértices están diagonalmente separados, entonces es
imposible decidir si el volumen pasa "por dentro" de la cara o por fuera (es decir, los vértices están
unidos por el volumen o separados por un espacio vacío
12. Esta situación suele denominarse cara
ambigua. No es posible determinar a
priori que una configuración con caras
ambiguas debe ser separada o unida.
13. SOLUCIONES
• Se ve entonces la necesidad de distinguir entre una cara ambigua separando los puntos marcados y una
cara ambigua uniendo dichos puntos, es decir, hay dos posibles conexiones para aparear los cuatro
puntos que dividen las aristas de la cara. Para lograr una superficie topológicamente correcta, las dos
celdas en cuestión deben optar por la misma conexión y en función de esta decisión elegir la
triangulación correcta en cada caso.