Tutorial de la base de datos de formas (Parte A): Creación de formas 3D a partir de imágenes
La base de datos de formas en OghmaNano es un repositorio de objetos geométricos que pueden reutilizarse en distintas simulaciones. Es especialmente útil para formas que no pueden describirse fácilmente mediante funciones analíticas simples – por ejemplo rugosidad superficial derivada de AFM, cristales fotónicos generados a partir de imágenes 2D o geometrías CAD importadas. Una vez que una forma se ha construido y almacenado aquí, puede asociarse a objetos en el Optical Workbench y utilizarse en ray-tracing, FDTD u otras simulaciones ópticas.
En esta primera parte creará una estructura simple de demostración a partir de un patrón 2D integrado, la convertirá en una malla triangular 3D y explorará cómo la resolución de la malla afecta tanto a la calidad visual como al coste computacional de sus simulaciones.
Paso 1: Abrir la base de datos de formas
Comience desde cualquier simulación (por ejemplo la demostración de ray-tracing Reflection from film). Haga clic en la pestaña Databases de la cinta y luego haga clic en Shape database, como se resalta en ??. Esto abre la ventana de la base de datos de formas (??).
afm_image, photonic_xtal, saw_wave,
teapot). Puede reutilizarlas en múltiples simulaciones.
Paso 2: Crear una nueva entrada de forma
Para crear una nueva forma, haga clic derecho en el área blanca de la ventana de la base de datos de formas y elija New → New shape en el menú contextual, como se muestra en ??.
Aparece un cuadro de diálogo solicitando un New shape name. Introduzca
demo y haga clic en OK. A continuación se abre la ventana del Shape editor
para su nueva forma
(??).
Paso 3: Inspeccionar la vista predeterminada del editor de formas
El editor de formas muestra una vista 3D a la izquierda y una imagen 2D a la derecha (??). El patrón 2D predeterminado es una matriz simple de círculos blancos sobre fondo negro, que representa un cristal fotónico o una matriz de pilares. Inicialmente, la vista 3D contiene solo una rejilla plana.
demo.
El panel derecho muestra un patrón 2D predeterminado; el panel izquierdo mostrará la malla 3D
una vez que se haya construido.
La barra de herramientas en la parte superior del editor de formas contiene tres botones clave para este tutorial:
- Show Mesh – alterna la visualización de la malla 3D existente.
- Edit Mesh – abre la ventana de configuración de la malla.
- Build Mesh – convierte la imagen 2D en una malla triangular 3D.
Paso 4: Construir su primera malla
Haga clic en Build Mesh (icono de triángulo azul). El patrón de la derecha se convierte en una matriz 3D de pilares en la vista de la izquierda y se genera una malla superficial triangular para aproximar la forma 2D (??).
Utilice el ratón para rotar y ampliar la vista 3D. Probablemente observará que los pilares son bastante angulares – más triangulares que circulares. Esto se debe a que la resolución inicial de la malla es intencionadamente baja, utilizando solo un número modesto de triángulos para mantener la malla ligera.
Paso 5: Refinar la resolución de la malla
Para mejorar la fidelidad de la forma, haga clic en Edit Mesh en la barra de herramientas del editor de formas. Esto abre la ventana Configure mesh (??).
Los campos importantes son:
- x-triangles / y-triangles: el número de triángulos utilizados para sembrar la malla en cada dirección (por ejemplo 20 × 20 o 40 × 40).
- Method: la estrategia de mallado. El método predeterminado
Node reducecomienza a partir de una rejilla regular y después elimina triángulos que no son necesarios para representar la forma. - Min allowable angle: una restricción de calidad que evita triángulos extremadamente estrechos.
Intente aumentar la resolución de 20 a 40 en ambos x-triangles y y-triangles, luego haga clic en OK para cerrar el cuadro de diálogo y haga clic en Build Mesh de nuevo. Repita este proceso varias veces, experimentando con valores como 40 × 40 o 50 × 50, e inspeccione cómo los pilares 3D cambian de forma.
Recuerde que con el método Node reduce, el algoritmo comienza con una rejilla completa
de triángulos y luego elimina aquellos que no son importantes para representar la
forma. Por tanto, la malla final contiene menos triángulos que los que el producto bruto
x-triangles × y-triangles podría sugerir.
Paso 6: Comparar con una malla refinada
Después de aumentar la resolución y reconstruir, debería obtener una malla similar a ??. Los pilares ahora parecen mucho más circulares y las facetas triangulares son más pequeñas y están más uniformemente distribuidas.
Paso 7: Elegir un método de mallado
Para muchos patrones, el algoritmo Node reduce funciona bien, porque elimina
triángulos redundantes y mantiene la forma compacta. Sin embargo, para algunas superficies – en particular
mapas de altura AFM u otras superficies rugosas – descartar triángulos puede provocar una pérdida de detalle.
En tales casos puede preferir utilizar un método que no reduzca el número de nodos
(por ejemplo una opción no-reduction o uniform grid en el
menú desplegable Method, si está disponible). Esto preserva una rejilla triangular regular sobre toda la
imagen.
Sea cual sea el método que elija, es importante equilibrar precisión y velocidad. Cada triángulo adicional contribuye al coste de las simulaciones ópticas posteriores. En la práctica, el tiempo de ejecución a menudo crece más que linealmente con el número total de triángulos, así que:
- Utilice la malla más pequeña que siga capturando las características esenciales de la forma.
- Evite la tentación de utilizar mallas extremadamente finas “por si acaso” – pueden ralentizar drásticamente los cálculos de ray tracing o FDTD.
- Mantenga una copia tanto de una versión de “alta resolución” como de una versión “ligera” de las formas complejas en la base de datos para poder elegir la adecuada para cada estudio.
👉 Siguiente paso: Continúe con Parte B (marcador de posición) para aprender a importar archivos CAD externos a la base de datos de formas y convertirlos en mallas adecuadas para las simulaciones de OghmaNano.