예제 스크린샷 사용자 매뉴얼 Bluesky 로고 YouTube
OghmaNano 유기/페로브스카이트 태양전지, OFET 및 OLED 시뮬레이션 다운로드

형상 데이터베이스 튜토리얼 (파트 B): 2D 이미지와 메시 생성

파트 A에서는 형상 데이터베이스에 새 항목을 만들고 간단한 포토닉 크리스털 스타일 패턴에서 첫 번째 메시를 생성했습니다. 이번 파트에서는 이러한 2D 이미지가 처음에 어떻게 생성되는지, 그리고 어떻게 광선 추적 및 소자 시뮬레이션에 유용한 3D 구조로 변환되는지에 초점을 맞춥니다.

형상 데이터베이스는 단순한 해석 함수로 설명하기 어려운 기하 구조를 위한 것입니다: AFM 이미지, 거친 계면, 복잡한 타일링과 메시, 그리고 가져온 CAD 부품까지 포함됩니다. 이 모든 것은 2D 이미지에서 시작하여 이를 3D로 압출하는 일관된 방식으로 처리됩니다.

1. 2D Image 리본

데이터베이스의 아무 항목이나(예를 들어 파트 A의 demo 형상) 형상 편집기에서 열고 2D Image 리본으로 전환합니다. 그러면 ??와 유사한 도구 모음을 볼 수 있습니다.

Image, Generate Honeycomb, Generate Xtal, Generate lens, Generate Gaussian, Saw wave, Checkerboard, Perlin noise 버튼이 표시된 2D Image 리본.
2D Image 리본. 각 생성기는 3D로 압출할 수 있는 새 그레이스케일 이미지를 만듭니다.

각 버튼은 형상 편집기 오른쪽 패널에 새로운 그레이스케일 높이 맵을 생성합니다: 허니컴, 포토닉 크리스털(Generate Xtal로 표시됨), 렌즈형 프로파일, Gaussian 스폿, saw wave, checkerboard 패턴 또는 Perlin-noise 거친 표면입니다. 버튼을 클릭할 때마다 현재 설정으로 이미지가 다시 생성됩니다.

각 생성기 아래에는 작은 화살표도 있습니다. 이것을 클릭하면 해당 패턴에 특화된 Configure 창이 열립니다. 아래에서 몇 가지 구체적인 예를 보겠습니다.

합성 이미지에만 제한되지는 않습니다. 왼쪽의 Image 버튼을 사용하면 실제 AFM 데이터나 다른 비트맵을 가져올 수 있습니다. 이산화 도구는 이미지를 높이 맵으로 해석합니다: 흰색 픽셀은 최대 높이, 검은색 픽셀은 최소 높이에 해당하며, 중간 회색은 중간 높이를 만듭니다. 최상의 결과를 위해 AFM 데이터는 선형 그레이스케일 색상 스케일로 변환해야 합니다. 색이 있는 “히트맵” 팔레트는 밝기가 더 이상 단순한 방식으로 높이를 인코딩하지 않기 때문에 적합하지 않습니다.

마지막으로 오른쪽 이미지에서 마우스 왼쪽 버튼을 클릭하면 픽셀을 검게 “칠해” 재료를 제거할 수 있습니다. 이는 전체 패턴을 다시 생성하지 않고도 원하지 않는 영역을 잘라내거나 개구를 만드는 쉬운 방법입니다.

2. 예제: 허니컴 접촉 패턴

허니컴 구조는 투명 접촉, 유연한 전도성 메시 또는 기계적 지지체로 유용합니다. 이를 생성하려면 Generate Honeycomb를 클릭합니다. 그러면 오른쪽 패널이 육각 격자로 업데이트됩니다. Build Mesh를 클릭하면 패턴이 ??에 표시된 것처럼 3D 구조로 압출됩니다.

