Skip to content

Implementation of ray-optics simulations for quantitative optical design in Blender.

License

Notifications You must be signed in to change notification settings

TobiasNils/Ray-Optics-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ray-optics Analyzer

Integration of ray-optics simulations for optical systems design in Blender. The raytracing algorithms implemented here are adaptations of the pyOpTools v0.1.1 code-base, the addon structure and visualization callblacks are based on Math Vis (Console).


pyOpTools

pyOpTools is a set of packages that allow the simulation of optical systems by raytracing as well as some calculations involving wavefronts, currently under development. It is written in Python and Cython, and is being developed by the technological development group of Combustión Ingenieros S.A.S, and the applied optics group of the Universidad Nacional de Colombia.

The pyOpTools is divided in several packages that contain the different library's functionalities:

pyoptools.raytrace

This package contains the classes and functions used to perform the simulation of optical systems using 3D non-sequential raytracing algorithms.

pyoptools.misc

This package contains miscellaneous classes and functions used by the other packages, but that can not be classified in any of them.


Requirements

(Based on experience on Linux Fedora Workstation 31)

  • pip3 install Cython --user
  • sudo dnf install python3-devel (python3-dev in debian)
  • cd path/to/this/repository/ && python3 setup.py install --user
  • pip3 install scipy --user <- check if really necessary for this implementation
  • pip3 install chaospy --user

Issues

Lightsources: Due to triangulation (square face gets divided by two) sources with uneven ray numbers come out short of rays

Todo

  • implement and benchmark multiprocessing for System.propagate()
  • Extend documentation
  • Clean up repository
  • Implement use of node-editor for material setup?

About

Implementation of ray-optics simulations for quantitative optical design in Blender.

Resources

License

Stars

Watchers

Forks

Packages

No packages published