Banco de dados de formas
O Banco de dados de formas atua como um repositório local de uso geral para modelos CAD 3D. As entradas no Banco de dados de formas são armazenadas como malhas 3D (ou formas) e podem representar, por exemplo, a superfície rugosa de um material obtida a partir de medições de AFM, o complexo contato hexagonal em um dispositivo de grande área (veja ??), ou os pilares periódicos de um cristal fotônico. As formas são definidas usando malhas triangulares. A janela do Banco de Dados de Formas inclui ferramentas para gerar novos modelos CAD 3D a partir de imagens 2D, bem como importar malhas externas de arquivos Wavefront OBJ. Fundamentalmente, todas as formas neste banco de dados são armazenadas de forma persistente em disco e destinam-se a representar geometrias mais complexas do que aquelas geradas pelo Editor de malha, que se concentra em primitivas geométricas simples, como caixas, tubos e esferas (veja Malhas CAD).
Acessando o banco de dados
As formas são armazenadas no Banco de Dados de Formas, que pode ser acessado pela faixa de opções Banco de Dados clicando no ícone Formas (veja ??). Clicar no ícone Banco de dados de formas abre a janela do Banco de Dados de Formas (??).
Tente abrir algumas das formas para inspecioná-las. Você verá uma janela como a da ??. Este exemplo mostra uma estrutura de contato em favo de mel de uma célula solar. À esquerda está a forma 3D, e à direita está a imagem 2D usada para gerá-la. Sobreposta à imagem 2D está uma projeção zx da malha 3D. Você pode desligar e ligar essa malha 2D alternando o botão mostrar malha na faixa de opções superior.
Gerando uma malha
Depois que a janela do Banco de Dados de Formas estiver aberta, você poderá visualizar e editar qualquer forma armazenada. Muitas formas no banco de dados foram
originalmente criadas a partir de imagens 2D usando as ferramentas de discretização integradas. Esta seção explica como esse processo
funciona. Abra morphology/1 no Banco de Dados de Formas. Você verá uma janela semelhante à
??.
O painel esquerdo mostra a malha triangulada 3D resultante, enquanto o painel direito exibe a imagem 2D original a partir da
qual a malha foi gerada. O botão Mostrar malha na faixa de opções Arquivo alterna a
sobreposição da malha na imagem 2D, permitindo inspecionar como a triangulação segue as feições subjacentes.
Para alterar como a imagem é convertida em uma malha 3D, clique em Editar malha na faixa de opções Arquivo. Isso abre a caixa de diálogo de configuração da malha (??), que permite controlar o nível de discretização.
Os parâmetros principais são:
- x-triangles — número máximo de triângulos ao longo da direção horizontal
- y-triangles — número máximo de triângulos ao longo da direção vertical
- Method — seleciona como a malha é construída
- Min allowable angle — evita triângulos extremamente finos e instáveis
Como exemplo, reduza tanto x-triangles quanto y-triangles para 40, então
clique em Build mesh. A malha resultante conterá menos triângulos e, portanto, será menos detalhada,
mas mais rápida de usar. Essa redução é visível imediatamente nas visualizações 2D e 3D.
A configuração Method controla como os triângulos são gerados:
- No reduce: produz uma grade triangular uniforme e regular. Isso fornece a geometria mais precisa, mas cria um grande número de triângulos.
- Node reduce: começa a partir de uma grade regular e então remove pontos desnecessários para reduzir a contagem de triângulos enquanto preserva a forma geral.
Mudar para No reduce e reconstruir a malha substituirá a malha adaptativa por uma triangulação regular completa 70 × 70. Isso é mais preciso, mas também mais pesado para armazenar e simular. Cada triângulo adicional em uma malha introduz carga computacional extra em uma simulação. O objetivo ao construir uma malha é, portanto, representar a forma usando o menor número possível de triângulos. Se você puder descrever uma superfície inteira com um número relativamente pequeno de triângulos, normalmente vale a pena fazê-lo. Para formas muito regulares, no entanto, aplicar Node reduce para reduzir a contagem de triângulos pode oferecer pouco ou nenhum benefício; nesses casos, uma malha regular simples pode ser igualmente eficaz. Na prática, você frequentemente precisará experimentar diferentes configurações e métodos para encontrar uma malha que forneça um equilíbrio aceitável entre precisão
e custo computacional.
Ferramentas de geração e filtragem de imagem 2D
Além de carregar imagens de um arquivo, o Editor de Formas também contém um conjunto de ferramentas para gerar novos padrões 2D que podem ser convertidos em malhas 3D. Essas ferramentas estão localizadas na faixa de opções Imagem 2D e incluem geradores para uma ampla gama de estruturas:
- Honeycomb para layouts de pixels ou grades de eletrodos
- Photonic crystal com periodicidade configurável
- Lenses definidas como mapas de altura
- Gaussian para saliências, cavidades ou superfícies graduadas
- Saw-wave funções de altura (exemplo mostrado abaixo)
- Checkerboard para calibração e testes
- Perlin noise para gerar rugosidade superficial realista
Cada gerador fornece suas próprias opções de configuração, permitindo personalizar a geometria antes de convertê-la em uma malha. Essas imagens atuam como mapas de altura ou máscaras, a partir dos quais o Editor de Formas constrói a estrutura 3D correspondente.
Após gerar ou carregar uma imagem, a faixa de opções Filtros fornece ferramentas para modificá-la antes da construção da malha. Elas incluem:
- Blur — suaviza ruído ou transições abruptas
- Normalize (x, y, z) — reescala a imagem em cada direção
- Threshold — converte a imagem em uma máscara binária (exemplo mostrado acima)
- Rotate — rotaciona o padrão por ângulos fixos ou arbitrários
- Boundary — enfatiza ou extrai contornos dentro da imagem
Essas ferramentas permitem refinar mapas de altura, limpar imagens ruidosas ou manipular padrões antes de gerar a malha triangular final. A combinação de geradores de imagem e filtros fornece um fluxo de trabalho flexível para criar geometrias 3D complexas e personalizadas diretamente dentro do OghmaNano.
Importando de arquivos CAD
Além de gerar formas a partir de imagens 2D, o Editor de Formas também permite importar malhas 3D externas usando o botão Import CAD file mostrado na ??. O OghmaNano suporta o formato Wavefront OBJ, que é amplamente usado para armazenar malhas de superfície trianguladas. Você também encontrará no Banco de Dados de Formas um exemplo de um modelo CAD importado: o clássico Utah Teapot, mostrado na ??. Essa malha ilustra como modelos triangulados externos aparecem depois de importados para o editor.
Ao importar modelos CAD, é importante garantir que a malha forme uma superfície fechada. Uma superfície fechada é aquela em que cada aresta pertence exatamente a dois triângulos, produzindo um volume completamente selado e estanque. Superfícies abertas, faces ausentes ou fissuras levam a ambiguidades na determinação de se os pontos estão dentro ou fora do objeto, o que as torna inadequadas para simulação.
Malhas CAD são normalmente projetadas para usinagem e fabricação, não para simulação numérica. Como resultado, elas frequentemente contêm muito mais triângulos do que o necessário para modelagem óptica ou física. Uma grande contagem de triângulos aumenta significativamente o tempo de computação em ray tracing e outros solucionadores.
Para melhor desempenho, garanta que as malhas importadas:
- formem uma superfície totalmente fechada e estanque,
- contenham apenas a quantidade de triângulos necessária para representar a geometria, e
- tenham feições finas desnecessárias ou artefatos de usinagem removidos.
Seguir essas diretrizes ajudará a garantir que geometrias CAD importadas executem de forma eficiente dentro do OghmaNano.
O formato do arquivo de forma
Uma forma deve constituir um volume totalmente fechado. Se você usar o discretizador de formas integrado, essa condição é imposta automaticamente. No entanto, se você construir formas manualmente, deve garantir que o volume esteja fechado.
Cada diretório de forma contém os seguintes arquivos:
| Nome do arquivo | Descrição | |
|---|---|---|
| \(data.json\) | Dados de configuração da forma. | |
| \(image\_original.png\) | Backup da imagem importada. | |
| \(image\_out.png\) | A imagem processada final. | |
| \(image.png\) | A cópia de trabalho da imagem importada. | |
| \(shape.inp\) | A malha 3D discretizada da forma. |
Os arquivos PNG representam a imagem em diferentes estágios de processamento. O arquivo data.json armazena a
configuração do Editor de Formas, e o arquivo shape.inp contém a estrutura 3D do objeto.
Um exemplo de arquivo shape.inp é mostrado na
??.
O formato é projetado para que o gnuplot possa abri-lo diretamente usando o comando splot.
Cada triângulo é descrito por quatro pontos z, x, y: as três primeiras linhas definem o triângulo, e a
quarta repete o primeiro ponto para que o gnuplot possa plotar um contorno fechado. O número de triângulos no
arquivo é definido em uma linha que começa com #y.
As magnitudes exatas dos valores z, x, y não importam. Assim que a forma é carregada, todos os valores
são normalizados de modo que o ponto mínimo da forma fique em (0, 0, 0) e o ponto máximo fique em
(1, 1, 1). Quando a forma é inserida em uma cena, ela é renormalizada para o tamanho físico desejado
do objeto no dispositivo.
shape.inp. Cada triângulo é definido por quatro pontos z, x, y e pode ser
visualizado diretamente usando gnuplot.
👉 Próxima etapa: Para um exemplo prático de como gerar formas, veja o tutorial sobre o Banco de Dados de Formas e como criar formas 3D a partir de imagens em este link.