형상 편집기의 허니컴 패턴과 그에 대응하는 3D 메시.
2D Image 리본에서 생성되어 3D로 압출된 허니컴 패턴.
dx, dy, shift, 선폭, 회전이 표시된 허니컴 설정 창.
허니컴 설정 옵션. 픽셀 단위로 간격, 오프셋, 선폭 및 회전을 조정할 수 있습니다.

설정 창에서는 x 및 y 방향의 특성 간격을 변경하고, 기본 격자에 대해 패턴을 이동시키고, 선폭을 설정하고, 패턴을 회전시킬 수 있습니다. 여기서의 작은 조정이 메시가 소자 구조에 맞는 방식에 큰 차이를 만들 수 있으므로 조금 실험해 볼 가치가 있습니다.

2D 패턴이 만족스러우면 Build Mesh를 다시 눌러 3D 보기를 업데이트합니다. 메시가 지나치게 복잡해 보이면 Edit mesh를 클릭하여 삼각형 수를 줄일 수 있습니다. 목표는 항상 기하 구조를 충실하게 유지하면서도 가장 적은 삼각형을 사용하는 것입니다. 추가되는 प्रत्येक 삼각형은 광선 추적 비용을 증가시키며, 실제로는 속도 저하가 보통 선형이 아니라 초선형입니다.

3. 예제: Perlin noise를 이용한 AFM 유사 거칠기

실제 계면은 종종 거칠며, 빠른 광학 실험을 위해 유사한 통계를 가지는 “가짜 AFM” 표면을 생성할 수 있으면 유용합니다. OghmaNano는 컴퓨터 그래픽에서 흔히 사용되는 부드러운 랜덤 필드인 Perlin noise (Wikipedia 참조)를 사용하여 이러한 거동을 모사합니다.

2D Image 리본에서 Perlin noise를 클릭합니다. 그러면 오른쪽 패널에 그레이스케일 노이즈 패턴이 나타납니다. 드롭다운 설정 메뉴를 통해 노이즈 매개변수를 조정하고 아이콘을 다시 클릭하여 원하는 유형의 거칠기를 얻을 때까지 다시 생성할 수 있습니다.

불규칙한 삼각형 감소가 적용된 Perlin noise 이미지와 메시.
노드 감소가 활성화된 Perlin-noise 생성 표면. 삼각형 밀도는 국소 곡률에 맞게 조정됩니다.
정규 삼각 격자로 메시가 생성된 Perlin noise 표면.
정규 격자(노드 감소 없음)로 메시 생성된 동일한 표면. 이는 AFM 스타일 데이터에 자주 적합한 선택입니다.

패턴을 선택한 후 Build Mesh를 눌러 3D 표면을 생성합니다. AFM 유사 구조의 경우 기본 노드 감소 알고리즘보다 정규 메시를 사용하는 것이 더 나은 경우가 많습니다. 정규 격자는 표면 높이를 보다 균일하게 샘플링하고 전체 삼각형 수를 제어하기 쉽게 만듭니다. 이러한 옵션은 Edit mesh 대화상자에서 전환할 수 있으며, 충실도와 속도 사이에서 좋은 절충에 도달할 때까지 다양한 삼각형 해상도를 실험할 수 있습니다.

4. Filters를 사용한 후처리

2D 이미지가 생성된 후에는 ??에 표시된 Filters 리본을 사용하여 이를 더 정제할 수 있습니다. 이러한 도구는 메시 생성 전에 오른쪽 이미지에 직접 작용합니다.

blur, Normalize y, Normalize z, Threshold, Rotate, Boundary 도구를 보여주는 Filters 리본.
이미지 처리 필터. 이는 메시 생성 전에 높이 맵을 수정합니다.

Blur 필터는 날카로운 계단과 모서리를 부드럽게 만들고, Normalize 옵션은 높이 분포를 제어된 범위로 재조정하며, Threshold는 그레이스케일 패턴을 이진 구조로 바꿀 수 있고, Boundary는 패턴 주위에 단단한 경계를 추가할 수 있습니다. 이 모든 것은 기본 이미지에 작용하므로 자유롭게 조합한 뒤 Build Mesh를 눌러 3D 표면에 미치는 효과를 볼 수 있습니다.

