Base de datos de formas
La base de datos de formas actúa como un repositorio local de propósito general para modelos CAD 3D. Las entradas en la base de datos de formas se almacenan como mallas 3D (o formas) y pueden representar, por ejemplo, la superficie rugosa de un material obtenida a partir de mediciones AFM, el complejo contacto hexagonal sobre un dispositivo de gran área (véase ??), o los pilares periódicos de un cristal fotónico. Las formas se definen utilizando mallas triangulares. La ventana de la base de datos de formas incluye herramientas para generar nuevos modelos CAD 3D a partir de imágenes 2D, así como para importar mallas externas desde archivos Wavefront OBJ. Es importante destacar que todas las formas de esta base de datos se almacenan persistentemente en disco y están destinadas a representar geometrías más complejas que las generadas por el editor de mallas, que se centra en primitivas geométricas simples como cajas, tubos y esferas (véase Mallas CAD).
Acceso a la base de datos
Las formas se almacenan en la base de datos de formas, a la que se puede acceder a través de la cinta Base de datos haciendo clic en el icono Formas (véase ??). Al hacer clic en el icono de la base de datos de formas se abre la ventana de la base de datos de formas (??).
Intente abrir algunas de las formas para inspeccionarlas. Verá una ventana como la de ??. Este ejemplo muestra una estructura de contacto en panal de una célula solar. A la izquierda está la forma 3D, y a la derecha está la imagen 2D utilizada para generarla. Superpuesta sobre la imagen 2D hay una proyección zx de la malla 3D. Puede activar y desactivar esta malla 2D alternando el botón show mesh en la cinta superior.
Generación de una malla
Una vez abierta la ventana de la base de datos de formas, puede ver y editar cualquier forma almacenada. Muchas formas de la base de datos fueron
creadas originalmente a partir de imágenes 2D utilizando las herramientas integradas de discretización. Esta sección explica cómo funciona
ese proceso. Abra morphology/1 en la base de datos de formas. Verá una ventana similar a
??.
El panel izquierdo muestra la malla triangulada 3D resultante, mientras que el panel derecho muestra la imagen 2D original a partir de la
cual se generó la malla. El botón Show mesh de la cinta File alterna la
superposición de la malla sobre la imagen 2D, permitiéndole inspeccionar cómo la triangulación sigue las características subyacentes.
Para cambiar cómo se convierte la imagen en una malla 3D, haga clic en Edit mesh en la cinta File. Esto abre el cuadro de diálogo de configuración de la malla (??), que le permite controlar el nivel de discretización.
Los parámetros clave son:
- x-triangles — número máximo de triángulos en la dirección horizontal
- y-triangles — número máximo de triángulos en la dirección vertical
- Method — selecciona cómo se construye la malla
- Min allowable angle — evita triángulos extremadamente finos e inestables
Como ejemplo, reduzca tanto x-triangles como y-triangles a 40, y luego
haga clic en Build mesh. La malla resultante contendrá menos triángulos y, por tanto, será menos detallada,
pero más rápida de manejar. Esta reducción es visible inmediatamente en las vistas previas 2D y 3D.
La configuración Method controla cómo se generan los triángulos:
- No reduce: produce una rejilla triangular uniforme y regular. Esto proporciona la geometría más precisa pero crea un gran número de triángulos.
- Node reduce: parte de una rejilla regular y luego elimina puntos innecesarios para reducir el número de triángulos preservando la forma general.
Cambiar a No reduce y reconstruir la malla reemplazará la malla adaptativa con una triangulación regular completa de 70 × 70. Esto es más preciso, pero también más pesado de almacenar y simular. Cada triángulo adicional en una malla introduce una carga computacional extra en una simulación. El objetivo al construir una malla es, por tanto, representar la forma utilizando el menor número posible de triángulos. Si puede describir una superficie completa con un número relativamente pequeño de triángulos, normalmente merece la pena hacerlo. Para formas muy regulares, sin embargo, aplicar Node reduce para reducir el número de triángulos puede ofrecer poco o ningún beneficio; en tales casos una malla regular simple puede ser igual de eficaz. En la práctica, a menudo necesitará experimentar con diferentes configuraciones y métodos para encontrar una malla que proporcione un equilibrio aceptable entre la precisión
y el coste computacional.
Herramientas de generación y filtrado de imágenes 2D
Además de cargar imágenes desde un archivo, el editor de formas contiene un conjunto de herramientas para generar nuevos patrones 2D que pueden convertirse en mallas 3D. Estas herramientas se encuentran bajo la cinta 2D Image e incluyen generadores para una amplia variedad de estructuras:
- Honeycomb para disposiciones de píxeles o rejillas de electrodos
- Photonic crystal con periodicidad configurable
- Lenses definidas como mapas de altura
- Gaussian para protuberancias, cavidades o superficies gradadas
- Saw-wave funciones de altura (ejemplo mostrado abajo)
- Checkerboard para calibración y pruebas
- Perlin noise para generar rugosidad superficial realista
Cada generador proporciona sus propias opciones de configuración, permitiéndole personalizar la geometría antes de convertirla en una malla. Estas imágenes actúan como mapas de altura o máscaras, a partir de los cuales el editor de formas construye la correspondiente estructura 3D.
Después de generar o cargar una imagen, la cinta Filters proporciona herramientas para modificarla antes de la construcción de la malla. Estas incluyen:
- Blur — suaviza ruido o transiciones bruscas
- Normalize (x, y, z) — reescala la imagen en cada dirección
- Threshold — convierte la imagen en una máscara binaria (ejemplo mostrado arriba)
- Rotate — rota el patrón en ángulos fijos o arbitrarios
- Boundary — enfatiza o extrae contornos dentro de la imagen
Estas herramientas le permiten refinar mapas de altura, limpiar imágenes ruidosas o manipular patrones antes de generar la malla triangular final. La combinación de generadores de imágenes y filtros proporciona un flujo de trabajo flexible para crear geometrías 3D complejas y personalizadas directamente dentro de OghmaNano.
Importación desde archivos CAD
Además de generar formas a partir de imágenes 2D, el editor de formas también le permite importar mallas 3D externas utilizando el botón Import CAD file mostrado en ??. OghmaNano admite el formato Wavefront OBJ, que se utiliza ampliamente para almacenar mallas de superficie trianguladas. También encontrará en la base de datos de formas un ejemplo de un modelo CAD importado: la clásica tetera de Utah, mostrada en ??. Esta malla ilustra cómo aparecen los modelos triangulados externos una vez importados en el editor.
Al importar modelos CAD, es importante asegurarse de que la malla forme una superficie cerrada. Una superficie cerrada es aquella en la que cada arista pertenece exactamente a dos triángulos, produciendo un volumen completamente sellado y estanco. Las superficies abiertas, caras ausentes o grietas conducen a ambigüedad al determinar si los puntos están dentro o fuera del objeto, lo que las hace inadecuadas para simulación.
Las mallas CAD suelen estar diseñadas para mecanizado y fabricación, no para simulación numérica. Como resultado, a menudo contienen muchos más triángulos de los necesarios para el modelado óptico o físico. Un gran número de triángulos incrementa significativamente el tiempo de cálculo en el trazado de rayos y otros solucionadores.
Para obtener el mejor rendimiento, asegúrese de que las mallas importadas:
- formen una superficie completamente cerrada y estanca,
- contengan solo tantos triángulos como sean necesarios para representar la geometría, y
- tengan eliminadas las características finas innecesarias o los artefactos de mecanizado.
Seguir estas directrices ayudará a garantizar que las geometrías CAD importadas se ejecuten de forma eficiente dentro de OghmaNano.
El formato de archivo de forma
Una forma debe formar un volumen completamente cerrado. Si utiliza el discretizador de formas integrado esta condición se impone automáticamente. Sin embargo, si construye formas manualmente debe asegurarse de que el volumen esté cerrado.
Cada directorio de formas contiene los siguientes archivos:
| Nombre de archivo | Descripción | |
|---|---|---|
| \(data.json\) | Datos de configuración de la forma. | |
| \(image\_original.png\) | Copia de seguridad de la imagen importada. | |
| \(image\_out.png\) | La imagen final procesada. | |
| \(image.png\) | La copia de trabajo de la imagen importada. | |
| \(shape.inp\) | La malla 3D discretizada de la forma. |
Los archivos PNG representan la imagen en diferentes etapas del procesamiento. El archivo data.json almacena la
configuración del editor de formas, y el archivo shape.inp contiene la estructura 3D del objeto.
Un archivo shape.inp de ejemplo se muestra en
??.
El formato está diseñado para que gnuplot pueda abrirlo directamente usando el comando splot.
Cada triángulo se describe mediante cuatro puntos z, x, y: las tres primeras líneas definen el triángulo, y la
cuarta repite el primer punto para que gnuplot pueda dibujar un contorno cerrado. El número de triángulos en
el archivo se define en una línea que comienza con #y.
Las magnitudes exactas de los valores z, x, y no importan. En cuanto se carga la forma, todos los valores
se normalizan de modo que el punto mínimo de la forma se sitúe en (0, 0, 0) y el punto máximo se encuentre en
(1, 1, 1). Cuando la forma se inserta en una escena, se vuelve a normalizar al tamaño físico deseado
del objeto en el dispositivo.
shape.inp. Cada triángulo se define mediante cuatro puntos z, x, y y puede
visualizarse directamente usando gnuplot.
👉 Siguiente paso: Para un ejemplo práctico de cómo generar formas, consulte por favor el tutorial sobre la base de datos de formas y cómo crear formas 3D a partir de imágenes en este enlace.