카메라를 좋아하기 위해 렌즈 디자인의 시뮬레이션을 소개하다

개시하다


렌즈+프로그래머->광학 시뮬레이션
따라서 개방된 광학 시뮬레이션 프로그램 라이브러리opticspy의 소개입니다.
http://opticspy.org/
광학 시뮬레이션, ZEMAX OpticStudio 등 유료 물건이 있는데 공짜는 드문 것 같아요.
렌즈 구성도

스펙클 맵1

상차도2

내가 뭘 할 건데?
이외에도 광학 시스템 계산에 사용되는 코일 다항식과 파장과 위상차를 측정하는 간섭기에서도 사용할 수 있는 도안(광학에 관해서는 내가 문외한이기 때문에 그쪽은 건드리지 않았다).

컨디션

  • Python3.6
  • Jupyter Notebook
  • 가져오기


    PyPI라면왜냐하면 x용이 설치되어 있으니까.
    github Sterncat/opticspy부터 3.클론 x용
    # pip install git+git://github.com/Sterncat/opticspy.git@master
    
    하지만 이번 강좌는 완성할 수 없는 착오가 있다.
    수정 후 연기 요청이 제출되었으나 병합 전에 다음과 같은 내용을 사용하십시오.
    github HijiriIshi/opticspy
    Jupter Notebook은 루트에서 시작해야 합니다.
    # jupyter notebook --allow-root
    

    glass_데이터 베이스 정보


    유리 재료의 재질은 yml로 정의할 수 있다.
    기본 소재는 글래스입니다.데이터베이스 준비.
    하지만 집필할 때는 Sterncat/opticspy, 설치 패키지는 glass데이터베이스 없음.
    https://github.com/Sterncat/opticspy/tree/master/opticspy/ray_tracing/glass_database
    따라서 강좌를 진행하려면 창고에서 폴더를 복사해야 한다.
    위치는 패키지가 설치된 곳opticspy/ray_tracing/glass_database입니다.
    # pip show opticspy
    Name: opticspy
    Version: 0.2.1
    Summary: Python optics module
    Home-page: http://opticspy.org
    Author: Xing Fan
    Author-email: [email protected]
    License: MIT License
    Location: /usr/lib/python3.6/site-packages
    Requires: numpy, matplotlib, unwrap
    Required-by:
    
    위의 경우는 /usr/lib/python3.6/site-packages/opticspy/ray_tracing/glass_database입니다.
    이 자리 포기하면 안 돼요?이렇게 말하지만 참조 대상을 정의한 경우opticspy\opticspy\ray_tracing\glass_function\refractiveIndex.py는 수정 중이기 때문에 접촉이 없습니다.
    가방에 포함된 시비는 잠시 논하지 않고 Hijiri Ishi/opticspy에서glass데이터베이스 포함.

    렌즈 디자인 튜토리얼


    공식 사이트에서 강좌를 준비했습니다.
    광학 전문 용어가 포함돼 있어 설치가 용이하도록 리얼 레이 트랙킹 앤드 렌즈 디자인Example 1: Basic functions introduction의 도입부와 제목을 일본어로 번역했다.
    Opticspy는 분석뿐만 아니라 레이저 처리 모듈, 단초점 렌즈 디자인 모듈도 제공한다.
    1. 렌즈 면, 파장, 필드를 늘려 렌즈 시스템 구축
    2. 광선 추적, 렌즈 시스템 그리기
    3. 렌즈 시스템 분석: 광점도와 상차도(광영도)
    4. 시스템을 통한 지연
    5. ABCD 매트릭스 모듈의 Lens paraxial information(화상차가 발생하지 않는 이상적인 렌즈? 직역: 렌즈 근축 정보) 계산
    다음은 opticspy의 지연 모듈을 사용하여 최대 시각 20도의 F/5 삼중주3를 구축한 예이다.렌즈 시스템의 반점과 상차도를 표시합니다.
    1. 표면, 파장, 필드를 첨가하여 렌즈 시스템을 구축한다.
    2. 렌즈 시스템을 그리기 위해 지연 필터를 실행한다(우선, refresh_paraxial 함수를 통해 입사 렌즈의 위치를 찾아낸다4
    3. 렌즈 시스템 분석: 점도와 상차도
    Opticspy는 세 가지 추적 격자 제공
    *격자형: n개의 빛이 축을 따라 배열되어 입사 렌즈를 통과한다
    *원형: n개의 광선이 입사 렌즈를 통해 원환형으로 구성되어 있음
    * 무작위: n개의 빛이 입사 렌즈를 통해 무작위로 배열된다
    4. 시스템 지연: 사용자가 지연할 때(입사 렌즈에 비해) 사용자는 빛의 위치, 시야와 파장을 지정할 수 있다.출력 형식을 선택할 수 있으며 X, Y, Z 및 광선 방향을 지정하여 K, M, L 및 시작 및 끝 면을 출력할 수 있습니다.
    5. ABCD 매트릭스 모듈은 렌즈의 근축 정보를 계산한다. 이미지 위치, 유효한 초점 거리, 뒷면 초점 거리, 입사 렌즈의 위치와 직경, 출사 렌즈의 위치, 면 x에서 y까지의 초점 거리, 2면 사이의 두께 등이다.

    끝말


    Real ray tracking and Lens Design 관련 추가 자습서
    * Example 2: A double gauss lens example: Example1의 듀얼 가우스 버전
    *Example 3: Build a Petzval lens with codev seq file: 렌즈 구조를 정의합니다.seq 파일 읽기
    * Example 4: Build a microscope lens with codev seq file: Example3의 마이크로코드 버전
    자습서 사용.seq 파일이 여기.에 있습니다.
    참고 링크에는 유명한 렌즈로 구성된 사이트와 광학적 기초를 배울 수 있는 사이트를 소개하는 링크가 실렸다.
    다양한 장면을 만들어서 놀자!

    참조 링크

  • 옵티컬 엔트리
    옵티컬 통합 웹 사이트 - CYBERNET
  • 광학 용어집
    렌즈 디자인 광학 강좌-주식회사 렌즈 디자인 지원
  • 렌즈 구조 및 OpticStudio용 옵티컬 데이터 공개
    ○○○렌즈점: 업무용 단품 렌즈 디자인, 제조 ○○○-주식회사 렌즈점
  • 광원에서 영상면까지 여러 개의 광선 추적을 하고 영상면에서 빛이 도착하는 위치를 점도로 그렸다.시각적으로 집광도와 상차를 파악하기에 적합한 기하 광학 행위.(반점도: 광학 종합 사이트: 세바넷)  
    상차도를 보면 렌즈의 성능뿐만 아니라 희미한 맛도 대충 알 수 있다.(・구면상차와 수직상차도의 보기 방법: 무지개 색조의 선율)  
    3조 3장 사진 렌즈의 구성 방식
    개구멍 코일(광권면 참조)를 통해 물체 측의 광학 시스템으로 이루어진 개구멍 코일의 이미지를 입사 렌즈라고 한다.또한 물체 공간의 주광선을 원형으로 연장시켜 광축과 교차하는 위치가 입사 렌즈의 위치가 된다.(입사 렌즈: 광학 종합 사이트: 세바넷)  

    좋은 웹페이지 즐겨찾기