구체적인 예로, Saw wave 버튼으로 생성한 saw-wave 패턴에서 시작합니다. 메시를 생성한 후에는 ??와 유사한 결과를 볼 수 있습니다. blur 필터를 적용하면 가장자리가 부드러워져 ??와 같은 더 매끄러운 표면이 생성됩니다.

saw-wave 생성 패턴과 그 3D 메시.
3D로 압출된 saw-wave 패턴. 기본 이미지는 날카로운 삼각형 능선을 보여줍니다.
blur가 적용된 saw-wave 패턴과 부드러워진 3D 메시.
blur 필터를 적용한 동일한 패턴. 능선이 더 부드러워지고 메시가 광학 계산에 더 적합해집니다.

일반적인 전략은 항상 같습니다. 2D 이미지를 생성하거나 가져오고, 필요한 필터를 적용한 다음, 메시를 다시 생성합니다. 생성된 메시가 여전히 너무 무겁게 느껴진다면 Edit mesh를 사용하여 표면의 핵심 특징을 유지하면서 삼각형 수를 줄이십시오.

5. CAD 파일 가져오기 (Wavefront OBJ)

이미지 기반 형상뿐 아니라 OghmaNano는 Wavefront OBJ 형식 (Wikipedia 링크)을 통해 간단한 CAD 모델도 가져올 수 있습니다. 이는 이미 외부 CAD 패키지에서 기계 설계나 렌즈 기하 구조를 정의해 둔 경우에 유용합니다.

CAD 모델을 가져오려면 형상 편집기 왼쪽 상단의 Import CAD file을 클릭하고 OBJ 파일을 선택합니다. 파서는 주로 정점 및 면 정의로 이루어진 형식의 일반 텍스트 버전을 지원합니다. 다른 CAD 형식은 현재 인식되지 않습니다.

CAD 기하 구조를 가져올 때는 삼각형 수를 제어하는 것이 특히 중요합니다. 수만 개의 삼각형을 가진 매우 상세한 OBJ는 시각화에는 전혀 문제가 없을 수 있지만, 광선 추적에는 매우 느리며 전체 시뮬레이션의 실행 시간을 쉽게 지배할 수 있습니다. 가능하다면 OghmaNano로 가져오기 전에 CAD 도구에서 메시를 단순화하거나 decimation하십시오.

6. 닫힌 표면에 대한 참고

형상이 2D 이미지에서 오든 가져온 CAD 파일에서 오든 관계없이, OghmaNano에서 사용하는 모든 형상은 닫힌 표면으로 처리됩니다. 비공식적으로 말하면 표면이 닫혀 있다는 것은 구멍이나 틈 없이 하나의 부피를 완전히 둘러싼다는 뜻입니다. 메시 용어로는, 메시의 모든 모서리가 정확히 두 개의 삼각형에 속해야 합니다.

이러한 요구 사항의 이유는 광학 솔버가 광선이 구조의 “안쪽”에 있는지 “바깥쪽”에 있는지를 모호함 없이 알아야 하기 때문입니다. 메시가 열린 모서리, 누락된 면 또는 자기 교차를 가지면, 광선이 틈을 통해 새어나가거나 정의가 불명확한 영역에 갇힐 수 있습니다. 이는 수치적 아티팩트를 초래하거나 심지어 광선 추적기를 실패하게 만들 수 있습니다.

2D 이미지에서 생성된 메시는 항상 구성상 닫혀 있습니다. 바닥 평면과 측벽이 자동으로 추가되기 때문입니다. 그러나 CAD 가져오기는 원본 파일의 품질에 달려 있습니다. CAD에서 파생된 형상에 문제가 생기면 CAD 뷰어에서 해당 객체가 वास्तव로 밀봉된 셸을 이루는지 확인하고, 필요하다면 OghmaNano에서 사용하기 전에 이를 수리하는 것이 좋습니다.