Exact geometrical optics including dispersion to learn and design optical instruments
Project description
Opticalpy - Optical raytracing in Python
This package in the making offers the possibility to create optical setup and visualize the light rays going through it.
It originated as a way to better understand how instruments in astronomy worked, and allow to design them for amateur scientific endeavours. However, this package can be used in very different fields !
What makes this package special ?
-
It allows for modeling setup that use dispersive elements (gratings, prism, grism), and soon will also take dispersion in lenses into account.
-
The optical elements geometry are described by parameterized curves allowing for exact interaction bewteen light rays and optical elements. This gives way better results than using discretized elements. To make this easy to use, each optical element is defined by one set of equations, that are automatically modified to place it where and in the orientation you want. The most common optical elements are already implemented, but you can add whatever you want with the method !
Installation
This package can be very easily installed using pip :
pip install opticalpy
Optical elements
This package integrates the following optical elements. The elements in italic aren't developed yet but should be added soon.
-
Mirror:
- Flat
- Parabolic
- Hyperbolic
- Spherical
-
Lens:
- Spherical
- Doublet
- Triplet
-
Dispersive:
- Reflection grating
- Transmission grating
- Prism
- Grism
-
Filter:
- Filter
- Dichroic
-
Camera
-
Telescopes
- Newtonian
- Cassegrain
- Ritchey-Chrétien
- Schmidt-Cassegrain
- Maksutov-Cassegrain
What's coming next ?
-
More elements:
- Materials for dispersive lenses
- Lenses arrangment (doublet, triplet...)
- Grisms
- More telescopes (Newtonian, Schmidt-Cassegrain, Maksutov-Cassegrain)
-
Making it easier to use:
- Documentation
-
Future version:
- 3D
References
- Telescopes formulas : Mike Lockwood, Amateur Telescope Making, http://loptics.com/ATM/index.html
- Optical properties of water : https://en.wikipedia.org/wiki/Optical_properties_of_water_and_ice
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file opticalpy-1.1.1.tar.gz
.
File metadata
- Download URL: opticalpy-1.1.1.tar.gz
- Upload date:
- Size: 50.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35df2f78fd1136ea116826de30312f811732bf8c7e3a0e69ca54ed5c55a1c90b |
|
MD5 | d0232eb7e45463cbbf9a983b6ff51860 |
|
BLAKE2b-256 | 2657add766c78d41e9e08658a0e89eb336a3b72258ad2d5bcab60b256e0c1e56 |
File details
Details for the file opticalpy-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: opticalpy-1.1.1-py3-none-any.whl
- Upload date:
- Size: 41.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 507b5613c7ebc32a1544d4b11110414e3df83538b0f8524787c1149f3376436f |
|
MD5 | 4de6372d0617f498795f30fdaa467914 |
|
BLAKE2b-256 | ec87809cb5e08f56aa370f40bbd457567ce59c63f8ea15e60323f89615613e8d |