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 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.
(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 implementationpip3 install chaospy --user
Lightsources: Due to triangulation (square face gets divided by two) sources with uneven ray numbers come out short of rays
- implement and benchmark multiprocessing for System.propagate()
- Extend documentation
- Clean up repository
- Implement use of node-editor for material setup?