Some minor changes in the FAQ authored by joha2's avatar joha2
......@@ -108,42 +108,6 @@ pyrateoptics.listOptimizableVariables(opticalsystem, max_line_width=75)
pyrateoptics.draw(opticalsystem, rays)
# This function can get a list of raypath argument to draw rays.
```
# Some Impressions
![grin_1](https://user-images.githubusercontent.com/12564815/40586439-3adda2f0-61c2-11e8-89b7-ee88b96ff7d4.png)
![grin_2](https://user-images.githubusercontent.com/12564815/40586440-3b027a80-61c2-11e8-89b3-01572ace57e3.png)
![grin_spot](https://user-images.githubusercontent.com/12564815/40586441-3b23f1d8-61c2-11e8-87e6-e17fec4490fb.png)
An optimized plano-plano GRIN lens with 1.6 micron RMS centroid spot radius.
![Achromat](https://cloud.githubusercontent.com/assets/12564815/24765016/89a5d27c-1af6-11e7-9eb7-92d9687486c0.png)
An achromat.
![Mirrors with pilot rays](https://cloud.githubusercontent.com/assets/12564815/24765015/896ec6ba-1af6-11e7-85e5-87b29012d8b9.png)
Mirror system with pilot rays.
![Pyrate system with 100 circular field points](https://cloud.githubusercontent.com/assets/12564815/21287091/7c56f076-c464-11e6-9cf9-5d623be63db6.png)
Circular field sampling in FreeCAD Gui.
![pyrate_mirrors_comp_parabasal_exact](https://cloud.githubusercontent.com/assets/12564815/24820302/9b8cf4a0-1be8-11e7-8d8b-de0184587145.png)
Comparison of real raytrace (blue) with parabasal raytrace (orange).
![Prism](https://cloud.githubusercontent.com/assets/12564815/24831016/aedcb9d8-1c91-11e7-9ee1-2dcf4f3365b2.png)
Equal sided prism with blue and red light being dispersed.
![Isotropic GRIN medium](https://cloud.githubusercontent.com/assets/12564815/24837010/87ed06ae-1d2a-11e7-8794-bab44d618e4b.png)
Grin material with coordinate system tilted against global coordinate system.
![Rainbow Droplet](https://user-images.githubusercontent.com/12564815/28295078-7fcfed9c-6b5e-11e7-8710-13fce405dfe0.png)
Water droplet which bends the light of different wavelengths differently in order to create a rainbow.
The material data was obtained from https://refractiveindex.info by Mikhail N. Polyanskiy.
# Frequently Asked Questions
......@@ -165,7 +129,9 @@ https://github.com/mess42/pyrate/issues/142
The FreeCAD interface has more or less the status of a mockup and is broken since the last large refactoring in 2017. Until now there is no good idea about getting a not-so-tight coupling between FreeCAD classes and pyrate classes. Since the API is not quite settled it is really difficult to start with a full fledged FreeCAD interface without rewriting all the stuff when there is a slight API change appearing. All ideas here are appreciated. If you are interested in digging into the matter, please have a look in the `freecad/PyrateWorkbench` directory.
https://github.com/mess42/pyrate/issues/136
https://github.com/mess42/pyrate/issues/134
https://github.com/mess42/pyrate/issues/91
## How does the optimizer work?
......@@ -175,19 +141,60 @@ The optimizer decomposes in backend and frontend whereas the backend determines
There were several discussions on that in the following issues:
https://github.com/mess42/pyrate/issues/140
https://github.com/mess42/pyrate/issues/137
## How to create a full sphere lens?
Since the `Conic` surface solves the ray intersection equation analytically and the two intersection points in a sphere correspond to the two roots of the quadratic equation, one cannot properly use two subsequent `Conic`s and expect a proper raytracing. In issue XX and our own research, we came up with a few workarounds:
Since the `Conic` surface solves the ray intersection equation analytically and the two intersection points in a sphere correspond to the two roots of the quadratic equation, one cannot properly use two subsequent `Conic`s and expect a proper raytracing. In one issue and our own research, we came up with a few workarounds:
* use a slightly deformed second surface (introduce radius deviation or slight conic const) -> this is no optimal solution when you need an exact sphere
* *use an intermediate plano surface* (this is the most reliable solution without any downsides)
* use the `Asphere` type surface to avoid the quadratic analytical solution problem and use a numerical solver instead
* use an intermediate plano surface (this is the most reliable solution without any downsides)
* use a slightly deformed second surface (introduce radius deviation or slight conic const) -> this is no optimal solution when you need an exact sphere
https://github.com/mess42/pyrate/issues/149
https://github.com/mess42/pyrate/issues/50
# Some Impressions
![grin_1](https://user-images.githubusercontent.com/12564815/40586439-3adda2f0-61c2-11e8-89b7-ee88b96ff7d4.png)
![grin_2](https://user-images.githubusercontent.com/12564815/40586440-3b027a80-61c2-11e8-89b3-01572ace57e3.png)
![grin_spot](https://user-images.githubusercontent.com/12564815/40586441-3b23f1d8-61c2-11e8-87e6-e17fec4490fb.png)
An optimized plano-plano GRIN lens with 1.6 micron RMS centroid spot radius.
![Achromat](https://cloud.githubusercontent.com/assets/12564815/24765016/89a5d27c-1af6-11e7-9eb7-92d9687486c0.png)
An achromat.
![Mirrors with pilot rays](https://cloud.githubusercontent.com/assets/12564815/24765015/896ec6ba-1af6-11e7-85e5-87b29012d8b9.png)
Mirror system with pilot rays.
![Pyrate system with 100 circular field points](https://cloud.githubusercontent.com/assets/12564815/21287091/7c56f076-c464-11e6-9cf9-5d623be63db6.png)
Circular field sampling in FreeCAD Gui.
![pyrate_mirrors_comp_parabasal_exact](https://cloud.githubusercontent.com/assets/12564815/24820302/9b8cf4a0-1be8-11e7-8d8b-de0184587145.png)
Comparison of real raytrace (blue) with parabasal raytrace (orange).
![Prism](https://cloud.githubusercontent.com/assets/12564815/24831016/aedcb9d8-1c91-11e7-9ee1-2dcf4f3365b2.png)
Equal sided prism with blue and red light being dispersed.
![Isotropic GRIN medium](https://cloud.githubusercontent.com/assets/12564815/24837010/87ed06ae-1d2a-11e7-8794-bab44d618e4b.png)
Grin material with coordinate system tilted against global coordinate system.
![Rainbow Droplet](https://user-images.githubusercontent.com/12564815/28295078-7fcfed9c-6b5e-11e7-8710-13fce405dfe0.png)
Water droplet which bends the light of different wavelengths differently in order to create a rainbow.
The material data was obtained from https://refractiveindex.info by Mikhail N. Polyanskiy.
# Formulas
If you want to use formulas in issues or wikis, then the following example would be useful:
......
......