Malla de triángulos 3D

malla poligonal compuesta de triángulos

La Malla de triángulos 3D es una colección de triángulos y vértices que aproximan una superficie en 3D.

Ejemplo de malla poligonal. Ilustración de un delfín, representado con triángulos.

Aunque el campo de aplicación de la generación automática de una malla triangular, ha sido tradicionalmente la obtención de modelos digitales de elevaciones del terreno, su aplicación es mucho más amplia. Cualquier variable espacial relacionada con una cierta tipología, es susceptible de ser modelizada como una superficie tridimensional, en la que la cota de cada punto es el valor de la variable a estudiar.

Para saber cómo podríamos descomponer un objeto con todas sus partes, la mínima regla es la teoría del sistema de visión humano. Para interpretar cómo los seres humanos pueden descomponer un objeto en mallas, podríamos desarrollar un algoritmo de segmentación de malla ya que además éste nos permite obtener un nivel superior de descripciones del objeto en cuestión.

Aplicaciones

editar

Una utilidad de las mallas de triángulos podría ser para sistemas de reconocimiento de objetos, la comprensión de una escena, y las características del modelado.

Los gráficos por ordenador también utilizan mallas de triángulos. Se componen de un conjunto de triángulos (normalmente en tres dimensiones) que están conectados por sus vértices.

Muchos paquetes de software de gráficos y dispositivos de hardware puede funcionar de manera más eficiente en triángulos que se agrupan en mallas que en un grupo de triángulos que se presentan individualmente. Esto es porque normalmente los gráficos por ordenador hacen operaciones sobre los vértices (en las esquinas de triángulos). Con cada uno de los triángulos, el sistema tiene que funcionar en tres vértices de cada triángulo. En una gran malla, puede haber ocho o más triángulos reunidos en un único vértice. Así, procesando los vértices una sola vez, es posible hacer una fracción del trabajo y lograr un efecto idéntico.

Las dos interfaces de programación de aplicaciones (APIs) más importantes del mercado gráfico, OpenGL y DirectX, no son compatibles con las mallas arbitrarias de triángulos. Sin embargo, estructuras como tiras de triángulos - (donde cada triángulo, comparte un vértice con un vecino y otro con el próximo) y el abanicos de triángulos (un conjunto de triángulos conectados por un vértice central) se tratan de manera eficiente con la necesidad de sólo procesar N+2 vértices para dibujar N triángulos.

Una malla de triángulos, construida a partir de tiras, en abanico y posiblemente triángulos independientes, generalmente se obtienen mediante un mosaico de objetos poligonales.

Otra forma de evitar la redundancia de procesamiento de vértices es compartiendo vértices explícitos. La definición de los vértices está separada de la descripción triángulo. Todo el conjunto de triángulos se define por un conjunto de índices en una matriz de vértices. El sistema gráfico procesa los vértices primero y hace el render de los triángulos después, utilizando el conjunto de índices trabajando sobre la transformación de datos.

Obtención de las mallas

editar

Para la generación automática de una malla triangular existen distintos estudios y algoritmos. Por ejemplo, hay algoritmos que parten de una nube de puntos irregularmente distribuidos y procurando definir cada triángulo lo más regular posible (el caso óptimo, triángulos equiláteros) permiten la creación de una malla de triángulos.

Partiendo de una distribución irregular de puntos a los que se les ha asociado una cierta variable, por ejemplo su cota, si estamos hablando de un terreno o el valor de la contaminación acústica en una cierta zona urbana, existen técnicas para interpolar dicha variable en cualquier otro punto de la zona en la que no disponemos de su valor mediante un proceso de medición directo. Mientras que algunos de estos métodos están desarrollados a partir de una interpolación que utiliza algoritmos de ‘patches’, superficies cuadráticas, interpolaciones polinómicas, etc.; la técnica habitualmente utilizada es la basada en los polígonos de Voronoi y la triangulación de Delaunay para así obtener una malla triangular, lo más regular posible, tal que los vértices de los triángulos que conforman la malla sean los puntos inicialmente dados.

Compresión

editar

Un método de compresión de una malla con pluralidad de vértices, es decir, que cada vértice se caracteriza por un grado igual al número de bordes incidentes y con la casi totalidad de vértices en un orden consecutivo. Así generamos una lista con la tipología de los grados de los vértices en orden consecutivo y el código de secuencia de señales con la tipología de la lista.