brandondube / prysm

physical optics: integrated modeling, phase retrieval, segmented systems, polynomials and fitting, sequential raytracing...
https://prysm.readthedocs.io/en/stable/
MIT License
268 stars 46 forks source link

Finite Apertures (ray clipping) #75

Closed brandondube closed 2 years ago

brandondube commented 2 years ago

The raytracing module should support clipping or finite apertures. There is interaction between this and #68, since an aperture limit on a surface would be relevant to how the surface is drawn in a plot.

I'm not sure at the outset what the best way to support apertures is. It may be that each surface should include a function which defines the aperture (so, partial(circle, r=aperture_radius) would be the most common). Or simple rmin/rmax, xmin/xmax to draw simple apertures.

brandondube commented 2 years ago

minimal implementation with inner and outer semidiameters is done