200 mm 단렌즈 튜토리얼 (Part A): 로드, 검사 및 기준 광선 추적 실행
1. 소개
단렌즈는 초점 거리가 고정된 렌즈로, 초점 거리가 연속적으로 변하는 줌 렌즈와 대조됩니다 (참조: ??). 단렌즈는 사진 및 이미징 시스템에서 널리 사용되는데, 그 이유는 하나의 초점 거리를 중심으로 설계를 최적화할 수 있기 때문입니다. 유사한 사양의 줌 렌즈와 비교하면 단렌즈는 대개 광학적으로 더 단순하고, 일반적으로 더 넓은 사용 가능 개구를 지원하며, 같은 크기와 비용에서 더 깨끗한 비축 성능을 제공할 수 있습니다. 이 튜토리얼에서는 200 mm 단렌즈를 기하 중심의 “광선 읽기” 연습으로 사용합니다. 목표는 merit function이 아니라, 잘못된 stop 배치, 의도하지 않은 clipping, 잘못 배치된 detector plane을 빠르게 식별하는 방법을 배우는 것입니다.
이 튜토리얼에서는 200 mm 단렌즈를 사용하여 다중 요소 사진용 렌즈를 3D에서 검사하고, 기준 광선 추적을 실행하며, 출력을 정성적으로 해석하는 방법을 보여줍니다. 목표는 merit function으로 렌즈를 “평가”하는 것이 아니라, 기하 구조와 광선 경로를 읽는 법을 배워 clipping, stop의 오배치, 비축 민감도를 빠르게 찾아내는 것입니다.
이 튜토리얼의 워크플로는 전문 광학 설계의 표준 관행을 반영합니다: 최적화나 정량적 merit function을 도입하기 전에, 렌즈 모델은 먼저 광선 경로, stop 배치, 검출기 거동을 검사하여 기하학적으로 검증됩니다. 모델이 이러한 검사를 통과하지 못하면, 수치적 메트릭은 의미가 없습니다.
2. 200 mm 단렌즈 예제 로드
메인 창에서 New simulation을 클릭합니다. 그러면 시뮬레이션 라이브러리가 열립니다 (??). Ray tracing을 더블클릭하여 광학 예제로 들어간 뒤 (??), Prime 200mm lens (또는 200mm prime lens)를 선택하고 작업 디렉터리 (예: 홈 폴더)를 선택합니다.
3. 3D 장면에서 방향 잡기 및 기준 광선 추적 실행
로드 후에는 Optical Workbench가 ??와 유사한 보기로 열려야 합니다. 광학 축은 왼쪽에서 오른쪽으로 진행합니다. 왼쪽에는 하나 이상의 광원 (녹색), 가운데에는 렌즈 요소 (색이 있는 유리 표면), 오른쪽에는 검출기 평면 (보라색)이 보여야 합니다.
이 설계는 “전면 광학계”와 검출기 근처의 “후면 섹션”으로 생각할 수 있습니다: Part A에서 핵심은 단순히 (i) 주요 렌즈 요소, (ii) aperture/stop 객체, (iii) detector plane을 식별하는 것입니다. (참고로: 이 데모가 기반으로 하는 공개된 telephoto 설계에서는 이동 가능한 objective section과 필름/센서 평면에 대해 고정된 후면 보정 요소를 사용합니다.)
마우스를 사용하여 탐색합니다. 검은 배경에서 드래그하여 보기를 회전하고 요소 간격을 검사합니다. 목표는 실행 전에 stop과 detector를 시각적으로 자신 있게 찾을 수 있도록 하는 것입니다.
Run simulation을 클릭합니다(메인 툴바의 파란 삼각형). 실행이 완료되면 광원이 광선을 방출하여 전체 렌즈 스택을 통과하고 검출기 평면에 도달하는 모습이 보여야 합니다 (참조: ??).
4. 주요 출력 찾기 및 열기
Output 탭으로 전환합니다. detector 폴더(일반적으로 detector0)와
관련 광선 추적 출력이 보여야 합니다 (예:
??).
각 detector는 자체 출력 디렉터리를 가집니다: detector0를 엽니다
(이것은 “camera/CCD” 아이콘으로 표시됩니다).
detector0를 더블클릭합니다.
detector0 내부. RAY_image.csv를 엽니다.
detector0를 연 후에는 RAY_image.csv를 포함한 파일들이 보일 것입니다
(예:
??).
RAY_image.csv를 더블클릭하여 detector image를 봅니다.
실제 카메라에서 이 detector plane은 sensor/film plane에 해당합니다. 즉, 현대 디지털 카메라에서는
이 이미지가 그 평면에 놓인 CMOS/CCD 센서에 형성됩니다.
빠른 초점 sanity-check (detector plane 이동)
직관을 빠르게 얻는 가장 쉬운 방법은 렌즈 요소를 움직이는 대신 detector plane을 이동하는 것입니다. 개념적으로 이것은 센서를 렌즈에 대해 앞뒤로 움직이면서 blur가 어떻게 변하는지 관찰하는 것과 같습니다. 목표는 detector에서 가장 작은 스폿을 주는 위치를 찾는 것입니다(눈으로 판단).
먼저 화면 치수를 활성화합니다. 검은 배경에서 오른쪽 클릭한 후 View를 선택하고
Show dimensions를 활성화합니다 (참조:
??).
이제 객체의 x/y/z 위치와 두께/길이(dx 등)가
표시되어야 합니다.
이제 detector plane을 광학 축을 따라 앞뒤로 이동시키고 스폿이 어떻게 변하는지 관찰합니다. 명확한 시연을 위해 극단적인 위치(명백히 너무 앞으로, 그 다음 명백히 너무 뒤로)로 이동시킨 뒤, 스폿이 가장 작아지는 위치를 찾습니다. 각 변경 후 시뮬레이션을 다시 실행할 수도 있고, (빠른 정성적 점검을 위해) 단순히 detector plane에서 광선 교차 위치가 어떻게 이동하는지를 관찰할 수도 있습니다.
“최적 초점”이란 가장 작은 스폿을 주는 위치입니까? 이 튜토리얼에서는 그렇습니다 - 최소 footprint를 최적 초점 조건으로 취급하십시오. (나중에는 RMS 스폿 반경 같은 메트릭이 바로 이 개념을 형식화하지만, 기하 중심 워크플로를 배우는 데 그것들이 필요하지는 않습니다.)
“센서-마지막 요소 거리”의 수치 값을 원하면 화면 기하 정보에서 직접 추정할 수 있습니다:
마지막 렌즈 요소의 x 좌표(기준 위치)를 읽고, 그 두께 dx를 더한 뒤,
detector plane의 x 좌표에서 빼십시오. 그러면 마지막 요소의 후면 표면과 detector plane 사이의
대략적인 간격을 얻을 수 있습니다. 시각적으로 최적 초점으로 보이는 위치에서 이 값을 다시 계산하여 기록합니다.
이제 할 수 있는 것 (Part A)
- 로드 및 탐색: Optical Workbench에서 200 mm 단렌즈 데모를 로드하고 탐색할 수 있습니다.
- 기준 광선 추적 실행: 광선이 detector plane에 도달하는지 확인할 수 있습니다.
- 출력 열기:
detector0/RAY_image.csv를 열어 빠른 sanity check를 수행할 수 있습니다. - 눈으로 최적 초점 찾기: detector plane을 이동시키고 최소 스폿을 찾아 최적 초점을 식별할 수 있습니다.
출력이 “잘못” 보일 때의 일반 점검 사항
- detector plane이 렌즈 그룹 뒤에 있고 빔을 향하고 있는지 확인하십시오.
- 3D 보기가 지나치게 복잡해지면 광선 밀도를 줄이십시오.
- 올바른 detector 폴더(3D 장면의 magenta plane)를 열었는지 확인하십시오.
- detector를 움직여도 스폿 크기가 전혀 바뀌지 않으면, 광선이 실제로 detector와 교차하는지 다시 확인하십시오.
👉 다음 단계: Part B로 계속 진행하여 주광선과 주변광선을 식별하고, clipping/vignetting을 눈으로 진단하며, “pre-metric” 렌즈 sanity-check 워크플로를 구축하십시오.