Modos de representar objetos 3D para diseño o impresión


Nos adentramos en la sección de diseño e impresión 3D, y empezamos propiamente dicho con los tutoriales de diseño 3D viendo la base, las formas fundamentales de representar un objeto 3D en un ordenador.

Después de unas entradas dedicadas a la impresora Anycubic 3D, y haber visto en la entrada anterior la visión general del proceso de impresión 3D, toca meternos en profundidad en el apasionante mundillo de las 3D.

Ya os adelanto si sois de los que estáis deseando “fundir plástico” seguramente no encontraréis tan interesante esta entrada (¡ni tampoco la necesitáis!). Pero vosotros no queréis ser “uno más” de los que encienden la impresora, enchufan el FreeCAD o se bajan un STL, y se ponen a imprimir sin más

Vosotros queréis convertiros en unos expertos en 3D y entender los entresijos de este apasionante mundo. Y para eso, lo mejor es tener una buena base, que os permitirá entender lo que estáis haciendo, hablar con propiedad y, además, evitar dar “vueltas” y pasos innecesarios al trabajar con objetos 3D.

Anuncio:

Y todo empieza por entender cómo se presenta en un ordenador eso que (y no deja de ser un “ente extraño”) llamamos “objeto 3D”. Entender las diferencias será importante cuando abordemos el proceso de diseño o impresión 3D.

Así que en esta entrada veremos las principales formas de representar un objeto 3D en un ordenador.

Nube de puntos

La forma más básica de representar un objeto 3D es una nube de puntos, donde cada punto es un vértice con coordenadas X, Y, Z. Opcionalmente, pueden tener otras características como el color.

Las nubes de puntos son importantes en el mundo de la impresión 3D, principalmente, porque los escáneres 3D devuelven una nube de puntos.

Por una sencilla limitación física, cualquier sensor (una cámara, un palpador) debe tomar un número finito de puntos. Por tanto, independientemente del escáner 3D que tengáis el resultado de un escaneo siempre va a ser una nube de puntos.

Para convertir una nube de puntos en una malla 3D o en un sólido 3D necesitaremos dos procesos adicionales que llamamos triangulación e ingeniería inversa, respectivamente, y que veremos brevemente en la siguiente entrada.

Modelos mallados

Esta es la forma más habitual de representar un modelo 3D y a la que, seguramente, estamos más acostumbrados. Son ampliamente empleadas en animación para video juegos o películas.

Una malla 3D está formada por una serie de puntos, unidos por aristas, que a su vez forman caras. Las caras tienen normales (la dirección a la que “apunta” la cara).

Generalmente, las mallas pueden tener un material, o textura, es decir, algún tipo de representación del color. Con frecuencia, el material es una imagen (bitmap) que se “proyecta” sobre la malla. La relación entre la imagen plana y la correspondencia en las caras se conoce como mapeado UVW.

Dentro de la representación mediante mallas 3D, vamos a destacar los siguientes tipos:

Mallas trianguladas

Una malla triangulada, como su nombre sugiere, es simplemente una malla formada enteramente por triángulos. Es la malla más “sencilla” que podemos concebir, ya que cada cara puede estar contenida por tres lados/tres vértices como mínimo.

Internamente, y salvo raras excepciones, tu ordenador solo sabe representar superficies trianguladas. Así que, incluso cuando estamos usando cualquiera de las otras formas de representación, a la hora de mostrarla en la pantalla internamente la convierte en una malla triangulado.

Tu tarjeta gráfica contiene de circuitos especialmente diseñados para acelerar los cálculos de intersecciones de triángulos y rayos de luz, y entre ellos (colisiones).

Mallas poligonales (Quads, Ngons)

Una malla poligonal es una malla formada por polígonos de N lados (llamados a veces Ngons) es, en cierta forma, una evolución de las superficies trianguladas.

Las mallas poligonales son generalmente más sencillas y cómodas de manipular por parte del diseñador, ocultando aristas que realmente no son relevantes. También son más cómodas de texturizar y animar.

Por su parte, los Quads son polígonos de 4 lados. Una malla 100% quads es una malla formada totalmente por polígonos de 4 lados, y tienen ciertas ventajas para el modelado, sobre todo para hacer Sub-D (que veremos en el siguiente apartado).

Sin embargo, aunque manejemos polígonos de N lados, la malla internamente está formada por triángulos. El programa únicamente nos “oculta” alguna de las aristas y nos proporciona herramientas para que sea más cómodo de usar.

Mallas Subdivision (Sub-D)

El modelado de subdivisión (a veces abreviado Sub-D) es una técnica de modelado basado en mallas que, actualmente, podríamos considerar uno de los principales métodos de dibujo en 3D.

El modelado Sub-D consiste en una malla, generalmente poligonal, a la que se le ha aplicado un algoritmo de subdivisión.

El algoritmo de subdivisión añade puntos adicionales intermedios y, según algún criterio (que depende del algoritmo), mueve la posición de los vértices para dar “suavidad” a la malla. El proceso puede repetirse varias veces, obteniendo distintos niveles de detalle creciente.

El diseñador puede modificar los vértices de los distintos niveles de subdivisión en cualquier momento para modificar la malla. De esta forma es posible tanto conseguir a la vez formas suaves y un gran detalle sin tener que mover una gran cantidad de vértices.

Existen distintos algoritmos de subdivisión, en los que podemos destacar el tradicional Loop, el omnipresente Catmull Clark, o el más moderno OpenSubDiv desarrollado por Pixar.

Con el modelado Sub-D se obtienen mallas con un gran número de polígonos y, por tanto, pesadas y lentas de procesar. Normalmente, posteriormente, se “proyecta” el modelo de alta resolución en un modelo de baja resolución, y parte del detalle pasa a formar parte del “normal map”.

El modelado de Sub-D tiene grandes ventajas tanto desde el punto de vista del diseño, como para la aplicación de texturas y animación de mallas, por lo que es uno de los principales modelos de dibujo en 3D.

Finalmente, el modelado Sub-D representa adecuado para el modelado de formas geométricas complejas y modelos que requieran muchas curvas, como el modelado orgánico. Por contra, es adecuado para modelos con caras planas o aristas vivas.

Modelado superficies

El modelado de superficies de una forma radicalmente distinta a las mallas de representación de objetos tridimensionales, basado en modelos matemáticos. Estos modelos matemáticos permiten describir una superficie curva en el espacio tridimensional.

Generalmente se emplean superficies NURBS (Non Uniform Rational B-Splines), o alguna de sus variaciones como las T-Splines o T-NURCCs (Non-Uniform Rational Catmull-Clark Surfaces with T-junctions).

Al emplear un modelo matemático, las superficies representan un medio continuo en lugar de una aproximación discreta. Así, la representación de un cilindro tiene de base y tapa un círculo, en lugar de un polígono con un cierto número de lados. Por tanto, proporcionan un gran detalle y suavidad en las curvas.

Las herramientas típicas de modelado de superficies son la extrusión, revolución, solevolado, y barrido de carril. Además, se puede definir agujeros en la superficie y proyectar curvas en las superficies.

Las superficies, por definición, no tienen volumen. Por tanto, no son fabricables/realizables físicamente. Para poder fabricarlas se necesitará aplicar una operación de espesado o cerrarlas en un sólido.

Salvo destacadas excepciones, en general, las superficies tampoco pueden ser representadas por la tarjeta gráfica. Para hacerlo, internamente son convertidas en una malla triangular.

El modelado de superficies está tradicionalmente vinculado en el diseño de piezas de fabricación con curvas complejas (piezas de plástico, automoción, etc). Permite representar modelos curvos con facilidad, a la vez que caras planas o aristas. Sin embargo, no es apropiado para modelos con curvas poco “regulares”, como el modelado orgánico.

Modelado de sólido

El modelado sólido es la forma tradicional de funcionamiento de lo que conocemos como software CAD. El modelado sólido está, a grandes rasgos, constituido por modelado de superficies junto al concepto de “dentro” y “fuera”.

Por ejemplo, al hacer una operación de extrusión aditiva (protusión) o extrusión sustractiva (vaciado, agujero) el sistema realiza las intersecciones y cambios de normal necesarias para representar correctamente el sistema.

Gran parte de la complejidad de los sistemas de modelado sólido radica en las formas de calcular de forma eficiente estas operaciones (como por ejemplo los K-trees), especialmente a medida que la complejidad de la pieza aumenta.

Al estar, en realidad, basados en el modelado de superficies, las herramientas básicas siguen siendo las mismas (extrusión, revolución, solevolado, barrido…). Pero los softwares de CAD incorporan muchas más operaciones y herramientas que permiten realizarlas de forma más intuitiva y, generalmente, más similares a operaciones físicas de mecanizado (chaflán, redondeo, agujero, galce).

Como decíamos, el modelado sólido es esta tradicionalmente vinculado con el software de CAD, y resulta adecuado para representar piezas mecánicas y objetos fabricables.

Reflexión. Es interesante plantearse que la relación ocurre en ambos sentidos. El modelado sólido representa bien los objetos que fabricamos, en parte porque los usamos para fabricarlos. A medida que el CAD evoluciona, también evoluciona la complejidad de las piezas que fabricamos.

Estas son, a modo muy resumido, las formas que tenemos de representar un objeto 3D en un ordenador. Cada uno con sus ventajas e inconvenientes, y más adecuados para un tipo de objeto que para otros.

Por si os lo estabais preguntando, en general, no es sencillo pasar de una a otra. Algo que veremos en la siguiente entrada sobre triangulación, retopología, e ingeniería inversa.

En las próximas entradas veremos software de diseño 3D, y software CAD que emplean uno o varios de estos métodos para el diseño 3D. Mientras tanto, si os ha gustado el tema y queréis añadir algo, o bien si tenéis alguna pregunta ¡podéis dejarnos un comentario!

Anuncio:

Previous Motores paso a paso en silencio con Arduino y los driver TMC2100, TMC2130 y TMC2208
Next Tu casa domótica con los dispositivos Sonoff de Itead
1000